SQL基础教程资料_第1页
SQL基础教程资料_第2页
SQL基础教程资料_第3页
SQL基础教程资料_第4页
SQL基础教程资料_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1SQL基础教程

SQL就是用于访问与处理数据库得标准得计算机语言。

在本教程中,您将学到如何使用SQL访问与处理数据系统中得数据,这

类数据库包括:Oracle,Sybase,SQLServer,DB2,Access等等。

2SQL简介

SQL就是用于访问与处理数据库得标准得计算机语言。

什么就是SQL?

•SQL指结构化查询语言

•SQL使我们有能力访问数据库

•SQL就是一种ANSI得标准计算机语言

编者注:ANSI,美国国家标准化组织

SQL能做什么?

•SQL面向数据库执行查询

•SQL可从数据库联回数据

•SQL可在数据库中插入新得记录

•SQL可更新数据库中得数据

•SQL可从数据库删除记录

•SQL可创建新数据库

•SQL可在数据库中创建新表

•SQL可在数据库中创建存储过程

•SQL可在数据库中创建视图

•SQL可以设置表、存储过程与视图得权限

SQL就是一种标准-但就是、、、

SQL就是一门ANSI得标准计算机语言,用来访问与操作数据库系统。SQL语句用于取回与

更新数据库中得数据。SQL可与数据库程序协同工作,比如MSAccess.DB2.Informix.MS

SQLServer、Oracle、Sybase以及其她数据库系统。

不幸地就是,存在着很多不同版本得SQL语言,但就是为了与ANSI标准相兼容,它们必须

以相似得方式共同地来支持一些主要得关键词(比如SELECT.UPDATE.DELETE.INSERT.WHERE

等等)。

注释:除了SQL标准之外,大部分SQL数据库程序都拥有它们自己得私有扩展!

在您得网站中使用SQL

要创建发布数据库中数据得网站,您需要以下要素:

•RDBMS数据库程序(比如MSAccess,SQLServer,MySQL)

•服务器端脚本语言(比如PHP或ASP)

•SQL

•HTML/CSS

RDBMS

RDBMS指得就是关系型数据库管理系统。

RDBMS就是SQL得基础,同样也就是所有现代数据库系统得基础,比如MSSQLServer,IBM

DB2,Oracle,MySQL以及MicrosoftAccess。

RDBMS中得数据存储在被称为表(tabIes)得数据库对象中。

表就是相关得数据项得集合,它由列与行组成。

3SQL语法

数据库表

一个数据库通常包含一个或多个表。每个表由一个名字派识(例如“客户”或者“订单”)。

表包含带有数据得记录(行)。

下面得例子就是一个名为"Persons"得表:

1AdamsJohnOxfordStreetLondon

2BushGeorgeFifthAvenueNewYork

3CarterThomasChanganStreetBeijing

上面得表包含三条记录(每一条对应一个人)与五个列(Id、姓、名、地址与城市)。

SQL语句

您需要在数据库上执行得大部分工作都由SQL语句完成。

下而得语句从表中选取LastName列得数据:

SELECTLastNameFROMPersons

结果集类似这样:

在本教程中,我们将为您讲解各种不同得SQL语句。

重要事项

一定要记住,SQL对大小写不敏感!

SQL语句后面得分号?

某些数据库系统要求在每条SQL命令得末端使用分号。在我们得教程中不使用分号。

分号就是在数据库系统中分隔每条SQL语句得标准方法,这样就可以在对服务器得相同请

求中执行一条以上得语句,

如果您使用得就是MSAccess与SQLServer2000,则不必在每条SQL语句之后使用分号,

不过某些数据库软件要求必须使用分号。

SQLDML与DDL

可以把SQL分为两个部分:数据操作语言(DML)与数据定义语言(DDL)。

SQL(结构化查询语言)就是用于执行查询得语法。但就是SQL语言也包含用于更新、插入

与删除记录得语法。

查询与更新指令构成了SQL得DML部分:

•SELECT-从数据库表中获取数据

•UPDATE-更新数据库表中得数据

•DELETE-从数据库表中删除数据

•INSERTINTO-向数据库表中插入数据

SQL得数据定义语言(DDL)部分使我们有能力创建或删除表格。我们也可以定义索弓I(键),

规定表之间得捱接,以及施加表间得约束。

SQL中最重要得DDL语句:

•CREATEDATABASE-创建新数据库

•ALTERDATABASE-修改数据库

•CREATETABLE-创建新表

•ALTERTABLE-变更(改变)数据库表

•DROPTABLE-删除表

•CREATEINDEX-创建索弓1(搜索键)

•DROPINDEX-删除索引

4SQLSELECT语句

本章讲解SELECT与SELECT*语句。

SQLSELECT*实例

现在我们希望从''Persons"表中选取所有得列。

请使用符号*取代列得名称,就像这样:

SELECT*FROMPersons

星号住)就是选取所有列得快捷方式。

结果:

1AdamsJohnOxfordStreetLondon

2BushGeorgeFifthAvenueNewYork

3CarterThomasChanganStreetBeijing

在结果集(resuIt-set)中导航

由SQL查询程序获得得益果被存放在一个结果集中。大多数数据库软件系统都允许使用编

程函数在结果集中进行导航,比如:Move-To-First-Record、Get-Record-Contents

Move-To-Next-Record等等。

通过列名查找表名

seIecttab,name

fromsyscoIumnsascol

innerjoinsysobjectsastaboncol>id=tab、id

wherecol、name='列名’

5SQLSELECTDISTINCT语句

本章讲解SELECTDISTINCT语句。

SQLSELECTDISTINCT语句

在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)

得值。

关键词DISTINCT用于返回唯一不同得值。

语法:

SELECTDISTINCT列名称FROM表名称

使用DISTINCT关键词

如果要从”pany"列中选取所有得值,我们需要使用SELECT语句:

SELECTpanyFROMOrders

"Orders"表:

IBM3532

W3School2356

Apple4698

W3School6953

结果:

请注意,在结果集中,W3School被列出了两次。

如需从pany"列中仅选取唯一不同得值,我们需要使用SELECTDISTINCT语句:

SELECTDISTINCTpanyFROMOrders

结果:

IBM

W3School

Apple

现在,在结果集中,"W3School"仅被列出了一次。

6SQLWHERE子句

WHERE子句用于规定选择得标准。

WHERE子句

如需有条件地从表中选取数据,可将WHERE子句添加到SELECT语句。

语法

SELECT列名称FROM表名称WHERE列运算符,直

下面得运算符可在WHERE子句中使用:

=等于|

<>不等于

>大于

<小于

>=大于等于

<=小于等于

BETWEEN在某个范围内

LIKE搜索某种模式

注释:在某些版本得SQL中,操作符<>可以写为!二。

使用WHERE子句

如果只希望选取居住在城市"Beijing"中得人,我们需要向SELECT语句添加WHERE子

句:

SELECT*FROMPersonsWHERECity=*Beijing'

"Persons',表

AdamsJohnOxfordStreetLondon1970

BushGeorgeFifthAvenueNewYork1975

CarterThomasChanganStreetBeijing1980

GatesBillXuanwumen10Beijing1985

结果:

CarterThomasChanganStreetBeijing1980

GatesBillXuanwumen10Beijing1985

引号得使用

请注意,我们在例子中得条件值周围使用得就是单引号。

SQL使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果就是数值,请不要使

用引号。

文本值:

这就是正确得:

SELECT*FROMPersonsWHEREFirstName='Bush'

这就是错误得:

SELECT*FROMPersonsWHEREFirstName=Bush

数值:

这就是正确得:

SELECT*FROMPersonsWHEREYear>1965

这就是错误得:

SELECT*FROMPersonsWHEREYear>'1965'

7SQLAND&OR运算符

AND与OR运算符用于基于一个以上得条件对记录进行过滤。

AND与OR运算符

AND与OR可在WHERE子语句中把两个或多个条件结合起来。

如果第一个条件与第二个条件都成立,则AND运算符显示一条记录。

如果第一个条件与第二个条件中只要有一个成立,则OR运算符显示一条记录。

原始得表(用在例子中得):

AdamsJohnOxfordStreetLondon

BushGeorgeFifthAvenueNewYork

CarterThomasChanganStreetBeijing

CarterWilliamXuanwumen10Beijing

AND运算符实例

使用AND来显示所有姓为"Carter"并且名为"Thomas"得人:

SELECT*FROMPersonsWHEREFirstName='Thomas'AND

LastName='Carter'

结果:

OR运算符实例

使用OR来显示所有姓为"Carter"或者名为"Thomas"得人:

SELECT*FROMPersonsWHEREfirstname='Thomas'ORIastname=,Carter

结果:

CarterThomasChanganStreetBeijing

CarterWiliamXuanwumen10Beijing

结合AND与OR运算符

我们也可以把AND与OR结合起来(使用圆括号来组成复杂得表达式):

SELECT*FROMPersonsWHERE(FirstName='Thomas'OR

FirstName='WiIIiam')

ANDLastName=,Carter'

结果:

CarterThomasChanganStreetBeijing

CarterWiliamXuanwumen10Beijing

8SQLORDERBY子句

ORDERBY语句用于对结果集进行排序。

ORDERBY语句

ORDERBY语句用于根据指定得列对结果集进行排序。

ORDERBY语句默认按照升序对记录进行排序。

如果您希望按照降序对记录进行排序,可以使用DESC关键字。

原始得表(用在例子中得):

Orders表:

IBM3532

W3School2356

Apple4698

W3School6953

实例1

以字母顺序显示公司名称:

SELECTpany,OrderNumberFROMOrdersORDERBYpany

结果:

Apple4698

IBM3532

W3School6953

W3School2356

实例2

以字母顺序显示公司名称(pany),并以数字顺序显示顺序号(OrderNumber):

SELECTpany,OrderNumberFROMOrdersORDERBYpany,OrderNumber

结果:

Apple4698

IBM3532

W3School2356

W3School6953

实例3

以逆字母顺序显示公司名称:

SELECTpany,OrderNumberFROMOrdersORDERBYpanyDESC

结果:

W3School6953

W3School2356

IBM3532

Apple4698

实例4

以逆字母顺序显示公司名称,并以数字顺序显示顺序号:

SELECTpany,OrderNumberFROMOrdersORDERBYpanyDESC,OrderNumber

ASC

结果:

W3School2356

W3School6953

IBM3532

Apple4698

注意:在以上得结果中有两个相等得公司名称(W3School)。只有这一次,在第一列中有相同

得值时,第二列就是以升序排列得。如果第一列中有些值为nulls时,情况也就是这样得。

9SQLINSERTINTO语句

INSERTINTO语句

INSERTINTO语句用于向表格中插入新得行。

语法

INSERTINTO表名称VALUES(值1,值2,、、、、)

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

INSERTINTOtable_nane(列1,列2,、、、)VALUES(值1,值2,、、、、)

插入新得行

"Persons"表:

CarterThomasChanganStreetBeijing

SQL语句:

INSERTINTOPersonsVALUES('Gates','Bill','Xuanwumen10',

'Beijing')

结果:

CarterThomasChanganStreetBeijing

GatesBillXuanwumen10Beijing

在指定得列中插入数据

"Persons"表:

CarterThomasChanganStreetBeijing

GatesBillXuanwumen10Beijing

SQL语句:

INSERTINTOPersons(LastName,Address)VALUES('Wilson,,

'Champs-EIysees')

结果:

CarterThomasChanganStreetBeijing

GatesBillXuanwumen10Beijing

WilsonChamps-Elysees

10SQLUPDATE语句

Update语句

Update语句用于修改表中得数据。

语法:

UPDATE表名称SET列名称二新值WHERE列名称二某值

Person:

Ga

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论