分享
 
 
 

结构化查询语言(SQL)原理

王朝mssql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

第一部分:介绍

结构化查询语言(SQL)是现代数据库体系结构的基本构成部分之一。SQL定义了在大多数平台上建立和操作关系数据库的方法。乍看这种语言很可怕,很复杂,但它真的不是那么糟。现在你将会知道它的原理,你会向往它,用它来操作数据库的。

这周,我们SQL系列的第一篇文章会介绍SQL的基本概念,我们会快速的看看数据库的创建和修改命令。在整篇文章,请记住我们的意图:我们会了解SQL的大概??不是掌握那些单个的命令。我们会提供一些例子来说明这个意图和解释它的原理,但是读完这篇文章后如果你还不会写自己的SQL命令请不要灰心。我们将在以后几个星期会详细介绍那些主要命令的。

随便说说,SQL的正确发音在数据库交流中是有争论的。对于SQL标准,美国标准协会认为官方发音是“es queue el.”。然而,许多数据库专家用行话“sequel”。这看你自己的选择。

SQL有好几种版本。Oracle 数据库定义它的PL/SQL。Microsoft SQL Server 定义它的Transact-SQL。然而,所有这些版本都是基于工业标准的ANSI SQL。在该指南,我们坚持用适用于任何现代关系数据库系统的基于ANSI标准的SQL命令

SQL命令可以分成两大子系统语言。数据定义语言(DDL)包含那写用用于建立和删除数据库以及数据库实体的命令。用DDL语言定义了数据库结构后,数据库管理者和用户就可以利用数据操作语言来插入、得到和修改数据内容。在本文章的下两个部分,我们将更详细地探讨DDL和DML。在以后的文章中我们将会对特殊的SQL命令做更深入的探讨。

现在让我们看看数据定义语言。

第二部分:数据定义语言

数据定义语言(DDL)是用来定义和删除数据库以及数据库实体的。这些命令主要是被数据库管理者用来建立和删除数据库实体的。让我们来看看四种基本DDL命令的结构和用法。

CREATE

在计算机上安装一个数据库管理系统以便你建立和管理许多独立的数据库。比如,你要维护一个销售部门的消费者库和人力资源部的职员数据库。用CREATE命令就能在你的平台上建立这些数据库。例如下面的命令:

CREATE DATABASE employees

在你的数据库管理系统上建立一个叫“employees”的空库。建立数据库后,下一步你就建一些包含这些数据的表。(如果这个没有意义,你可以看看关于Microsoft Access原理的文章来得到数据库和表的总的看法)。CREATE的另一个参数可用于这个目的。看:

CREATE TABLE personal_info

(first_name char(20) not null, last_name char(20) not null, employee_id int not null)

在当前的数据库中建一个叫“personal_info”的表。在我们的例子中,表包含三个属性:first_name,last_name 和employee_id。不要担心此命令所包含的其它信息??我们将在以后的文章中有所介绍。

USE

USE命令让你能在你的数据库管理系统中指定要操作的数据库。比如,我们当前使用的是sales数据库,而我们要发出一些操作employees数据库的命令,我们就的先执行以下的命令:

USE employees

在执行命令和操作数据库前,你要有意识地确定你要操作的数据库,这是很重要的。

ALTER

一旦你在数据库中建立了一个表,你也许想要修改它。ALTER命令能让你改变数据库的结构而不用删除它之后在重建。看看下面的命令:

ALTER TABLE personal_info

ADD salary money null

这个例子给personal_info表添加了一列新的属性??employee's salary。“money”指定的格式使职员的薪水用美元和美分的格式存放。最后,为空(NULL)则告诉数据库对任何职员次列可以为空值。

DROP

数据定义语言的最后一个命令,DROP,允许我们从数据库管理系统中移去整个数据库实体。比如,如果你想永远的移去你建立了的personal_info表,我们就的用下面的命令:

DROP TABLE personal_info

同样的,下面的命令将用来移去整个employee数据库:

DROP DATABASE employees

请小心地使用这个命令!记住DROP命令会删除整个的数据库。如果你想删掉某个记录,用数据管理语言的DELETE命令。

那只是数据定义语言的一小部分。在本文的下一部分,我们将看看数据操作语言怎样被用来操作数据库中的信息内容。请继续!

第三部分:数据操作语言

数据操作语言(DML)用来得到、插入和修改数据库信息的。用户在常规的数据库操作中使用这些命令。让我们来大概地了解一下基本的DML命令:

INSERT

在SQL中INSERT命令被用来在表中添加一些记录。回到上面的personal_info例子,假设人力资源部要往库中添加一个新的employee记录。他们会用到类似于下面的命令:

INSERT INTO personal_info

values('bart','simpson',12345,$45000)

请注意,在记录中指定了四个值。这些对应表中定义的属性:first_name,last_name,employee_id,and salary。

SELECT

SELECT命令是SQL最常用的命令。它允许数据库使用者从一个数据库中得到他们想要的信息。让我们看点例子,继续用employees库中的personal_info表。

下面的命令得到personal_info表中的所有信息。注意,星号在SQL中是通配符。下面的意思是:“从personal_info表中取所有信息”。

SELECT *

FROM personal_info

作为选择,用户想限定从数据库中得到的数据列。比如,人力资源部想列出公司中所有职员的名字。下面的SQL命令就能得到这些信息:

SELECT last_name

FROM personal_info

最后,WHERE子句用来限定得到的记录,使其合乎要求。CEO也许会想得到所有高薪的职员的信息。下面的命令将从personal_info表得到薪水高于50,000美元的记录:

SELECT *

FROM personal_info

WHERE salary $50000

UPDATE

UPDATE命令用来更新表的内容,无论是成批的还是单个的记录。每年公司给每个职员加30%的生活津贴。下面的命令用来快速地使所有的职员的记录实现这个目的:

UPDATE personal_info

SET salary = salary * 1.03

另一方面,我们一个新的职员art Simpson超额完成工作。管理者想嘉奖他5,000美元。用WHERE子句就能单个地给Bart添加薪水:

UPDATE personal_info

SET salary = salary + $5000

WHERE employee_id = 12345

DELETE

最后,我们来看看DELETE命令。你会发现它的语法类似于其它的DML命令。不幸的是,最新的公司收入报告比预想的还差,可怜的Bart被解雇了。用带WHERE的DELETE命令从personal_info表中删去他的记录。

DELETE FROM personal_info

WHERE employee_id = 12345

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有