SQL语句基础教程(7)

2019-04-21 12:38

就是运用 TRUNCATE TABLE 的指令。在这个指令之下,表格中的资料会完全消失,可是表格本身会继续存在。 TRUNCATE TABLE 的语法为下:

TRUNCATE TABLE \表格名\

所以,我们如果要清除在 SQL Create Table 那一页建立的顾客表格之内的资料,我们就键入:

TRUNCATE TABLE customer.

INSERT INTO

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

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

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

INSERT INTO \表格名\栏位1\栏位2\VALUES (\值1\值2\

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

Store_Information 表格 Column Name store_name Sales Data Type char(50) 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 也可以含有 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 上,您将会使用 WHERE to_char(date,'yyyy')=1998。

UPDATE

我们有时候可能会需要修改表格中的资料。在这个时候,我们就需要用到 UPDATE 指令。这个指令的语法是:

UPDATE \表格名\SET \栏位1\新值] WHERE {条件}

最容易了解这个语法的方式是透过一个例子。假设我们有以下的表格:

Store_Information 表格 store_name Los Angeles San Diego Los Angeles Boston Sales Date $1500 Jan-05-1999 $250 Jan-07-1999 $300 Jan-08-1999 $700 Jan-08-1999 我们发现说 Los Angeles 在 01/08/1999 的营业额实际上是 $500,而不是表格中所储存的 $300,因此我们用以下的 SQL 来修改那一笔资料:

UPDATE Store_Information

SET Sales = 500

WHERE store_name = \ AND Date = \

现在表格的内容变成:

Store_Information 表格

store_name Sales Date Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los Angeles $500 Jan-08-1999 Boston $700 Jan-08-1999

在这个例子中,只有一笔资料符合 WHERE 子句中的条件。如果有多笔资料符合条件的话,每一笔符合条件的资料都会被修改的。

我们也可以同时修改好几个栏位。这语法如下:

UPDATE \表格\

SET \栏位1\值1], \栏位2\值2] WHERE {条件}

DELETE FROM

在某些情况下,我们会需要直接由数据库中去除一些资料。这可以藉由 DELETE FROM 指令来达成。它的语法是:

DELETE FROM \表格名\WHERE {条件}

以下我们用个实例说明。假设我们有以下这个表格:

Store_Information 表格 store_name Los Angeles San Diego Los Angeles Sales Date $1500 Jan-05-1999 $250 Jan-07-1999 $300 Jan-08-1999

Boston $700 Jan-08-1999 而我们需要将有关 Los Angeles 的资料全部去除。在这里我们可以用以下的 SQL 来达到这个目的:

DELETE FROM Store_Information WHERE store_name = \

现在表格的内容变成:

Store_Information 表格 store_name San Diego Boston

Sales $250 $700 Date Jan-07-1999 Jan-08-1999 进阶SQL

在这一部分,我们将介绍以下的 SQL 概念及关键字:

SQL UNION SQL UNION ALL SQL INTERSECT SQL MINUS SQL Subquery SQL EXISTS SQL CASE

我们并介绍如何用 SQL 来做出以下的运算:

排名 (Rank) 中位数 (Median)

累积总计 (Running Total) 总合百分比 (Percent to Total)

累积总合百分比 (Cumulative Percent to Total)

UNION

UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION 的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION 这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。

UNION 的语法如下:

[SQL 语句 1] UNION

[SQL 语句 2]

假设我们有以下的两个表格,

Store_Information 表格 store_name Los Angeles San Diego Los Angeles Boston Internet_Sales 表格 Date Jan-07-1999 Jan-10-1999 Jan-11-1999 Sales $250 $535 $320 Sales Date $1500 Jan-05-1999 $250 Jan-07-1999 $300 Jan-08-1999 $700 Jan-08-1999 Jan-12-1999 $750 而我们要找出来所有有营业额 (sales) 的日子。要达到这个目的,我们用以下的 SQL 语句:

SELECT Date FROM Store_Information UNION

SELECT Date FROM Internet_Sales

结果:

Date

Jan-05-1999 Jan-07-1999 Jan-08-1999 Jan-10-1999 Jan-11-1999 Jan-12-1999


SQL语句基础教程(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:北师大版小学二年级下册数学《搭一搭(二)》教学设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: