SQL Insert Into详解

在SQL语言中,INSERT INTO语句用于向表中插入新的记录。在本文中,我们将详细解释INSERT INTO语句的用法,并且提供一些示例来帮助读者更好地理解如何使用这个语句。
语法
INSERT INTO语句的基本语法如下所示:
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
其中,table_name是你要插入记录的表的名称,column1, column2, ...是表中的列名,value1, value2, ...是要插入的值。
如果你想指定要插入的列,可以像下面这样做:
INSERT INTO table_name
(column1, column2, ...)
VALUES
(value1, value2, ...);
在这种情况下,你可以选择性地指定要插入哪些列的值。
示例
让我们通过一个示例来演示INSERT INTO语句的用法。假设我们有一个名为students的表,其中包含id、name和age三列。我们想要向这个表中插入一条新的记录,其id为1,name为”Alice”,age为20。
INSERT INTO students (id, name, age)
VALUES (1, 'Alice', 20);
运行以上语句后,新的记录将会被插入到students表中。
批量插入
如果你想一次插入多条记录,可以使用INSERT INTO语句的批量插入功能。下面是一个示例:
INSERT INTO students (id, name, age)
VALUES (2, 'Bob', 22),
(3, 'Cathy', 21),
(4, 'David', 23);
在这个示例中,我们一次性插入了三条记录到students表中。
从另一个表中插入记录
有时候,我们可能需要从另一个表中插入记录到目标表中。这时候,可以使用SELECT语句配合INSERT INTO来实现这个功能。以下是一个示例:
INSERT INTO students (id, name, age)
SELECT id, name, age
FROM other_table;
这个语句将other_table中的记录插入到students表中。
插入默认值
有时候,我们可能希望在插入记录时使用默认值。如果某一列具有默认值,可以省略对应的值,这样数据库就会自动使用默认值。以下是一个示例:
INSERT INTO students (name, age)
VALUES ('Eva', 24);
在这个示例中,我们省略了id列,因为id列具有默认值,数据库将会自动插入默认值。
插入查询结果
最后,我们还可以使用INSERT INTO语句来插入查询结果。例如,我们想要将查询结果插入到一个新的表中:
CREATE TABLE new_students (
id INT,
name VARCHAR(50),
age INT
);
INSERT INTO new_students (id, name, age)
SELECT id, name, age
FROM students
WHERE age > 20;
在这个示例中,我们首先创建了一个新的表new_students,然后从students表中选择年龄大于20的记录插入到new_students表中。
结论
通过本文的介绍,相信读者对INSERT INTO语句有了更清晰的理解。INSERT INTO语句是SQL中非常重要的一部分,掌握好它的用法对于进行数据操作非常有帮助。
极客笔记