zoukankan      html  css  js  c++  java
  • DQL、DML、DDL、DCL的区别(SQL语言的分类)

    SQL结构化查询语言包含6个部分。SQL(Structure Query Language)语言是数据库的核心语言。
    1).数据定义语言 DDL: Data Definition Language (隐形提交的,不用commit,不能rollback)
    常用的有CREATE和DROP,用于在数据库中创建新表或删除表,以及为表加入索引等。
    a.创建(create): create index,create tablespace... 创建各种对象--表、视图、索引、同义词、聚簇等(create table/view/index/syn/cluster)
    b.删除(drop,truncate): truncate删除整个数据,drop删除整个表(数据+表结构)。两者都不用commit,也不能回滚
    c.修改(alter): alter table,alter database,alter tablespace...
    d.查看(show,desc): show parameter(查看参数的值),desc 对象(查看对象的结构)

    2).数据查询语言 DQL: Data Query Language
    a.查询(select): select <字段名> from <表或视图名> where <查询条件>;

    3).数据操纵语言 DML: Data Manipulation Language (需要commit)
    a.插入(insert): insert into <表名> (列1,列2,...) values (值1,值2,...);
    b.更新(update): update <表名> set <列名>=新值 where <列名>=值;
    c.删除(delete): delete from <表名> where <列名>=值; (只删除数据,可以回滚)

    4).数据控制语言 DCL: Data Control Language
    用来授予或回收访问数据库的某种特权,并控制数据库操作事务发生的时间及效果,对数据库实行监视等。
    通过GRANT和REVOKE确定单个用户或用户组对数据库对象的访问权限。
    a.授权(grant): grant create session to scott
    b.回滚(rollback)
    c.提交(commit)
      在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成,在事务提交前,只有操作数据库的人才有权看到所做的事情,在最后提交完成后别人才可以看到
      I.显式提交:用commit命令直接完成的提交。 SQL>commit;
      II.隐式提交:用SQL命令间接完成的提交。 alter,audit,noaudit,connect,disconnect,create,drop,comment,exit,grant,quit,revoke,rename
      III.自动提交:若把autocommit设为on,则在插入、修改、删除语句执行后,系统将自动进行提交。SQL>set autocommit on;
    d.新建用户(create user)

    5).事务处理语言 TPL:
    事务处理语句能确保被DML语句影响的表的所有行及时得以更新。包括:BEGIN、TRANSACTION、COMMIT、ROLLBACK

    6).指针控制语言 CCL: Cursor Control Language
    DECLARE CURSOR、FETCH INTO、UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

  • 相关阅读:
    os模块
    自定义模块--->可执行文件
    VSCode同步插件Sync
    Django之模板
    十:索引+慢查询
    八分组查询
    (一)Django之虚拟环境
    二:Anaconda的使用
    Python之数据类型
    Python零散知识点
  • 原文地址:https://www.cnblogs.com/Wtingting/p/14108911.html
Copyright © 2011-2022 走看看