zoukankan      html  css  js  c++  java
  • mysql DDL、DML、DCL、DQL区分

    mysql [Structure Query Language] 的组成分4个部分:

    • DDL     [Data Mefinition Language]    数据定义语言
    • DML    [Data Manipulation Language]    数据操纵语言
    • DCL    [Data Control Language]    数据控制语言
    • DQL    [Data  Query Language ]   数据查询语言

      

    1、DDL 数据定义

    关键点:CREATE TABLE、ALTER TABLE、DROP TABLE、CREATE/DROP INDEX 等

    主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。

    DDL操作是隐性提交的!不能rollback 。

    2、DML 数据操纵

    关键点:INSERT、UPDATE、DELETE

    主要是对表数据进行操作,如对表数据进行增、删、改。

    3、DCL 数据控制

    关键点:GRANT、REVOKE、ROLLBACK、COMMIT

    主要用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。

    如:

    用户授权 GRANT

    ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。

    回滚---ROLLBACK

    回滚命令使数据库状态回到上次最后提交的状态。其格式为:

    SQL>ROLLBACK;

    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;开启

    SQL>SET AUTOCOMMIT OFF;关闭

    在实际开发中,创建事务的时候需要关闭自动提交(默认是开启的),等操作成功全部成功后显性提交事务。事务提交完毕后重新开启自动提交。

    4、DQL 数据查询

    关键点:SELECT

    DQL基本结构是由SELECT语句,FROM语句,WHERE语句组成的查询块:

    基本语法:SELECT <字段名表> FROM  <表或视图名>  WHERE <查询条件>

  • 相关阅读:
    java操作生成jar包 和写入jar包
    jboss配置jndi连接池
    windows 域的LDAP查询相关举例
    LDAP error Code 及解决方法
    HDU 6417
    CF1299D Around the World
    codechef Chef and The Colored Grid
    Educational Codeforces Round 82 (Rated for Div. 2)
    CF1237F Balanced Domino Placements
    CF1254E Send Tree to Charlie
  • 原文地址:https://www.cnblogs.com/zwesy/p/9393836.html
Copyright © 2011-2022 走看看