1.事务
事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作。这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行。
事务是一个不可分割的工作逻辑单元。
例如:
银行转账过程就是一个事务。它需要两条UPDATE语句来完成,这两条语句是一个整体,如果其中任一条出现错误,则整个转账业务也应取消,两个账户中的余额应恢复到原来的数
据
事务必须具备以下四个属性,简称ACID 属性:
原子性(Atomicity):事务是一个完整的操作。事务的各步操作是不可分的(原子的);要么都执行,要么都不执行
一致性(Consistency):当事务完成时,数据必须处于一致状态
隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务
永久性(Durability):事务完成后,它对数据库的修改被永久保持,事务日志能够保持事务的永久性
事务提交:commit
事务回滚:rollback
声明保存点:savepoint
显式事务:
1.set autocommit off --关闭事务的自动提交
2.手动调用commit和rollback
隐式事务:
2.数据字典
1.set autocommit on
2.create、drop、grant等操作事务是自动提交
3.每一个insert、update、delete执行后都会提交到数据库
数据字典:记录了数据库的最基本的信息。
数据字典包括数据字典基本表和数据字典视图
数据字典视图分为三种类型:USER_、ALL_、DBA_。
USER_类型的视图表示当前登录用户拥有的信息。
ALL_类型的视图表示当前登录用户有权限看到的信息。
DBA_类型的视图表示数据库管理员能够看到的信息,也
就是整个数据库范围内的信息。
如:user_tables、all_tables、dba_tables
select * from user_tables;
select table_name from user_tables;
表字段字典视图
user_tab_cols
select * from user_tab_cols;
select column_name from user_tab_cols where table_name='EMP';
用户对象字典视图
user_objects
select * from user_objects
SELECT * FROM USER_TABLESPACES;
SELECT * FROM DBA_TABLESPACES;