zoukankan      html  css  js  c++  java
  • 数据库:DDL/DML/DCL/TCL基本概念

    SQL(Structure Query Language)语言是数据库的核心语言

    1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询块: SELECT <字段名表> FROM <表或视图名> WHERE <查询条件>

    2 .数据操纵语言DML 数据操纵语言DML主要有三种形式: 1) 插入:INSERT 2) 更新:UPDATE 3) 删除:DELETE    都要commit  ,还可以rollback

    3. 数据定义语言DDL 数据定义语言DDL用来创建数据库中的各种对象-----表、视图、 索引、同义词、聚簇等如: CREATE TABLE/VIEW/INDEX/SYN/CLUSTER | | | | | 表 视图 索引 同义词 簇 DDL操作是隐性提交的!不能rollback 。

    4. 数据控制语言DCL 数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制 数据库操纵事务发生的时间及效果,对数据库实行监视等。如: 1) GRANT:授权

    DDL(Data Definition Language)
    数据定义语言, 用于定义/修改/删除数据对象(如表)的数据结构。DDL语言操作的对象是数据库中的对象而非对象所包含的数据。
    DDL包含以下语句:
    - CREATE : 在数据库中创建新的数据对象
    - ALTER : 修改数据库中对象的数据结构
    - DROP : 删除数据库中的对象(可以删除数据表、索引、触发程序、条件约束以及数据表的权限等)
    - DISABLE/ENABLE TRIGGER : 修改触发器的状态
    - UPDATE STATISTIC : 更新表/视图统计信息
    - TRUNCATE TABLE : 清空表中数据
    - COMMENT : 给数据对象添加注释
    - RENAME : 更改数据对象名称

    DDL用于操作对象和对象的属性,这种对象包括数据库本身,以及数据库对象,像:表、视图等等,DDL对这些对象和属性的管理和定义具体表现在Create、Drop和Alter上。特别注意:DDL操作的“对象”的概念,”对象“包括对象及对象的属性,而且对象最小也比记录大个层次。以表举例:Create创建数据表,Alter可以更改该表的字段,Drop可以删除这个表,从这里我们可以看到,DDL所站的高度,他不会对具体的数据进行操作。

    DML(Data Manipulation Language)
    数据操作语言,用于添加/修改/查询数据库中数据。
    DML包含以下语句:
    - INSERT :将数据插入到表或视图
    - DELETE :从表或视图删除数据
    - SELECT :从表或视图中获取数据
    - UPDATE :更新表或视图中的数据
    - MERGE : 对数据进行合并操作(插入/更新/删除)

    DML用于操作数据库对象中包含的数据,也就是说操作的单位是记录。

    DCL(Data Control Language)
    DCL用来向用户赋予/取消对数据对象的控制权限。
    DCL包含以下语句:
    - GRANT : 赋予用户某种控制权限
    - REVOKE :取消用户某种控制权限

    TCL(Transaction Control Language)
    事务控制语句,用来对事务进行管理。
    TCL包含以下语句:
    - COMMIT : 保存已完成事务动作结果
    - SAVEPOINT : 保存事务相关数据和状态用以可能的回滚操作
    - ROLLBACK : 恢复事务相关数据至上一次COMMIT操作之后
    - SET TRANSACTION : 设置事务选项

    DQL
    数据查询语言(DQL)。
    例如:SELECT语句。(一般不会单独归于一类,因为只有一个语句)。

    总结
    根据语句操作目标的不同,还是很好区分这四种类型:DDL-数据对象; DML-数据; DCL-权限; TCL-事务。

    唯一需要注意的是TRUNCATE,尽管从功能上看相当于DELETE表中所有数据,但由于它所操作的对象是table这个级别而非row(如由于某种原因不能立即删除表数据时,TRUNCATE会锁定整张表,而DELETE锁定的则是row),所以归在DDL中。SQL主要分成四部分: 

    (1)数据定义。(SQL DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。
    (2)数据操纵。(SQL DML)数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。
    (3)数据控制。包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
    (4)嵌入式SQL的使用规定。涉及到SQL语句嵌入在宿主语言程序中使用的规则。
    DDL: 数据对象 DML: 数据 DCL: 权限 TCL: 事务

    原文:https://blog.csdn.net/nowuseeme/article/details/54917492

    来自:https://www.cnblogs.com/springwind268/p/3895839.html

  • 相关阅读:
    Spring基于纯注解的声明式事务控制
    Spring基于XML的声明式事务控制
    2.Jersey
    1.解读REST和JAX-RS
    getHibernateTemplate和getSession 区别, this.getHibernateTemplate().getSessionFactory().getCurrentSession()和OpenSession区别
    eclipse安装maven报错
    MyEclipse10 + tomcat8 64位
    理解MVC
    java编程规范
    c3p0详细配置
  • 原文地址:https://www.cnblogs.com/brianlai/p/10283555.html
Copyright © 2011-2022 走看看