SQL语句教程采用.docx

上传人:b****5 文档编号:8272662 上传时间:2023-01-30 格式:DOCX 页数:10 大小:123.79KB
下载 相关 举报
SQL语句教程采用.docx_第1页
第1页 / 共10页
SQL语句教程采用.docx_第2页
第2页 / 共10页
SQL语句教程采用.docx_第3页
第3页 / 共10页
SQL语句教程采用.docx_第4页
第4页 / 共10页
SQL语句教程采用.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

SQL语句教程采用.docx

《SQL语句教程采用.docx》由会员分享,可在线阅读,更多相关《SQL语句教程采用.docx(10页珍藏版)》请在冰豆网上搜索。

SQL语句教程采用.docx

SQL语句教程采用

SQL指令

SELECT

DISTINCT

WHERE

ANDORINBETWEENLIKEORDERBY

函数

COUNTGROUPBYHAVINGALIAS

表格链接

外部链接

CONCATENATE

SUBSTRING

TRIM

表格处理

CREATETABLE

CONSTRAINT

NOTNULL

UNIQUE

CHECK

主键

外来键

CREATEVIEW

CREATEINDEX

ALTERTABLE

DROPTABLETRUNCATETABLEINSERTINTOUPDATE

DELETEFROM进阶SQL

UNIONUNIONALLINTERSECTMINUS

子查询

EXISTS

CASE

算排名

算中位数

算总合百分比

算累积总合百分比

SQL语法

无论您是一位SQL的新手,或是一位只是需要对SQL复习一下的资料仓储业界老将,您就来对地方了。

这个SQL教材网站列出常用的SQL指令,包含以下几个部分:

♦SQL指令:

SQL如何被用来储存、读取、以及处理数据库之中的资料。

♦表格处理:

SQL如何被用来处理数据库中的表格。

♦进阶SQL:

介绍SQL进阶概念,以及如何用SQL来执行一些较复杂的运算。

♦SQL语法:

这一页列出所有在这个教材中被提到的SQL语法。

对于每一个指令,我们将会先列出及解释这个指令的语法,然后用一个例子来让读者了解这个指令是如何被运用的。

当您读完了这个网站的所有教材后,您将对SQL的语法会有一个大致上的了解。

另外,您将能够正确地运用SQL来由数据库中获取信息。

笔者本身的经验是,虽然要对SQL有很透彻的了解并不是一朝一夕可以完成的,可是要对SQL有个基本的了解并不难。

希望在看完这个网站后,您也会有同样的想法。

 

SQL指令

修改表名:

alter table test rename test1; --修改表名 

 

 

添加表列:

alter table test add  column name varchar(10); --添加表列

删除表列:

alter table test drop  column name; --删除表列 

 

修改表列类型:

alter table test modify address char(10) --修改表列类型或alter table test change address address  char(40) 

 

SELECT

 

是用来做什么的呢?

一个最常用的方式是将资料从数据库中的表格内选出。

从这一句回答中,我们马上可以看到两个关键字:

从(FROM)数据库中的表格内选出(SELECT)。

(表格是一个数据库内的结构,它的目的是储存资料。

在表格处理这一部分中,我们会提到如何使用SQL来设定表格。

)我们由这里可以看到最基本的SQL架构:

SELECT"栏位名"FROM"表格名"

我们用以下的例子来看看实际上是怎么用的。

假设我们有以下这个表格:

 

store_name

Sales

Date

LosAngeles

$1500

Jan-05-1999

 

SanDiego

$250

Jan-07-1999

LosAngeles

$300

Jan-08-1999

Boston

$700

Jan-08-1999

更改上表中的第1列的列名:

alter table test change  column address address1 varchar(30)--修改表列名 

更改列名后如下:

 

若要选出所有的店名(store_Name),我们就打入:

SELECTstore_nameFROMStore_Information

结果:

store_name

LosAngeles

SanDiego

LosAngeles

Boston

 

我们一次可以读取好几个栏位,也可以同时由好几个表格中选资料。

 

DISTINCT

 

SELECT指令让我们能够读取表格中一个或数个栏位的所有资料。

这将把所有的资料都抓出,无论资料值有无重复。

在资料处理中,我们会经常碰到需要找出表格内的不同资料值的情况。

换句话说,我们需要知道这个表格/栏位内有哪些不同的值,而每个值出现的次数并不重要。

这要如何达成呢?

在SQL中,这是很容易做到的。

我们只要在SELECT后加上一个DISTINCT就可以了。

DISTINCT的语法如下:

SELECTDISTINCT"栏位名"

FROM"表格名"

举例来说,若要在以下的表格,Store_Information,找出所有不同的店名时,

Store_Information表格

store_name

Sales

Date

LosAngeles

$1500

Jan-05-1999

SanDiego

$250

Jan-07-1999

LosAngeles

$300

Jan-08-1999

Boston

$700

Jan-08-1999

我们就键入,

 

SELECTDISTINCTstore_nameFROMStore_Information

结果:

store_name

LosAngeles

SanDiego

Boston

 

WHERE

 

我们并不一定每一次都要将表格内的资料都完全抓出。

在许多时候,我们会需要选择性地抓资料。

就我们的例子来说,我们可能只要抓出营业额超过$1,000的资料。

要做到这一点,我们就需要用到WHERE这个指令。

这个指令的语法如下:

 

SELECT"栏位名"

FROM"表格名"

WHERE"条件"

若我们要由以下的表格抓出营业额超过$1,000的资料,

Store_Information表格

store_name

Sales

Date

LosAngeles

$1500

Jan-05-1999

SanDiego

$250

Jan-07-1999

LosAngeles

$300

Jan-08-1999

Boston

$700

Jan-08-1999

我们就键入,

 

SELECTstore_name

FROMStore_Information

WHERESales>1000

结果:

store_nameLosAngeles

ANDOR

 

在上一页中,我们看到WHERE指令可以被用来由表格中有条件地选取资料。

这个条件可能是简单的(像上一页的例子),也可能是复杂的。

复杂条件是由二或多个简单条件透过AND或是OR的连接而成。

一个SQL语句中可以有无限多个简单条件的存在。

复杂条件的语法如下:

SELECT"栏位名"

FROM"表格名"WHERE"简单条件"

{[AND|OR]"简单条件"}+

{}+代表{}之内的情况会发生一或多次。

在这里的意思就是AND加简单条件及OR加简单条件的情况可以发生一或多次。

另外,我们可以用()来代表条件的先后次序。

举例来说,我们若要在Store_Information表格中选出所有Sales高于$1,000或是Sales

在$500及$275之间的资料的话,

Store_Information表格

store_name

Sales

Date

LosAngeles

$1500

Jan-05-1999

SanDiego

$250

Jan-07-1999

SanFrancisco

$300

Jan-08-1999

Boston

$700

Jan-08-1999

我们就键入,

SELECTstore_name

FROMStore_Information

WHERESales>1000

OR(Sales<500ANDSales>275)

结果:

store_nameLosAngelesSanFrancisco

 

IN

 

SELECT*FROMstore_informationWHEREstore_nameIN('LosAngeles','SanDiego')

执行结果如下:

SELECT*FROMstore_informationWHEREstore_name='LosAngeles'ORstore_name='SanDiego'

执行结果如下:

 

Between

SELECT*FROMstore_informationWHEREdatetBETWEEN'2015-07-06'AND'2015-07-10'

执行结果如下:

 

SELECT*FROMstore_informationWHEREsalesBETWEEN400AND2000

执行结果如下:

 

LIKE

LIKE是另一个在WHERE子句中会用到的指令。

基本上,LIKE能让我们依据一个模式(pattern)来找出我们要的资料.相对来说,在运用IN的时候,我们完全地知道我们需要的条件;在运用BETWEN的时候,我们则是列出一个范围。

LIKE的语法如下:

SELECT“栏位名“FROM“表格名”WHERE“栏位名”LIKE{模式}

{模式}经常包括野卡(wildcard)。

SELECT*FROMstore_informationWHEREstore_nameLIKE'%AN%'

执行结果如下:

 

ORDERBY

到目前为止,我们已经学到如何藉由SELECT及WHERE这两个指令将资料由表格中抓出。

不过我们尚未提到这些资料要如何排练。

这其实是一个很重要的问题。

事实上,我们经常需要能够将抓出的资料做一个有联系的显示。

这可能是由小往大(ascending)或是由大往小(descending)。

在这种情况下,我们就可以运用ORDERBY这个指令来达到我们的目的.

ORDERBY语法如下:

SELECT“栏位名”FROM“表格名”[WHERE“条件”]ORDERBY“栏位名”[ASC,DESC]

SELECTstore_name,sales,datetFROMstore_informationORDERBYsalesDESC

执行结果如下:

 

SELECTstore_name,sales,datetFROMstore_informationORDERBY3DESC

 

MySQL5.6.25和SQLyogUltimate11.3.0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1