SQL语句的分类
1.1 通用分类
SQL(Structure Query Language):结构化查询语言
DDL:数据定义语言:定义数据库,数据表的结构,自动提交事务:create(创建)、drop(删除)、alter(修改)、truncate(删除数据内容)
DML:数据操纵语言:主要是用来操作数据:insert(插入)、update(修改)、delete(删除)、merge(合并新旧数据)
DCL:数据控制语言:定义访问权限,取消权限,安全设置:grant(执行权限授予)、remove(权限回收操作)
DQL:数据查询语言:select(查询)、from(子句)、where(子句)
1.2 oracle 数据库独有的分类
TCL:事物控制语言:维护数据的一致性
commit:确认和提交已经进行的数据库改变
rollback:撤销已经控模型的数据库的改变
savepoint:设置保存点,取消部分数据库改变
rollback to savepoint:rollback会结束一个事物,而这个命令不会
set transaction:设置一个事物的属性(事物的隔离级别)
oracle 默认级别为:read committed 提交读
set constraint:在每个DML语句之后或事物提交之后,执行可延迟完整性的约束检查
SCS:会话控制语句
alter session:改变当前会话设置
set role:启用和禁用角色
alter system:更改系统设置(不会隐式提交当前事物)
ESS:嵌入式SQL语句
OPEN、CLOSE、CONNECT、DESCRIBE、WHENEVER、PREPARE、EXECUTE、FETCH
定义、分配、和释放游标(DECLARE CURSOR、OPEN、CLOSE
指定一个数据库,并连接到该数据库:DECLARE DATABASE、CONNECT
初始化描述符:DESCRIBE
指定如何处理错误和警告:WHENEVE
分析并运行SQL 语句:PREPARE、EXECUTE、EXECUTE IMMEDIATE
从数据库中检索数据:FETCH