zoukankan      html  css  js  c++  java
  • DML、DDL、DCL的分别是什么

    DML、DDL、DCL的分别是什么

        一直以来,分不清这三者的简称代表什么,甚至在面试中遇到可能会张冠李戴。今天特意记录一下。

    一、DML(data manipulation language) 数据操纵语言


        就是我们经常用到的SELECT、UPDATE、INSERT、DELETE。主要用来对数据库的数据进行的一些操作。

    SELECT 列名称 FROM 表名称;
    UPDATE 表名称 SET 列名称='新值' WHERE 列名称='某值';
    INSERT INTO table_name (列1,列2,...) VALUES (值1,值2,...);
    DELETE FROM 表名称 WHERE 列名称='某值';

    二、DDL


        DDL(data definition language)数据定义语言
        就是我们在创建表时用到的一些SQL语句。例如:CREATE、ALTER、DROP等。DDL主要是用在定义表
        或者改变表的结构、数据类型、表之间的链接和约束等初始化操作上。

    CREATE TABLE 表名称
    (
    列名称1, 数据类型,
    列名称2, 数据类型,
    ...
    );
    
    CREATE TABLE `t2` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
      `age` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1:男性;0:女性',
      PRIMARY KEY (`id`),
      KEY `idx_name` (`name`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
    
    ALTER TABLE tbl_name drop age;
    ALTER TABLE tbl_name ADD age tinyint NOT NULL DEFAULT '1' COMMENT '1:男性;0:女性';
    ...

    三、DCL


        DCL(Data Control Language)数据控制语言
        用来设置或者更改数据库用户角色权限等的语句,例如:grant、revoke语句。

    create user 'test_r'@'%' IDENTIFIED BY 'test_rpwd';
    GRANT SELECT ON `test_db`.* TO 'test_r'@'%' IDENTIFIED BY 'test_rpwd';

    一般常用的是DML、DDL。

  • 相关阅读:
    实习日记11
    实习日记10
    实习日记9
    实习日记7
    我自己的颜色库
    实习日记5
    实习日记4
    算法导论2:几个习题 2016.1.2
    算法导论1:插入排序和归并排序 2016.1.1
    和算法导论没什么关系0.手电筒过桥问题详解
  • 原文地址:https://www.cnblogs.com/bjx2020/p/10642417.html
Copyright © 2011-2022 走看看