为了账号安全,请及时绑定邮箱和手机立即绑定

SQL INSERT INTO 语句详解:插入新记录、多行插入和自增字段

SQL INSERT INTO 语句用于在表中插入新记录。

INSERT INTO 语法

可以以两种方式编写INSERT INTO语句:

  1. 指定要插入的列名和值:

INSERT INTO 表名 (1,2,3, ...)

VALUES (1,2,3, ...);

  1. 如果要为表的所有列添加值,则无需在SQL查询中指定列名。但是,请确保值的顺序与表中的列顺序相同。在这种情况下,INSERT INTO 语法如下:

INSERT INTO 表名

VALUES (1,2,3, ...);

演示数据库

以下是示例中使用的Customers表的一部分:

|CustomerID|CustomerName|ContactName|Address|City|PostalCode|Country|

|-|-|-|-|-|-|-|

|89|White Clover Markets|Karl Jablonski|305 - 14th Ave. S. Suite 3B|Seattle|98128|USA|

|90|Wilman Kala|Matti Karttunen|Keskuskatu 45|Helsinki|21240|Finland|

|91|Wolski|Zbyszek|ul. Filtrowa 68|Walla|01-012|Poland|

插入示例

以下SQL语句将在"Customers"表中插入一条新记录:


INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)

VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

此时,"Customers"表的选择将如下所示:

|CustomerID|CustomerName|ContactName|Address|City|PostalCode|Country|

|-|-|-|-|-|-|-|

|89|White Clover Markets|Karl Jablonski|305 - 14th Ave. S. Suite 3B|Seattle|98128|USA|

|90|Wilman Kala|Matti Karttunen|Keskuskatu 45|Helsinki|21240|Finland|

|91|Wolski|Zbyszek|ul. Filtrowa 68|Walla|01-012|Poland|

|92|Cardinal|Tom B. Erichsen|Skagen 21|Stavanger|4006|Norway|

您是否注意到我们没有在CustomerID字段中插入任何数字? CustomerID列是一个自增字段,当插入新记录时会自动生成。

仅在指定列中插入数据

也可以只在特定列中插入数据。

以下SQL语句将插入一条新记录,但仅在"CustomerName"、"City"和"Country"列中插入数据(CustomerID将自动更新):


INSERT INTO Customers (CustomerName, City, Country)

VALUES ('Cardinal', 'Stavanger', 'Norway');

此时,"Customers"表的选择将如下所示:

|CustomerID|CustomerName|ContactName|Address|City|PostalCode|Country|

|-|-|-|-|-|-|-|

|89|White Clover Markets|Karl Jablonski|305 - 14th Ave. S. Suite 3B|Seattle|98128|USA|

|90|Wilman Kala|Matti Karttunen|Keskuskatu 45|Helsinki|21240|Finland|

|91|Wolski|Zbyszek|ul. Filtrowa 68|Walla|01-012|Poland|

|92|Cardinal|null|null|Stavanger|null|Norway|

插入多行

还可以在一条语句中插入多行。

要插入多行数据,可以使用相同的INSERT INTO语句,但包含多个值:


INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)

VALUES

('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway'),

('Greasy Burger', 'Per Olsen', 'Gateveien 15', 'Sandnes', '4306', 'Norway'),

('Tasty Tee', 'Finn Egan', 'Streetroad 19B', 'Liverpool', 'L1 0AA', 'UK');

请确保在每组值之间用逗号,分隔。

此时,"Customers"表的选择将如下所示:

|CustomerID|CustomerName|ContactName|Address|City|PostalCode|Country|

|-|-|-|-|-|-|-|

|89|White Clover Markets|Karl Jablonski|305 - 14th Ave. S. Suite 3B|Seattle|98128|USA|

|90|Wilman Kala|Matti Karttunen|Keskuskatu 45|Helsinki|21240|Finland|

|91|Wolski|Zbyszek|ul. Filtrowa 68|Walla|01-012|Poland|

|92|Cardinal|Tom B. Erichsen|Skagen 21|Stavanger|4006|Norway|

|93|Greasy Burger|Per Olsen|Gateveien 15|Sandnes|4306|Norway|

|94|Tasty Tee|Finn Egan|Streetroad 19B|Liverpool|L1 0AA|UK|

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消