设为首页 收藏本站
查看: 1005|回复: 0

[经验分享] Oracle DDL,DML,DCL,TCL 总结

[复制链接]

尚未签到

发表于 2016-7-31 14:35:27 | 显示全部楼层 |阅读模式
  前段时间的浮躁,总觉得这也会,那也会,但是清醒过来发现自己什么都不会,连基本概念都不知道,还是从头来一遍吧,踏踏实实的学习一段时间。
  把oracle学习来可以独挡一面的实施,维护,当然优化是一个很漫长的岁月炼就的经验之谈,需要多积累经验。
  下面是一些网上找的资料,自己总结到一起。
  一般sql语言增删改查和alter,比较常用,oracle里面commit和revoke比较常用,这些对于我来说很迷糊,希望自己踏实下去。
  
DDL

Data Definition Language (DDL) statements are used to define the database structure or schema. Some examples:

  • CREATE - to create objects in the database
  • ALTER - alters the structure of the database
  • DROP - delete objects from the database
  • TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed
  • COMMENT - add comments to the data dictionary
  • RENAME - rename an object
DML

Data Manipulation Language (DML) statements are used for managing data within schema objects. Some examples:

  • SELECT - retrieve data from the a database
  • INSERT - insert data into a table
  • UPDATE - updates existing data within a table
  • DELETE - deletes all records from a table, the space for the records remain
  • MERGE - UPSERT operation (insert or update)
  • CALL - call a PL/SQL or Java subprogram
  • EXPLAIN PLAN - explain access path to data
  • LOCK TABLE - control concurrency
DCL

Data Control Language (DCL) statements. Some examples:

  • GRANT - gives user's access privileges to database
  • REVOKE - withdraw access privileges given with the GRANT command

TCL
Transaction Control (TCL) statements are used to manage the changes made by DML statements. It allows statements to be grouped together into logical transactions.

  • COMMIT - save work done
  • SAVEPOINT - identify a point in a transaction to which you can later roll back
  • ROLLBACK - restore database to original since the last COMMIT
  • SET TRANSACTION - Change transaction options like isolation level and what rollback segment to use
  
  
  
  上面的比较官方,下面自己的理解和大多数人通俗易懂的形式。
  对于SQL语言,有两个组成部分:
  
  DML(data manipulation language):它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。
  
  DDL(data definition language):DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变database的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。
  
  SQL语言共分为四大类:
  数据查询语言DQL,
  数据操纵语言DML,
  数据定义语言DDL,
  数据控制语言DCL。
  
  1 数据查询语言DQL
  数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE
  子句组成的查询块:
  SELECT <字段名表>
  FROM <表或视图名>
  WHERE <查询条件>
  2 数据操纵语言
  数据操纵语言DML主要有三种形式:
  1) 插入:INSERT
  2) 更新:UPDATE
  3) 删除:DELETE
  
  3 数据定义语言DDL
  数据定义语言DDL用来创建数据库中的各种对象-----表、视图、
  索引、同义词、聚簇等如:
  CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
  
  4 数据控制语言DCL
  数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制
  数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
  1) GRANT:授权。
  2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。
  回滚---ROLLBACK
  回滚命令使数据库状态回到上次最后提交的状态。其格式为:
  SQL>ROLLBACK;
  3) COMMIT [WORK]:提交。
  在数据库的插入、删除和修改操作时,只有当事务在提交到数据
  库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看
  到所做的事情,别人只有在最后提交完成后才可以看到。
  提交数据有三种类型:显式提交、隐式提交及自动提交。下面分
  别说明这三种类型。
   (1) 显式提交
    用COMMIT命令直接完成的提交为显式提交。其格式为:
   SQL>COMMIT;
   (2) 隐式提交
   用SQL命令间接完成的提交为隐式提交。这些命令是:
   ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
   EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
   (3) 自动提交
   若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
   系统将自动进行提交,这就是自动提交。其格式为:
  SQL>SET AUTOCOMMIT ON;
  
  
  DDL,DML,DCL 之间的区别
  What are the difference between DDL, DML and DCL commands?
  DDL,DML和DCL命令之间的区别?(DDL是数据定义语言,如:)
  DDL is Data Definition Language statements. Some examples:
  CREATE - to create objects in the database(在数据库中创建对象)
  ALTER - alters the structure of the database(修改数据库的结构)
  DROP - delete objects from the database(从数据库中删除对象)
  TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed(从一个表中移除所有记录,包括为记录分配的所有空间也一并移除)
  COMMENT - add comments to the data dictionary(为数据字典添加备注)
  GRANT - gives user's access privileges to database(为用户赋予访问权限)
  REVOKE - withdraw access privileges given with the GRANT command(撤销由GRANT命令赋予的访问权限)
  DML is Data Manipulation Language statements. Some examples:(DML是数据操作语言,如:)
  
  SELECT - retrieve data from the a database(从指定的数据库中返回符合一定要求的数据)
  INSERT - insert data into a table(向一个表中插入数据)
  UPDATE - updates existing data within a table(更新表内存在的数据)
  DELETE - deletes all records from a table, the space for the records remain(删除表中所有记录,但保留记录所占空间)
  CALL - call a PL/SQL or Java subprogram(调用一个PL/SQL或JAVA子程序)
  EXPLAIN PLAN - explain access path to data(解释分析数据的访问路径)
  LOCK TABLE - control concurrency(控制并发)
  DCL is Data Control Language statements. Some examples:(DCL 是数据控制语言,如:)
  
  COMMIT - save work done(保存已完成工作)
  SAVEPOINT - identify a point in a transaction to which you can later roll back(在事务中标示一个点,便于之后可以回滚到此处)
  ROLLBACK - restore database to original since the last COMMIT(在最近一次COMMIT之后重新保存数据库)
  SET TRANSACTION - Change transaction options like what rollback segment to use(改变事务选项)
  
欢迎加入:
119224876(db china联盟),233065499(db china联盟),229845401(虚拟化-云计算-物联网)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-251515-1-1.html 上篇帖子: ORACLE--SQL*PLUS的环境命令 下篇帖子: 浅述Oracle分布式事务概念
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表