sql的类型:
1、DML(Data Menipulation Language数据操作语言) : select insert update delete增删改查
2、DDL(Data Definition Language 数据定义语言) : create alter drop truncate table创建 修改 删除 清空表
create drop view sequence index synonym 创建 ,删除,视图,序列,索引,同义词
3、DCL(Data Control Language 数据控制语言) : grant revoke 授予,撤销(权限)
一:地址符
二:批处理
三:海量拷贝数据(oracle)
1、数据泵
2、sql*Loader
3、外部表
oracle 11g 17讲移动数据
插入更新和删除引起数据的变化:
数据的完整性:定义在表上的约束 (主键外键的约束)
delete 和truncate( 删除、清空数据) 的五个区别
1、delete逐条删除数据 truncate先摧毁表再重新建
2、(根本区别)delete 是DML语句 truncate是DDL语句
DML语句可以回滚(rollback) DDL不可以回滚(为什么??)
3、delete不会释放空间 truncate可以释放空间
因为delete不是真正把数据删除,换了一个undo表空间(回收站)存起来
4、delete会产生碎片,truncate不会产生
如果删除mary的数据
新的数据会插入到高水位线的位置,mary的位置是空着的,会影响查询的速度,所以要去掉碎片
去掉碎片的两种方法:
一、alter table <表名> move;
二、导出 导入
参考:数据的移动中导入与导出
5、delete可以闪回 truncate不可以(flashback)
哪个删除的方式比较快:
delete比truncate快,因为delete并没有真正把数据删除
------set feedback off
set timing on
数据库事务
由以下的部门组成:
1、一个或多个DML语句
2、一个DDL(data definition Language) 数据定义语言语句
3、一个DCL(data control Language)数据控制语言语句
oracle中事务的标志:
1、起始标志:事务中的第一条DML语句
delete=删除数据+开启事务
2、结束标志:提交和回滚都属于结束
提交方式:
显示方式 commit
隐式方式 正常退出 exit DDL和DCL
回滚方式:
显示方式 rollback
隐式方式 非正常退出 掉电 宕机
数据库的隔离级别
my sql默认的数据库提供4种事务隔离级别:read commited,serializable,read uncommited,repeatable read四种
oracle支持的3个事务隔离级别:read commited serializable和read only
set transaction read only;---事务处理集只读
只读功能,只能查询,支持并发,不影响效率