SQL按照分类可以分为:
DSL数据库查询(select)
DDL数据库定义(create、alter、drop、rename、truncate)、 --隐式提交
DML数据库操纵(insert、delete、update)、--显式提交
DCL数据库控制(grant、revoke、set role)、 --隐式提交
事务控制(commit、rollback、savepoint、lock table、set constraint、set transaction)、
审计控制(audit、noaudit)
系统控制(alter system)
会话控制(alter session)
其他语句(comment、explain plan、analyze、validate、call)
编程SQL(declare、explain、open、fetch、close、prepare、execute、describe)
级联删除约束
DROP TABLE bookcat CASCADE CONSTRAINTS; --删除表的同时级联删除所有约束(例如外键约束)
级联删除记录(向book表的字段pid设为外键,并级联person表的主键pid,当person表的pid记录被删除,级联删除book表的所有相关记录)
ALTER TABLE book ADD CONSTRAINT person_book_pid_fk FOREIGN KEY (pid) REFERENCES person(pid) ON DELETE CASCADE ;
强制建立视图
CREATE FORCE VIEW; 强制建立视图,不管组成视图的表及字段是否存在,建立视图时会通过,但是使用视图时用到不存在的表格或字段依然会报错。
COMPRESS压缩表格或索引
ALTER TABLE zs_xj_family MOVE COMPRESS;
create table XXX ... compress;
create index t1_ci_1 on t1(col1, col2, col3, col4) compress ;
alter index t1_ci_1 rebuild compress ;
压缩后表的大小是原来的20%~26%。按照官方说法由于表可以存储在更少的数据块中,查询速度比未压缩时会有提高。表压缩的代价是话单入库的时间会比未压缩的表慢20%,同时要多消耗5%左右的CPU。