简述
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。
SQL语言
- DML(Data Manipulation Language)数据操纵语言
对数据库中的数据进行一些简单操作,如insert,delete,update。
当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出commit命令,使未提交的DML命令提交。 - DDL(Data Definition Language)数据定义语言
对数据库中的某些对象(例如,database,table)进行管理,如Create,Alter和Drop。
当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create table),此时来自insert命令的数据将被提交到数据库。当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。 - DCL数据控制语言
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制
数据库操纵事务发生的时间及效果,对数据库实行监视等。如:GRANT,ROLLBACK,COMMIT。
COMMIT有三种类型:显式提交、隐式提交及自动提交。显式提交
用COMMIT命令直接完成的提交为显式提交。隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。
- DQL数据查询语言
数据查询,我们经常使用的select * from table where xxx。
总结
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。DML操作是可以手动控制事务的开启、提交和回滚,而DDL操作是隐性提交的,不能rollback。
评论区