Oracle中的SQL
SQL 结构化查询语言
分类:
DDL:数据定义语言
常用语句:
Create table 创建数据库表
Create index 创建数据库表的索引
Drop table 删除数据库表
Drop index 删除数据库表的索引
Truncate 删除表中的所有行
Alter table 更改表结构,增加,修改,删除列。
Alter table add constraint 在已有的表上增加约束
DML: 数据操作语言
常用语句:
Insert
Update
Delete
Select
DCL: 数据控制语言
常用语句:
Grant
Revoke
Lock
TCL: 事务控制语言
常用语句:
Commit 提交事务
Rollback 事务处理回退
Savepoint 设置保存点
事务
事务可以看做是由对数据库的若干操作组成的一个单元,这些操作要么都完成,要么都取消,从而保证数据满足一致性的要求。
**事务组成:**一条或多条DML 或 一条DDL 或 一条DCL
事务特性: 原子性 一致性 隔离性 持久性
DML语句需要使用COMMT提交事务或者使用ROLLBACK回滚事务
DDL和DCL是自动提交事务的
为何使用事务:保证数据的安全有效
当执行事务的操作(DML语句)时,oracle会在被作用表上加表锁,以防止其他用户改变表结构;同时会在被作用行上加行锁,以防止其他事务在相应行上执行DML操作。
事务的控制命令
a.提交事务(COMMIT)
通过COMIT语句可以提交事务,当执行了COMMIT语句后,会确认事务的变化、
结束事务、删除保存点、释放锁。
当使用COMMIT语句结束事务之后,其他会话将可以查看到事务变化后的新数据。
b.回滚事务(ROLLBACK)
ROLLBACK只能对未提交的数据撤销,已经commit的数据是无法撤销的,因为
commit之后已经持久化到数据库。
c.保存点(SAVEPOINT)
是事务中的一点,用于取消部分事务,当结束事务时,会自动的删除该事务所定义的保存点。当执行ROLLBACK时,通过指定的保存点可以回退到指定的点。
设置保存点:SAVEPOINT a;
回滚部分事务:ROLLBACK TO a;
回滚全部事务:ROLLBACK;
数据字典
定义:数据字典是oracle存放有关数据库信息的地方,其用途是用来描述数据的。数据库数据字典是一组表和视图结构。
数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。
作用:通过数据字典,是我们了解数据库内部的信息。当用户在对数据库中的数据进行操作时遇到苦难就可以访问数据字典来查看详细的信息。
oracle中常用的数据字典:分为三类,以三种前缀开头
user_* : 存储了关于当前用户所拥有的对象的信息(即所有在该用户模式下的对象)。
all_* : 存储了当前用户能够访问的对象的信息(与user_*相比,其不需要拥有该对象,只需要具有访问该对象的权限即可)
dba_* : 存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权
限,一般来说必须具有管理员权限)