SQL插入语句(INSERT INTO)
提示
INSERT INTO
语句的作用:SQL 中的INSERT INTO
语句用于向数据库表中插入新行。INSERT INTO
语法:基本语法为INSERT INTO table_name(column1, column2, ...) VALUES (value1, value2, ...)
,其中table_name
是表名,column1, column2, ...
是列名,value1, value2, ...
是对应的值。- 扩展用法:可以一次插入多行数据,或在插入时省略自动递增字段。如果在插入时跳过某些列,这些列的值将默认为
NULL
,除非列设置了其他默认值或NOT NULL
约束。
在 SQL 中,INSERT INTO
语句用于向数据库表中插入新行。
示例
INSERT INTO Customers(customer_id, first_name, last_name, age, country)
VALUES
(7, 'Ron', 'Weasley', 31, 'UK');
这里,SQL 命令将给定值的新行插入到 Customers
表中。
INSERT INTO
语法
SQL INSERT INTO
语句的语法是:
INSERT INTO table_name(column1, column2, column3, ...)
VALUES
(value11, value12, value13, ...)
(value21, value22, value23, ...)
... ;
这里,
table_name
是要插入行的表的名称column1, column2, column3, ...
是要插入值的列的名称value11, value12, value13, ...
,value21, value22, value23, ...
是要插入的值
向表中插入行
在 SQL 中,INSERT INTO
语句用于向数据库表中插入新的行。
例如,
INSERT INTO Customers(customer_id, first_name, last_name, age, country)
VALUES
(5, 'Harry', 'Potter', 31, 'USA');
这里,SQL 命令将给定值的新行插入到 Customers
表中。
插入行时跳过自动递增字段
在数据库表中,ID 字段通常是唯一且自动递增的。在这种情况下,我们可以在插入行时省略该列的值。例如,
-- 跳过自动递增的 customer_id 列
INSERT INTO Customers(first_name, last_name, age, country)
VALUES
('James', 'Bond', 48, 'USA');
这里,SQL 命令自动为新行设置新的 customer_id
并将其插入表中。
注意: 如果我们想从任何其他现有表中插入数据,我们可以使用 SQL INSERT INTO SELECT 语句。
SQL 中一次插入多行
也可以一次向数据库表中插入多行。例如,
VALUES
('Harry', 'Potter', 31, 'USA'),
('Chris', 'Hemsworth', 43, 'USA'),
('Tom', 'Holland', 26, 'UK');
这里,SQL 命令向 Customers
表中插入了三行。
SQL 插入主题
不指定列名插入行。
也可以在不指定列的情况下插入行中的值。例如,
INSERT INTO Customers
VALUES
(5, 'Chris', 'Evans', 42, 'USA');
这里,SQL 命令按顺序在每列中插入新行。
注意: 如果我们不指定列名,数据库表中的列顺序必须与 SQL 查询中的值顺序相匹配。我们还需要为自动递增字段提供值。
插入时不包括所有列。
如果在插入行时跳过列名,那些列的值将是 NULL
。
INSERT INTO Customers(first_name, last_name, age)
VALUES
('Brad', 'Pitt', 58);
这里,SQL 命令将 country
列的值设置为 NULL
。然而,由于自动递增约束,customer_id
列将是递增值。
注意: 如果某列不允许 NULL
值,SQL 查询会导致错误。要了解更多
,请访问 NOT NULL 约束。