SQL语言快速入门之一

来源:互联网 发布:程序员刚入职 编辑:程序博客网 时间:2024/06/08 01:58

Store_Information

 

SQL 英文 Structur Queri Languag 缩写,意思为结构化查询语言。 SQL 语言的主要功能就是同各种数据库建立联系,进行沟通。依照 ANSI 美国国家规范协会)规定, SQL 被作为关系型数据库管理系统的规范语言。 SQL 语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如 Oracle, < <SQL 英文 Structur Queri Languag 缩写。 Sybase, Microsoft SQL Server, Access 等都采用了 SQL 语言规范。虽然很多数据库都对 SQL 语句进行了再开发和扩展,但是包括 Select, Insert, Update, Delete, Create, 以及 Drop 内的规范的 SQL 命令仍然可以被用来完成几乎所有的数据库操作。下面,就来详细介绍一下 SQL 语言的基本知识。

 

数据库表格

都是由行和列组成,一个典型的关系型数据库通常由一个或多个被称作表格的对象组成。数据库中的所有数据或信息都被保存在这些数据库表格中。数据库中的每一个表格都具有自己唯一的表格名称。其中每一列包括了该列名称,数据类型,以及列的其它属性等信息,而行则具体包括某一列的记录或数据。以下,一个名为天气的数据库表格的实例。

 

 乡村 最高气温 最低气温

 北京 10 5

 上海 15 8

 天津 8 2

 重庆  20 13

 

 

而表格中的每一行则包含了具体的表格数据。 该表格中 “ 乡村 ” 最高气温 ” 和 “ 最低气温 ” 就是三个不同的列。

 

数据查询

select 语句应该算是使用最频繁的 Select 语句主要被用来对数据库进行查询并返回符合用户查询规范的结果数据。 Select 语句的语法格式如下: 众多的 SQL 命令中。

column2,select column1 [.etc] from tablename

[wher condition];

[] 表示可选项)

还可以使用通配符 “ * 来设定返回表格中的所有列。 select 语句中位于 select 关键词之后的列名用来决定那些列将作为查询结果返回。用户可以依照自己的需要选择任意列。

select 语句中位于 from 关键词之后的表格名称用来决定将要进行查询操作的目标表格。

Select 语句中的 where 可选从句用来规定哪些数据值或哪些行将被作为查询结果返回或显示。

where 条件从句中可以使用以下一些运算符来设定查询规范:

 

 

= 等于

> 大于

< 小于

>= 大于等于

<= 小于等于

<> 不等于

LIKE 运算符在 where 条件从句中也非常重要。 LIKE 运算符的功能非常强大,除了上面所提到运算符外。通过使用 LIKE 运算符可以设定只选择与用户规定格式相同的记录。此外,还可以使用通配符 “ % 用来代替任何字符串。举例如下:

lastname,select firstname. city

from employee

wher firstnam LIKE E% ;

字符串必需被包含在单括号内) 注意。

通过如下语句: 上述 SQL 语句将会查询所有名称以 E 开头的姓名。或者。

select * from employee

wher firstnam = Mai

查询所有名称为 Mai 行。

 

 

 

 

 

 

 SQL 语言快速入门之二


日期: 2005 年 4 月 15 日 作者: -= 不详 =- 人气: < src="../A rticleHits.asp?A rticleID=1373" type="text/javascript"> 人 [ 大 中 小 ]

 

  

 

创建表格

SQL 语言中的 creat tabl 语句被用来建立新的数据库表格。 Creat tabl 语句的使用格式如下:

creat tabl tablename

 

column2 data type.

column3 data type ;

可以使用可选的条件选项: 如果用户希望在建立新表格时规定列的限制条件。

creat tabl tablename

 

 

 

column3 data type [constraint] ;

举例如下:

creat tabl employee

 

 

 

 

 

 

 

citi varchar 20 ;

创建新表格时,简单来说。关键词 creat tabl 后面加入所要建立的表格的名称,然后在括号内顺次设定各列的名称,数据类型,以及可选的限制条件等。注意,所有的 SQL 语句在结尾处都要使用 “ 符号。

后面可以使用字母,数字或下划线,名称的长度不能超越 30 个字符。注意,用户在选择表格名称时不要使用 SQL 语言中的保管关键词,如 select, 使用 SQL 语句创立的数据库表格和表格中列的名称必需以字母开头。 create, insert 等,作为表格或列的名称。

姓名列中只能采用 varchar 或 char 数据类型,数据类型用来设定某一个具体列中数据的类型。例如。而不能使用 number 数据类型。

SQL 语言中较为常用的数据类型为:

其中括号中的 size 用来设定字符串的最大长度。 Char 类型的最大长度为 255 字节。 char size 固定长度字符串。

最大长度由 size 设定。 varchar size 可变长度字符串。

其中数字的最大位数由 size 设定。 number size 数字类型。

Date 日期类型。

size 决定该数字总的最大位数,而 d 则用于设定该数字在小数点后的位数。 number size,d 数字类型。

创建新表格时需要注意的一点就是表格中列的限制条件。所谓限制条件就是当向特定列输入数据时所必须遵守的规则。例如,最后。 uniqu 这一限制条件要求某一列中不能存在两个值相同的记录,所有记录的值都必须是唯一的除 uniqu 之外,较为常用的列的限制条件还包括 not null 和 primari kei 等。 Not null 用来规定表格中某一列的值不能为空。 Primari kei 则为表格中的所有记录规定了唯一的标识符。

 

向表格中插入数据

SQL 语言使用 insert 语句向数据库表格中插入或添加新的数据行。 Insert 语句的使用格式如下:

insert into tablename

...last_column first_column.

...last_valu ; valu first_value.

例如:

insert into employee

lastname, firstname. age, address, citi

Ming ,valu Li . 45, No.77 Changan Road , Beij ;

当向数据库表格中添加新记录时,简单来说。关键词 insert into 后面输入所要添加的表格名称,然后在括号中列出将要添加新值的列的名称。最后,关键词 valu 后面依照前面输入的列的顺序对应的输入所有要添加的记录值。

更新记录

SQL 语言使用 updat 语句更新或修改满足规定条件的现有记录。 Update 语句的格式为:

updat tablename

nextcolumn = newvalue2...set columnnam = newvalu [.]

 

 

wher columnnam OPERA TOR valu [and|or column OPERA TOR value];

例如:

updat employee

set ag = age+1

wher first_name= Mari and last_name= William ;

关键一点就是要设定好用于进行判断的 where 条件从句。 使用 updat 语句时。

删除记录

SQL 语言使用 delet 语句删除数据库表格中的行或记录。 Delet 语句的格式为:

delet from tablename

wher columnnam OPERA TOR valu [and|or column OPERA TOR value];

例如:

delet from employee

wher lastnam = May;

当需要删除某一行或某个记录时,简单来说。 delet from 关键词之后输入表格名称,然后在 where 从句中设定删除记录的判断条件。注意,如果用户在使用 delet 语句时不设定 where 从句,则表格中的所有记录将全部被删除。

 

删除数据库表格

SQL 语言中使用 drop tabl 命令删除某个表格以及该表格中的所有记录。 Drop tabl 命令的使用格式为:

drop tabl tablenam

例如:

drop tabl employee;

只需要在 drop tabl 命令后输入希望删除的表格名称即可。 Drop tabl 命令的作用与删除表格中的所有记录不同。删除表格中的全部记录之后,如果用户希望将某个数据库表格完全删除。该表格仍然存在而且表格中列的信息不会改变。而使用 drop tabl 命令则会将整个数据库表格的所有信息全部删除。

对 SQL 语言主要的命令和语句进行了较为详细的介绍。应该说 SQL 语句的语法结构和风格还是相当简单和直观的只要用户结合实践多加练习,以上。一定会在短期内迅速掌握。

 

 

 

 

 

 

 

 

 SQL 语言快速入门之三


日期: 2005 年 4 月 15 日 作者: -= 不详 =- 人气: < src="../A rticleHits.asp?A rticleID=1374" type="text/javascript"> 人 [ 大 中 小 ]

 

  

 

 

日常使用 SQL 语言的工作过程中, < < 日常使用 SQL 语言的工作过程中。使用最多的还是从已经建立好的数据库中查询信息。下面,就来详细介绍一下如何使用 SQL 语言实现各种数据库查询操作。

SELECT FROM

为方便讲解,数据库中创建名为 Store_Inform 如下数据表。

 

 

Store_Nam

 

Sal

 

D

 

 

Lo Angele

 

$1500

 

Jan-10-2000

 

 

San Diego

 

$250

 

Jan-11-2000

 

 

Lo Angele

 

$300

 

Jan-12-2000

 

 

Boston

 

$700

 

Jan-12-2000

 

 

SQL 语言中用于数据库查询的最简单的命令就是 SELECT FROM 语法格式为:

SELECT "column_name" FROM "table_name"

例如,如果我希望查询 Store_Inform 数据表中所有的商店名称时,可以使用如下命令:

SELECT store_nam FROM Store_Information

查询结果显示为:

Store_Nam

Lo Angele

San Diego

Lo Angele

Boston

如果用户希望一次查询多个字段,可以将所要查询的字段名称依次加入 SELECT 关键字之后,中间用 “ 隔开即可。

DISTINCT

SELECT 关键字支持用户查询数据表中指定字段的所有数据,但是这样有时就会不可避免的出现重复信息。如果用户希望只查询那些具有不同记录值的信息的话,可以使用 SQL 语言的 DISTINCT 关键字。语法格式如下:

SELECT DISTINCT "column_name"

FROM "table_name"

例如,可以使用以下命令查询 Store_Inform 数据表具有不同记录值的所有记录。

SELECT DISTINCT Store_Nam FROM Store_Information

查询结果如下:

Store_Nam

Lo Angele

San Diego

Boston

WHERE

除了选择具有不同记录值的记录之外,有时我可能还会需要根据某些条件对数据库中的数据进行查询。例如,可能需要查询 Store_Inform 数据表中销售额超越 1000 美圆的商店。为此,可以使用 SQL 语言的 WHERE 关键字设定查询条件。语法格式如下:

SELECT "column_name"

FROM "table_name"

WHERE "condition"

由此,可以使用如下命令查询销售额超越 1000 美圆的商店信息:

SELECT store_nam FROM Store_Inform WHERE Sale > 1000

查询结果显示为:

store_nam

Lo Angele

运算函数

现在已经了解到使用 SQL 语言进行数据库查询操作时可以通过对数值的判断设定灵活的查询条件。为了增强对运算的支持能力, SQL 提供了众多实用的运算函数供广大用户使用。例如,可以直接在 SQL 命令中调用 SUM 或 AVG 这两个分别用于计算总数和平均数的函数。语法格式如下:

SELECT "function type" "column_name"

FROM "table_name"

如果我希望查询 Store_Inform 数据表中所有商店的总销售额的话,可以使用如下命令:

SELECT SUM Sale FROM Store_Information

查询结果显示为:

SUM Sale

$2750

COUNT

除了 SUM 和 AVG 函数之外, COUNT 函数是 SQL 语言中另一个较为常用的运算函数。 COUNT 函数可以用来计算数据表中指定字段所包含的记录数目。语法格式为:

SELECT COUNT "column_name"

FROM "table_name"

例如,如果我希望查询 Store_Inform 数据表中的有关商店的记录条数时,可以使用如下命令:

SELECT COUNT store_nam

FROM Store_Information

查询结果显示为:

Count store_nam

4

COUNT 函数可以和 DISTINCT 关键字一起使用从而可以查询数据表中指定字段中所有具有不同记录值的记录数目。例如,如果我希望查询 Store_Inform 数据表中不同商店的数目时,可以使用如下命令:

 

 

SELECT COUNT DISTINCT store_nam

FROM Store_Information

查询结果显示为:

Count DISTINCT store_nam

3

GROUP BY

下面我来进一步看一下 SQL 语言中的集合函数。上文中,曾使用 SUM 函数计算所有商店的销售总额,如果我希望计算每一家商店各自的总销售额时该怎么办呢?要实现这一目的需要做两件事:首先,需要查询商店名称和销售额两个字段;然后,使用 SQL 语言的 GROUP BY 命令将销售额依照不同的商店进行分组,从而计算出不同商店的销售总额。 GROUP BY 命令的语法格式为:

SELECT "column_name1", SUM "column_name2"

FROM "table_name"

GROUP BY "column_name1"

可以使用如下命令实现上述查询目的

SELECT store_name, SUM Sale

FROM Store_Inform

GROUP BY store_name

查询结果显示为:

store_nam SUM Sale

Lo Angele $1800

San Diego $250

Boston $700

小注:

GROUP BY 关键字一般应用于同时查询多个字段并对字段进行算术运算的 SQL 命令中。

HA VING

用户在使用 SQL 语言的过程中可能希望解决的另一个问题就是对由 sum 或其它集合函数运算结果的输出进行限制。例如,可能只希望看到 Store_Inform 数据表中销售总额超越 1500 美圆的商店的信息,这时我就需要使用 HA VING 从句。语法格式为:

SELECT "column_name1", SUM "column_name2"

FROM "table_name"

GROUP BY "column_name1"

HA VING arithemat function condit

GROUP BY 从句可选)

由此,可以使用如下命令实现上述查询目的

SELECT store_name, SUM sale

FROM Store_Inform

GROUP BY store_name

HA VING SUM sale > 1500

查询结果显示为:

store_nam SUM Sale

Lo Angele $1800

小注:

SQL 语言中设定集合函数的查询条件时使用 HA VING 从句而不是 WHERE 从句。通常情况下, HA VING 从句被放置在 SQL 命令的结尾处。

A LIA S

下面,重点介绍一下如何在 SQL 命令中设定别名。 SQL 语言中一般使用两种类型的别名,分别为字段别名和数据表别名。

简单的说,使用字段别名可以协助我有效的组织查询的输出结果。例如,上文所列举的多个实例中,当我计算商店销售总额时,显示结果中就会出现 SUM sale 虽然 SUM sale 并不会对我理解查询结果带来方便,但是如果我需要在查询中使用多项复杂运算时,显示结果就不会这么直观了如果这时我使用字段别名就会极大的提高查询结果的可读性。

对于数据表别名,可以通过将别名直接放置在 FROM 从句中数据表名称的后面设定。数据表别名在下面将要讲述的连接多个数据表进行查询的操作中极为有用。

字段和数据表别名的语法格式如下:

SELECT "table_alias"."column_name1" "column_alias"

FROM "table_name" "table_alias"

即别名都直接放置在各自对应名称的后面,中间用空格分开。

以 Store_Inform 数据表为例,可以在 GROUP BY 一节中所使用的 SQL 命令中设置如下字段和数据表别名:

SELECT A1.store_nam Store, SUM Sale "Total Sales"

FROM Store_Inform A1

GROUP BY A1.store_name

查询结果显示为:

Stor Total Sale

Lo Angele $1800

San Diego $250

Boston $700

连接多个数据表

最后,来看一下如果使用 SQL 语言连接多个数据表,实现对多个数据表的查询。为方便讲解,数据库中分别创建了两个名为 Store_Inform 和 Region 数据表。