SQL Insert Into


SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL IN
SQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL 函数
SQL COUNT
SQL GROUP BY
SQL HAVING
SQL ALIAS
SQL 表格连接
SQL 外部连接
SQL Subquery
SQL UNION
SQL UNION ALL
SQL INTERSECT
SQL MINUS
SQL CONCATENATE
SQL SUBSTRING
SQL TRIM

SQL CREATE TABLE
SQL CREATE VIEW
SQL CREATE INDEX
SQL ALTER TABLE
SQL 主键
SQL 外来键
SQL DROP TABLE
SQL TRUNCATE TABLE
SQL INSERT INTO
SQL UPDATE
SQL DELETE FROM







网站导引
其他资源

到目前为止,我们学到了将如何把资料由表格中取出。但是这些资料是如果进入这些表格的呢? 这就是这一页 (INSERT INTO) 和下一页 (UPDATE) 要讨论的。

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

依照惯例,我们先介绍语法。一次输入一笔资料的语法如下:

INSERT INTO "表格名" ("栏位1", "栏位2", ...)
VALUES ("值1", "值2", ...)

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

Store_Information 表格
Column Name Data Type
store_name char(50)
Sales float
Date datetime

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

INSERT INTO Store_Information (store_name, Sales, Date)
VALUES ('Los Angeles', 900, 'Jan-10-1999')

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

INSERT INTO "表格1" ("栏位1", "栏位2", ...)
SELECT "栏位3", "栏位4", ...
FROM "表格2"

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

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

INSERT INTO Store_Information (store_name, Sales, Date)
SELECT store_name, Sales, Date
FROM Sales_Information
WHERE Year(Date) = 1998

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

SQL UPDATE >>



网站导引   |   其他资源