SQL Insert用法介绍

SQL Insert用法介绍

SQL Insert用法介绍

介绍

在SQL中,INSERT语句用于向数据库表中插入数据。它是SQL中最基本和最常用的操作之一。本篇文章将详细介绍INSERT语句的用法、语法和示例,以帮助读者对其有更深入的理解。本文将涵盖以下主题:

  1. INSERT语句的基本语法
  2. 插入单行数据
  3. 插入多行数据
  4. 插入数据的时机和位置
  5. 插入数据的限制条件
  6. INSERT语句的返回值

1. INSERT语句的基本语法

INSERT语句的基本语法如下所示:

INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);
  • INSERT INTO: 用于指定要插入数据的表名。
  • 表名: 指定要插入数据的表的名称。
  • (列1, 列2, 列3, ...): 指定要插入的列名,多个列名用逗号分隔。
  • VALUES (值1, 值2, 值3, ...): 指定要插入的值,多个值用逗号分隔。

2. 插入单行数据

插入单行数据是指一次只向表中插入一行数据。下面是一个示例:

INSERT INTO 学生表 (姓名, 年龄, 性别) VALUES ('张三', 20, '男');

执行以上语句后,将在学生表中插入一条数据,包括姓名为’张三’,年龄为20,性别为’男’。

3. 插入多行数据

如果要一次性插入多行数据,可以使用INSERT语句的扩展写法。下面是一个示例:

INSERT INTO 学生表 (姓名, 年龄, 性别) 
VALUES 
  ('李四', 18, '男'),
  ('王五', 19, '女'),
  ('赵六', 20, '男');

执行以上语句后,将在学生表中插入三条数据,分别是姓名为’李四’、年龄为18、性别为’男’的一条数据,以及姓名为’王五’、年龄为19、性别为’女’的一条数据,以及姓名为’赵六’、年龄为20、性别为’男’的一条数据。

4. 插入数据的时机和位置

INSERT语句可以在表中的任何位置插入数据。如果未指定插入位置,则数据将被插入到表的最后。如果需要在指定的位置插入数据,可以使用以下语法:

INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...)

4.1 插入数据到指定位置

在INSERT语句中使用 INSERT INTO 表名 (列1, 列2, 列3, ...) 可以将数据插入到指定的位置。例如,假设有如下学生表:

+----+--------+-----+
| Id | 姓名   | 年龄 |
+----+--------+-----+
|  1 | 张三   |  20 |
|  2 | 李四   |  18 |
|  3 | 王五   |  19 |
+----+--------+-----+

要在第二行之后插入一条新的学生记录,可以使用以下语句:

INSERT INTO 学生表 (Id, 姓名, 年龄) VALUES (2, '赵六', 20);

执行以上语句后,学生表中的数据将变为:

+----+--------+-----+
| Id | 姓名   | 年龄 |
+----+--------+-----+
|  1 | 张三   |  20 |
|  2 | 李四   |  18 |
| 10 | 赵六   |  20 |
|  3 | 王五   |  19 |
+----+--------+-----+

4.2 插入数据到最后位置

如果未指定插入数据的位置,INSERT语句将默认将数据插入到表的最后。以学生表为例,执行以下语句:

INSERT INTO 学生表 (姓名, 年龄) VALUES ('韩七', 22);

执行以上语句后,学生表中的数据将变为:

+----+--------+-----+
| Id | 姓名   | 年龄 |
+----+--------+-----+
|  1 | 张三   |  20 |
|  2 | 李四   |  18 |
|  3 | 王五   |  19 |
|  4 | 韩七   |  22 |
+----+--------+-----+

5. 插入数据的限制条件

INSERT语句有一些限制条件,这些限制条件需要根据数据表的设置来满足。

5.1 主键唯一性约束

如果表定义了主键并启用了主键唯一性约束,则不能通过INSERT语句插入重复的主键值。以下是一个示例:

CREATE TABLE 商品表 (
  Id INT PRIMARY KEY,
  商品名称 VARCHAR(100)
);

INSERT INTO 商品表 (Id, 商品名称) VALUES (1, '商品A');
INSERT INTO 商品表 (Id, 商品名称) VALUES (2, '商品B');
INSERT INTO 商品表 (Id, 商品名称) VALUES (2, '商品C');

执行以上语句时,第三条INSERT语句将失败,因为主键值2已经存在。

5.2 非空约束

如果表定义了非空约束,并且某些列设置了非空属性,则插入数据时必须为这些列提供非空值。以下是一个示例:

CREATE TABLE 学生表 (
  Id INT PRIMARY KEY,
  姓名 VARCHAR(50) NOT NULL,
  年龄 INT NOT NULL
);

INSERT INTO 学生表 (Id) VALUES (1);

执行以上语句时,由于插入的数据中未提供非空列姓名年龄的值,INSERT语句将失败。

6. INSERT语句的返回值

INSERT语句执行后,将返回一些信息,通常是受影响的行数。通过判断受影响的行数,可以得知插入操作是否成功。以下是一些常见的示例:

6.1 插入单行数据的返回值

当插入单行数据时,如果插入成功,INSERT语句将返回1,表示受影响的行数为1。如果插入失败,INSERT语句将返回0,表示受影响的行数为0。以下是一个示例:

INSERT INTO 学生表 (姓名, 年龄, 性别) VALUES ('张三', 20, '男');

执行以上语句后,INSERT语句将返回1。

6.2 插入多行数据的返回值

当插入多行数据时,插入成功后的返回值为插入的行数。例如,以下是一个插入三行数据的示例:

INSERT INTO 学生表 (姓名, 年龄, 性别) 
VALUES 
  ('李四', 18, '男'),
  ('王五', 19, '女'),
  ('赵六', 20, '男');

执行以上语句后,INSERT语句将返回3,表示成功插入了3行数据。

6.3 插入失败的返回值

如果在插入数据时违反了表的约束(如主键唯一性约束和非空约束),INSERT语句将返回一个错误。例如,以下是一个重复插入主键的错误示例:

CREATE TABLE 商品表 (
  Id INT PRIMARY KEY,
  商品名称 VARCHAR(100)
);

INSERT INTO 商品表 (Id, 商品名称) VALUES (1, '商品A');
INSERT INTO 商品表 (Id, 商品名称) VALUES (1, '商品B');

执行以上语句时,第二条INSERT语句将返回一个主键冲突错误。

结论

INSERT语句是SQL中常用的操作之一,用于向数据库表中插入数据。本文详细介绍了INSERT语句的基本语法、插入单行数据和插入多行数据的方法,同时解释了插入数据的时机和位置、插入数据的限制条件以及INSERT语句的返回值。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程