Oracle第三章——SQL语言
SQL语言是高级的结构化查询语言,大大减轻了用户的负担。目前查询语言分为四种,数据定义语言(DDL)、数据操纵语言(DML)、
事务控制语言(TCL)、数据控制语言(DCL)。
一、数据定义语言(DDL)
1、CREATE
CREATE命令用于创建模式对象,如创建表的格式为:CREATE TABLE [schema.]table (column datatype [, column datatype]);,其中,
schema是对象的持有者,即用户对应的模式,如果在用户自己的模式中创建则可以不指定,table是表名,column是列名,datatype是数据类型。
2、ALTER
ALTER命令用于更改模式对象,如更改表的格式为:ALTER TABLE [schema.]table add (column datatype [, column datatype]);,
关键字的意义与CREATE命令相同。
3、DROP
DROP命令用于删除模式对象,如删除表的格式为:DROP TABLE table;。
4、TRUNCATE
TRUNCATE命令用于截断表的内容,格式为:TRUNCATE TABLE table;。(TRUNCATE命令与DELETE命令的区别在介绍DELETE命令时说明)。
二、数据操纵语言(DML)
1、INSERT
INSERT命令用于向表中添加数据,格式为:INSERT INTO table(column[,column]) VALUES (value,[value]);,其中,table为表名,
column为列名,value为值,值与列要对应,列名可不写,不写默认按照表中列的顺序添加值。
2、DELETE
DELETE命令用于删除表中的数据,格式为:DELETE table [WHERE 条件];,WHERE后面为条件,可以有多个。DELETE与TRUNCATE命令的
区别:DELETE命令可根据条件删除数据,删除数据会记录日志,TRUNCATE命令删除全表数据,删除数据不会记录日志,因而,在删除全表数据
时,TRUNCATE命令速度较快,更节省资源,但是,因为不记录日志,删除的数据无法找回,使用需谨慎。
3、UPDATE
UPDTE命令用于修改表中的数据,格式为:UPDATE table SET column=value[,column=value] [WHERE 条件];。
4、SELECT
SELECT命令用于查询表中的数据,格式为:SELECT column[,column] FROM table [WHERE 条件];
三、事务控制语言(TCL)
1、COMMIT
COMMIT命令用于提交事务,格式为:COMMIT;,提交事务会把对数据库的修改永久保存。
2、SAVEPOINT
SAVEPOINT命令用于设置保存点,格式为:SAVEPOINT <Savepoint_name>;,其中Savepoint_name是保存点的名字。
3、ROLLBACK
ROLLBACK命令用于回滚事务,格式为:ROLLBACK [TO <Savepoint_name>];,不写保存点的名字会回滚整个事务,写了会回滚到保存点,
回滚会把对数据库的修改撤销。
(事务控制语言详细请查看http://www.cnblogs.com/shangshan/p/6380019.html)
四、数据控制语言(DCL)
1、GRANT
GRANT命令用于授予用户某种权限或角色,格式为:GRANT 权限|角色 TO 用户名;,GRANT命令将使用户具有某种权限或角色。
2、REVOKE
REVOKE命令用于撤销用户的某种权限或角色,格式为:REVOKE 权限|角色 FROM 用户名;,REVOKE命令将使用户不再具有某种权限或角色。