SQL DML语句

发布时间 2023-11-20 09:56:06作者: 背对背依靠

Data Manipulation Language 数据操纵语言,用于数据的增加、删除、更新等操作。包括 INSERT(向表中插入新数据)、UPDATE(修改表中的数据)和 DELETE(从表中删除数据)。

插入数据 INSERT

插入一行数据

插入数据的时候,不指定列名直接使用 VALUES指定数据,表示为表中的每一列提供一个值,值的顺序必须与表中列的顺序相匹配

INSERT INTO
    table_name
VALUES
    (value1,value2,...,valuen)

插入多行数据

一次插入多行数据时,每一行数据都用一对小括号包围,各行之间用逗号分隔。

INSERT INTO
    table_name
VALUES
    (value1,value2,...,valuen),
    (value1,value2,...,valuen),
    (value1,value2,...,valuen)

插入指定列数据

在 INSERT INTO 语句中指定要插入数据的列时,小括号用于包围列名的列表。VALUES 子句中,小括号用来定义一行数据的值列表。

只给插入的某行部分列赋值,没有赋值的列需要属性是 允许 NULL 值 或 在表定义中给出默认值,否则会提示异常。

INSERT INTO
    table_name  (列名1,列名2,列名3)
VALUES
    (value1,value2,value3)

复制表数据

通过INSERT结合SELECT来复制某个表的数据,实现一次性插入某个表中的指定数据到新表

使用 INSERT INTO ... SELECT 语句从另一个表复制数据时,确保 SELECT 语句中的列与目标表的列顺序和数据类型兼容

INSERT INTO
    tb_name
SELECT XX FROM XX

例如:

INSERT INTO
     only_door.tb_things
SELECT * from position_ehcommon.tb_things;

修改数据 UPDATE

修改数据的时候,如果不加限制条件,会更新表中所有行的数据。

UPDATE
    tb_name
SET
    列名=VALUE
WHERE
    限制条件

删除数据 DELETE

和UPDATE一样,不加限制条件,会删除一张表中所有的数据。

DELETE FROM
    tb_name
WHERE
    限制条件

清空表数据

除了使用 DELETE FROM tb_name 外,还有一个效率更高的方法:

TRUNCATE TB_NAME