MySQL 是一款广泛使用的关系型数据库管理系统,其高效的数据插入操作是数据库操作中非常关键的一环。本文将详细介绍如何在 MySQL 中使用 INSERT 语句进行数据的插入,包括单行插入、多行插入、处理重复数据等实用技巧。

单行插入

单行插入是插入数据的基本操作,其语法如下:

INSERT INTO 表名 (列名1, 列名2, ..., 列名n)
VALUES (值1, 值2, ..., 值n);
  • 表名:指定要插入数据的表。
  • 列名:指定要插入数据的列,如果插入的是一条完整的记录,且 VALUES 子句后各数值的顺序与表中列的定义顺序一致,则列名可以省略。
  • VALUES:指定所要插入的数值,其顺序要与列名列表中各列的顺序相对应。

例如,假设我们有一个学生表 students,包含 id, sn, name, qq 四个字段,我们可以使用以下语句插入一条记录:

INSERT INTO students (id, sn, name, qq) VALUES (1, 11, '张三', '111111111');

如果不想指定某些列,可以省略它们,如下所示:

INSERT INTO students (id, name) VALUES (2, '李四');

多行插入

多行插入允许我们在一次操作中插入多条记录,语法如下:

INSERT INTO 表名 (列名1, 列名2, ..., 列名n)
VALUES (值1_1, 值1_2, ..., 值1_n),
       (值2_1, 值2_2, ..., 值2_n),
       ...
       (值m_1, 值m_2, ..., 值m_n);

例如,向 students 表中插入两条记录:

INSERT INTO students (id, sn, name, qq) VALUES
(3, 22, '李四', '22222222'),
(4, 33, '王五', '333333333');

处理重复数据

在插入数据时,可能会遇到重复数据的冲突。MySQL 提供了 ON DUPLICATE KEY UPDATE 语法来处理这种情况:

INSERT INTO 表名 (列名1, 列名2, ..., 列名n)
VALUES (值1, 值2, ..., 值n)
ON DUPLICATE KEY UPDATE
列名1=VALUES(列名1), 列名2=VALUES(列名2), ..., 列名n=VALUES(列名n);

如果插入的数据违反了唯一键约束,则更新该记录。以下是一个示例:

INSERT INTO students (id, sn, name, qq) VALUES
(3, 22, '李四', '22222222')
ON DUPLICATE KEY UPDATE
qq=VALUES(qq);

总结

通过掌握单行插入、多行插入和处理重复数据等技巧,可以大大提高 MySQL 数据插入的效率。在实际应用中,灵活运用这些技巧,可以有效地解决各种数据插入问题。希望本文能帮助您轻松掌握 MySQL 高效插入数据的实用表语句攻略。