Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1268886
  • 博文数量: 510
  • 博客积分: 20296
  • 博客等级: 上将
  • 技术积分: 4680
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-30 03:58
文章存档

2011年(13)

2010年(92)

2009年(242)

2008年(163)

我的朋友

分类: 数据库开发技术

2009-01-26 02:57:11

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

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

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

  1. INSERT INTO "表格名" ("栏位1", "栏位2", ...)
  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 语句:

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

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

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

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

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

  1. INSERT INTO Store_Information (store_name, Sales, Date)
  2. SELECT store_name, Sales, Date
  3. FROM Sales_Information
  4. WHERE Year(Date) = 1998

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


参考: 

     

      

下一页:SQL Update

阅读(948) | 评论(0) | 转发(0) |
0

上一篇:31.SQL Truncate Table

下一篇:33.SQL Update

给主人留下些什么吧!~~