当前位置: 代码迷 >> 综合 >> SQL-----DML(data manipulation language)语言学习
  详细解决方案

SQL-----DML(data manipulation language)语言学习

热度:19   发布时间:2023-11-21 17:44:50.0

目录

一、插入语句

二、修改语句

三、删除语句


一、插入语句

方式一:

语法:

INSERT INTO 表名(列名1,列名2,....)

VALUES(值1,值2,....)

特点:1、插入的值的类型要与列的类型一致或兼容

           2、不可以为NULL的列必须插入值,可以为NULL的列(方式一,如果该列没有值都不写;方式二:如果该列没有值,写上列名,值所对应的写上NULL)

          3、列的顺序可以调换(所对应的值要跟列名对应)

          4、列数和值的个数必须一致

          5、可以省略列名,默认所有列,而且列的顺序和表中的列的顺序一致

  格式:INSERT INTO 表名  

             VALUES(值1,值2,...)

方式二:

语法: INSERT INTO 表名

            SET 列名=值,列名=值,....

两种方式比较:

1、方式一支持插入多行,方式二不支持

例子:INSERT INTO 表名(列名1,列名2,....)

    VALUES(值1,值2,....)

    VALUES(值1,值2,....)

    ....

2、方式二支持子查询,方式二不支持

例子:INSERT INTO 表名(列名1,列名2,....)

           SELECT 值1,值2,值3,...(SELECT 列名1,列名2,...FROM 表  WHERE 筛选条件)

 

二、修改语句

1、修改单表的记录(重点)

语法:

    UPDATE 表名

    SET 列名1=新值1,列名2=新值2,....

    WHERE 筛选条件

2、修改多表的记录(99标准)(补充)

语法:UPDATE 表名1

           INNER/LEFT/RIGHT JOIN  表名2

           ON 连接条件

           SET 列名1=新值1,列名2=新值2,...

           WHERE 筛选条件

三、删除语句

方式一:

语法:

1、单表的删除(重点)

DELETE FROM 表名

WHERE 筛选条件

2、多表的删除(了解)

DELETE 表1/表2

FROM 表1

INNER/LEFT/RIGHT JOIN 表2

ON 连接条件

WHERE  筛选条件

方式二:TRUNCATE

语法:

TRUNCATE TALBE 表名 (一删全删)

 

DELETE 和 TRUNCATE 的区别(面试题)

1、delete 可以加where语句,truncate不能加

2、加入要删除的表中有自增长列

       如果用delete删除后,在插入数据,自增列的值从断点开始

       如果用truncate删除后,在插入数据,自增长列从0开始

3、truncate删除,效率稍微高一点

4、truncate删除没有返回值,delete删除有返回值(就是下面的提示信息)

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

 

 

 

 

  相关解决方案