sql insert into[插入]语句

2018年02月21日 15:11 | 2898次浏览

到目前为止,我们学到了将如何把数据由表格中取出(sql查询语句)。但是这些数据是如果进入这些表格的呢? 这就是本章节需要介绍的 (INSERT INTO)插入语句。

基本上,我们有两种作法可以将数据插入表格中内。一种是一次插入一笔,另一种是一次插入好几笔记录。我们先来看一次插入一笔的方式。

依照惯例,我们先介绍语法。一次向数据库表中插入一条记录的语法如下:

INSERT INTO "表名" ("列1", "列2", ...)
VALUES ("值1", "值2", ...);

假设我们有一个架构如下的表格:

Store_Information 表格

字段名称字段类型
Store_Namechar(50)
Salesfloat
Txn_Date

datetime

一次插入一条记录

而我们要加以下的这一笔数据进去这个表格:在 January 10, 1999,Los Angeles 店有$900 的营业额。我们就打入以下的 SQL 语句:

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
VALUES ('Los Angeles', 900, 'Jan-10-1999');

一次插入多条记录

第二种 INSERT INTO 能够让我们一次插入多笔的数据记录。跟上面刚的例子不同的是,现在我们要用 SELECT 指令来指明要输入表格的数据。如果您想说,这是不是说数据是从另一个表格来的,那您就想对了。一次插入多条记录的的语法是:

INSERT INTO "表格1" ("列1", "列2", ...)
SELECT "列3", "列4", ...
FROM "表格2";

以上的语法是最基本的。这整句 SQL 也可以含有 WHERE、 GROUP BY、及 HAVING 等子句,以及表格连接及别名等等。

举例来说,若我们想要将 1998 年的营业额资料放入 Store_Information 表格,而我们知道资料的来源是可以由 Sales_Information 表格取得的话,那我们就可以打入以下的 SQL:

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
SELECT store_name, Sales, Txn_Date
FROM Sales_Information
WHERE Year (Txn_Date) = 1998;

在这里,我用了 SQL Server 中的函数来由日期中找出年。不同的数据库会有不同的语法。举个例来说,在 Oracle 上,您将会使用 WHERE TO_CHAR (Txn_Date, 'yyyy') = 1998。 


在指定的列中插入数据

"Persons" 表:

sql insert into语句

SQL 语句:

NSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

结果

sql插入语句


小说《我是全球混乱的源头》

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程