SQL语句学习之路4

到目前为止,我们学到了将如何把资料由表格中取出。但是这些资料是如果进入这些表格的

呢?这就是这一页  (INSERTINTO)  和下一页  (UPDATE)  要讨论的。


基本上,我们有两种作法可以将资料输入表格中内。一种是一次输入一笔,另一种是一次输

入好几笔。我们先来看一次输入一笔的方式。


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

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

VALUES ("1", "2",...)  

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

Store_Information  表格

而我们要加以下的这一笔资料进去这个表格:在  January 10, 1999Los Angeles   店有  $900

的营业额。我们就打入以下的  SQL  语句:

INSERT INTO Store Intormation(store name,Sales,Date)

VALUES(‘Los Angeles‘,900,‘January-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, Date)

SELECT store_name, Sales, Date

FROM Sales_Information

WHERE Year(Date) = 1998  


在这里,我用了  SQL Server   中的函数来由日期中找出年。不同的数据库会有不同的语法。

举个例来说,在  Oracle  上,您将会使用  WHEREto_char(date,‘yyyy‘)=1998


INSERT INTO 语句

INSERT INTO 语句用于向表格中插入新的行。

语法

INSERT INTO 表名称 VALUES (值1, 值2,....)

我们也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

插入新的行

"Persons" 表:

LastNameFirstNameAddressCity
CarterThomasChangan StreetBeijing

SQL 语句:

INSERT INTO Persons VALUES (‘Gates‘, ‘Bill‘, ‘Xuanwumen 10‘, ‘Beijing‘)

结果:

LastNameFirstNameAddressCity
CarterThomasChangan StreetBeijing
GatesBillXuanwumen 10Beijing

在指定的列中插入数据

"Persons" 表:

LastNameFirstNameAddressCity
CarterThomasChangan StreetBeijing
GatesBillXuanwumen 10Beijing

SQL 语句:

INSERT INTO Persons (LastName, Address) VALUES (‘Wilson‘, ‘Champs-Elysees‘)

结果:

LastNameFirstNameAddressCity
CarterThomasChangan StreetBeijing
GatesBillXuanwumen 10Beijing
Wilson
Champs-Elysees











本文出自 “小刘_Blog” 博客,请务必保留此出处http://liuyafang.blog.51cto.com/8837978/1400905

SQL语句学习之路4,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。