77范文网 - 专业文章范例文档资料分享平台

SQL语句基础教程(6)

来源:网络收集 时间:2019-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

若要在这个表格上建立一个包括 First_Name, Last_Name, 和 Country 这三个栏位的视观表,我们就打入,

CREATE VIEW V_Customer

AS SELECT First_Name, Last_Name, Country FROM Customer

现在,我们就有一个叫做 V_Customer 的视观表:

View V_Customer (First_Name char(50), Last_Name char(50),

Country char(25))

我们也可以用视观表来连接两个表格。在这个情况下,使用者就可以直接由一个视观表中找出她要的信息,而不需要由两个不同的表格中去做一次连接的动作。假设有以下的两个表格: Store_Information 表格 store_name Los Angeles San Diego Los Angeles Boston Geography 表格 region_name East East West Boston New York Los Angeles Sales Date $1500 Jan-05-1999 $250 Jan-07-1999 $300 Jan-08-1999 $700 Jan-08-1999 store_name West San Diego 我们就可以用以下的指令来建一个包括每个地区 (region) 销售额 (sales) 的视观表:

CREATE VIEW V_REGION_SALES

AS SELECT A1.region_name REGION, SUM(A2.Sales) SALES FROM Geography A1, Store_Information A2 WHERE A1.store_name = A2.store_name GROUP BY A1.region_name

这就给我们有一个名为 V_REGION_SALES 的视观表。这个视观表包含不同地区的销售哦。如果我们要从这个视观表中获取资料,我们就打入,

SELECT * FROM V_REGION_SALES

结果:

REGION SALES East $700

West $2050

CREATE INDEX

索引 (Index) 可以帮助我们从表格中快速地找到需要的资料。举例来说,假设我们要在一本园艺书中找如何种植青椒的讯息。若这本书没有索引的话,那我们是必须要从头开始读,直到我们找到有关种直青椒的地方为止。若这本书有索引的话,我们就可以先去索引找出种植青椒的信息是在哪一页,然后直接到那一页去阅读。很明显地,运用索引是一种有效且省时的方式。

从数据库表格中寻找资料也是同样的原理。如果一个表格没有索引的话,数据库系统就需要将整个表格的资料读出 (这个过程叫做'table scan')。若有适当的索引存在,数据库系统就可以先由这个索引去找出需要的资料是在表格的什么地方,然后直接去那些地方抓资料。这样子速度就快多了。

因此,在表格上建立索引是一件有利于系统效率的事。一个索引可以涵盖一或多个栏位。建立索引的语法如下:

CREATE INDEX \

现在假设我们有以下这个表格,

TABLE Customer (First_Name char(50), Last_Name char(50), Address char(50), City char(50), Country char(25), Birth_Date date)

若我们要在 Last_Name 这个栏位上建一个索引,我们就打入以下的指令,

CREATE INDEX IDX_CUSTOMER_LAST_NAME on CUSTOMER (Last_Name)

我们要在 City 及 Country 这两个栏位上建一个索引,我们就打入以下的指令,

CREATE INDEX IDX_CUSTOMER_LOCATION on CUSTOMER (City, Country)

索引的命名并没有一个固定的方式。通常会用的方式是在名称前加一个字首,例如 \,来避免与数据库中的其他物件混淆。另外,在索引名之内包括表格名及栏位名也是一个好的方式。

请读者注意,每个数据库会有它本身的 CREATE INDEX 语法,而不同数据库的语法会有不同。因此,在下指令前,请先由数据库使用手册中确认正确的语法。

ALTER TABLE

在表格被建立在数据库中后,我们常常会发现,这个表格的结构需要有所改变。常见的改变如下:

加一个栏位

删去一个栏位 改变栏位名称

改变栏位的资料种类

以上列出的改变并不是所有可能的改变。ALTER TABLE 也可以被用来作其他的改变,例如改变主键定义。

ALTER TABLE 的语法如下:

ALTER TABLE \[改变方式]

[改变方式] 的详细写法会依我们想要达到的目标而有所不同。再以上列出的改变中,[改变方式] 如下:

加一个栏位: ADD \栏位 1\栏位 1 资料种类\

删去一个栏位: DROP \栏位 1\

改变栏位名称: CHANGE \原本栏位名\新栏位名\新栏位名资料种类\ 改变栏位的资料种类: MODIFY \栏位 1\新资料种类\ 以下我们用在CREATE TABLE 一页建出的 customer 表格来当作例子:

customer 表格 栏位名称 First_Name Last_Name Address City Country 资料种类 char(50) char(50) char(50) char(50) char(25)

Birth_Date

ALTER table customer add Gender char(1)

这个指令执行后的表格架构是:

customer 表格 栏位名称 First_Name Last_Name Address City Country Birth_Date date 第一,我们要加入一个叫做 \的栏位。这可以用以下的指令达成:

资料种类 char(50) char(50) char(50) char(50) char(25) date Gender char(1) 接下来,我们要把 \栏位改名为 \。这可以用以下的指令达成:

ALTER table customer change Address Addr char(50)

这个指令执行后的表格架构是:

customer 表格 栏位名称 First_Name Last_Name Addr City Country Birth_Date Gender

ALTER table customer modify Addr char(30)

这个指令执行后的表格架构是:

customer 表格 栏位名称 First_Name Last_Name Addr City 资料种类 char(50) char(50) char(30) char(50) 资料种类 char(50) char(50) char(50) char(50) char(25) date char(1) 再来,我们要将 \栏位的资料种类改为 char(30)。这可以用以下的指令达成:

Country Birth_Date char(25) date Gender char(1) 最后,我们要删除 \栏位。这可以用以下的指令达成:

ALTER table customer drop Gender

这个指令执行后的表格架构是:

customer 表格 栏位名称 First_Name Last_Name Addr City Country Birth_Date

资料种类 char(50) char(50) char(30) char(50) char(25) date DROP TABLE

有时候我们会决定我们需要从数据库中清除一个表格。事实上,如果我们不能这样做的话,那将会是一个很大的问题,因为数据库管理师 (Database Administrator -- DBA) 势必无法对数据库做有效率的管理。还好,SQL 有提供一个 DROP TABLE 的语法来让我们清除表格。 DROP TABLE 的语法是:

DROP TABLE \表格名\

我们如果要清除在上一页中建立的顾客表格,我们就键入:

DROP TABLE customer.

TRUNCATE TABLE

有时候我们会需要清除一个表格中的所有资料。要达到者个目的,一种方式是我们在 上一页看到 的 DROP TABLE 指令。不过这样整个表格就消失,而无法再被用了。另一种方式

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库SQL语句基础教程(6)在线全文阅读。

SQL语句基础教程(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/609103.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: