在SQL中,往表里插入数据通常使用INSERT语句,以下是关于如何使用INSERT语句的详细教学:
1、INSERT语句基本语法
INSERT语句的基本语法如下:
INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);
表名是要插入数据的表的名称,列1、列2、列3等是表中的列名,值1、值2、值3等是要插入的数据。
假设有一个名为students的表,包含id、name和age三个列,要插入一条数据,可以使用以下语句:
INSERT INTO students (id, name, age) VALUES (1, '张三', 20);
2、插入多条数据
如果要一次性插入多条数据,可以在VALUES子句中使用逗号分隔多个数据行:
INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...), (值4, 值5, 值6, ...), ...;
向students表插入两条数据:
INSERT INTO students (id, name, age) VALUES (1, '张三', 20), (2, '李四', 22);
3、插入所有列的数据
如果插入的数据包含表中的所有列,可以省略列名列表:
INSERT INTO 表名 VALUES (值1, 值2, 值3, ...);
向students表插入一条包含所有列的数据:
INSERT INTO students VALUES (1, '张三', 20);
4、插入部分列的数据
如果只需要插入表中的部分列的数据,可以在列名列表中指定要插入数据的列名,然后在VALUES子句中提供相应的数据:
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);
向students表插入一条只包含name和age两列的数据:
INSERT INTO students (name, age) VALUES ('张三', 20);
注意:在这种情况下,未指定的列(如id)将使用默认值或者自动生成的值(如自增主键)。
5、从其他表中插入数据
除了直接插入数据,还可以从一个表中查询数据并插入到另一个表中,这通常用于复制或迁移数据,基本语法如下:
INSERT INTO 目标表名 (列1, 列2, 列3, ...) SELECT 列1, 列2, 列3, ... FROM 源表名 WHERE 条件;
将students表中年龄大于18的学生复制到另一个名为old_students的表中:
INSERT INTO old_students (id, name, age) SELECT id, name, age FROM students WHERE age > 18;
通过以上介绍,我们了解了如何使用SQL的INSERT语句往表中插入数据,包括插入单条数据、插入多条数据、插入所有列的数据、插入部分列的数据以及从其他表中插入数据等方法,在实际使用中,可以根据需要选择合适的方法进行操作。