04.DML语言

Posted thetree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04.DML语言相关的知识,希望对你有一定的参考价值。

04.DML语言

DML语言(Data Manipulation Language)数据操纵语言

分类:

插入:insert

修改:update

删除:delete

插入语句
  1. 方式一,经典插入

    语法:

    INSERT INTO FROM 表名(列名、列名…) VALUES (值1、值2…);
    
    1. 插入的值类型要与列的类型一致或兼容(可以隐式的转换)
    2. 可以为null的列如何插入(不可以为null的列必须插入字段)
      1. 直接写为null
      2. 在表名后要修改的列名直接不写

    注:

    1. 列的顺序可以颠倒,但在给值时需要一一对应
    2. 插入时,列数和值的个数和顺序必须一一对应
    3. 列名可以省略,默认为所有列,而且列的顺序与表中列的顺序一致
  2. 方式二

    语法:

    INSERT INTO 表名 SET 列名=值,列名=值…;
    

两种插入方式对比:

  1. 方式一支持多行插入,而方式二不支持
  2. 方式一支持多行子查询,而方式二不支持
修改语句
  1. 修改单表的记录

    语法:

    update 表名(1)
    
    set 列名=新值,列名=新值,…(3)
    
    where 筛选条件(2);
    

    注:数字表示执行顺序

  2. 修改多表的记录

    语法:sql92

    update 表1 别名,表2 别名(1)
    
    set 列名=新值,列名=新值,… (3)
    
    where 连接条件 and 筛选条件(2);
    

    语法:sql99

    update 表1 别名
    
    inner|left|right join 表2 别名
    
    on 连接条件                   
    
    set 列名=新值,列名=新值…        
    
    where筛选条件;
    
删除语句
  1. 方式一:delete

    1.单表的删除

    ? 语法:

    delete from 表名 where 筛选条件;
    

    2.多表的删除

    ? 语法:sql92

    delete 表1 别名,表2 别名
    
    from 表1 别名,表2 别名
    
    where 连接条件 and 筛选条件;
    

    ? 语法:sql99

    delete 表1 别名,表2 别名
    
    from 表1 别名
    
    inner|left|right join 表2 别名 on 连接条件
    
    where筛选条件;
    
  2. 方式二:truncate

    语法:

    truncate table 表名;(不支持连接筛选条件)
    

两种删除方式对比:

  1. delete可以加筛选条件,truncate不能加

  2. truncate删除,效率高一些

  3. 假如要删除的表中有自增长列:

    1. 用delete删除后,再插入数据,自增长列的值从断点开始
    2. 用truncate删除后,再插入数据,自增长列值从1开始
  4. truncate删除后没有返回值,而delete有(即是否显示表中有几行收到影响,若是truncate,则都是0)

  5. truncate删除不能回滚,而delete删除可以回滚

以上是关于04.DML语言的主要内容,如果未能解决你的问题,请参考以下文章

C语言代码片段

使用 Pygments 检测代码片段的编程语言

VS中添加自定义代码片段——偷懒小技巧

Android 实用代码片段

Android 实用代码片段

你可能不知道的JavaScript代码片段和技巧(下)