sql insert 语法 有关 Internet Explorer 和 Microsoft Edge 的详细信息

sql insert 语法 有关 Internet Explorer 和 Microsoft Edge 的详细信息

-SQL 提供多种在表中插入行的方法。

语句

语句用于向表中添加一行或多行。 语句的形式有数种。

简单 语句的基本语法如下所示:

INSERT [INTO]  [(column_list)]
VALUES ([ColumnName or an expression or DEFAULT or NULL],…n)

利用这种形式的 语句(称为“插入值”),可以指定将在其中放置值的列以及为插入表中的每一行显示数据的顺序。 是可选的,但建议使用。 在没有 的情况下, 语句对表中的每一列都期望一个值,顺序与定义列的顺序相同。 还可以作为逗号分隔列表来提供这些列的值。

列出值时sql insert 语法 有关 Internet Explorer 和 Microsoft Edge 的详细信息,关键字 表示将使用某个预定义值(表创建表时指定)。 可通过三种方式确定默认值:

表创建的细节超出了本模块的范围。 但是,查看表中有哪些列通常很有用。 最简单的方法就是对表执行 语句,而不返回任何行。 通过使用永远不会返回 TRUE 值的 WHERE 条件,不能返回任何行。

SELECT * FROM Sales.Promotion
WHERE 1 = 0;

此语句将显示所有列及其名称sql insert 语法,但不会显示数据类型或任何属性,例如是否允许 NULL 值,或者是否指定了默认值。 查询输出的示例可能如下所示:

要向该表中插入数据,可以使用如下所示的 语句。

INSERT INTO Sales.Promotion (PromotionName,StartDate,ProductModelID,Discount,Notes)
VALUES
('Clearance Sale', '01/01/2021', 23, 0.1, '10% discount');

sql insert 语法

对于上面的示例,可以省略列清单,因为我们按正确的顺序为每列提供一个值:

INSERT INTO Sales.Promotion
VALUES
('Clearance Sale', '01/01/2021', 23, 0.1, '10% discount');

假设表定义为:当前日期的默认值应用于 列,并且 Notes 列允许 NULL 值。 可以明确指示想要使用这些值,如下所示:

INSERT INTO Sales.Promotion
VALUES
('Pull your socks up', DEFAULT, 24, 0.25, NULL);

或者,可以省略 语句中的值,如果省略,则使用默认值(如果已定义),如果没有默认值,但列允许 NULL 值,则将插入 NULL。 如果没有为所有列提供值,则必须包含列清单sql insert 语法 有关 Internet Explorer 和 Microsoft Edge 的详细信息,指出为哪些列提供了值。

INSERT INTO Sales.Promotion (PromotionName, ProductModelID, Discount)
VALUES
('Caps Locked', 2, 0.2);

语句除了能够一次插入一行之外,还可用于插入多行,方法是提供多个逗号分隔的值集。 值集也用逗号分隔,如下所示:

(col1_val,col2_val,col3_val),
(col1_val,col2_val,col3_val)

这一值列表称为表值构造函数。 下面的示例使用表值构造函数将另外两行插入表中:

INSERT INTO Sales.Promotion
VALUES
('The gloves are off!', DEFAULT, 3, 0.25, NULL),
('The gloves are off!', DEFAULT, 4, 0.25, NULL);

插入。。。选择

除了在 语句中指定一组文本值以外,T-SQL 还支持使用其他运算的结果来提供 的值。 可以使用 语句的结果或存储过程的输出来提供 语句的值。

要将 与嵌套 一起使用,请生成一个 语句来替换 子句。 通过这种格式(称为 ),可将 查询返回的行集插入到目标表中。 使用 时,将显示与 相同的注意事项:

以下语法说明了 的用法:

INSERT [INTO] 
[(column_list)] SELECT FROM
...;

注意

sql insert 语法

也可以将来自存储过程(甚至动态批处理)的结果集用作 语句的输入。 这种格式的 (称为 EXEC)在概念上类似于 ,并且将显示相同的注意事项。 但是,存储过程可能会返回多个结果集sql insert 语法,因此需要格外小心。

以下示例将为名为 Get 的新促销插入多行,方法是:从 .(这是一个表,列出了名称中包含“frame”的所有模型)中检索模型 ID 和模型名称。

INSERT INTO Sales.Promotion (PromotionName, ProductModelID, Discount, Notes)
SELECT DISTINCT 'Get Framed', m.ProductModelID, 0.1, '10% off ' + m.Name
FROM Production.ProductModel AS m
WHERE m.Name LIKE '%frame%';

与子查询不同,与 一起使用的嵌套 不用括号括起。

选择…INTO

插入行的另一种选择是 INTO 语句,该语句与 语句类似。 和 INTO 的最大区别在于, INTO 不能用于将行插入到现有表中,因为 INTO 始终会根据 的结果创建一个新表。 新表中的每列的名称、数据类型、为 null 性均与 列表中对应的列(或表达式)相同。

要使用 INTO,请在查询的 子句中添加 INTO (就在 FROM 子句前面)。 下面的示例将 Sales. 表中的数据提取到名为 Sales. 的新表中。

SELECT SalesOrderID, CustomerID, OrderDate, PurchaseOrderNumber, TotalDue
INTO Sales.Invoice
FROM Sales.SalesOrderHeader;

如果已经存在一个表名与 INTO 后面指定的名称相同,则 INTO 将失败。 创建表后,可以像处理任何其他表一样处理该表。 可以选择这个表sql insert 语法,将其联接到其他表,或在表中插入更多行。

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » sql insert 语法 有关 Internet Explorer 和 Microsoft Edge 的详细信息

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们