读书人

SQL Server数据库-根本T-SQL(查询插

发布时间: 2012-09-09 09:27:54 作者: rapoo

SQL Server数据库-----基本T-SQL(查询,插入,删除,修改)

一。查询语句(SELECT)

SELECT语句的基本语法:

SELECT [ALL|DISTINCT] <目标列表达式> [AS 列名][,<目标列表达式> [AS 列名] ...]

FROM <表名> [,<表名>…]

[WHERE <条件表达式> [AND|OR <条件表达式>...]

[GROUP BY 列名]

[HAVING <条件表达式>>]

[ORDER BY 列名 [ASC | DESC>]]

注:以上语句由方括号为可选项,尖括号为必填项。

1).WHERE子句。

WHERE子句用于对数据库查询进行条件设定.

eg:SELECT s.name FROM student s WHERE s.year>=2003;//其表示查询数据库student中year值大于2003的行的name值。

在SELECT中可以使用的运算符有:

(1).>,>,<=,>=,=,<>,!=,!>,!<

(2).AND,OR,NOT

(3).BETWEEN

(4).LIKE 通配符有:%,_,[ ],[^]

(5).IN

(6).ALL,ANY,SOME 其中ANY和SOME运算符相似

(7).EXISTS(用于子查询)

2).ORDER BY

ORDERY BY语句用于对返回的结果集进行排序。其排序的方式总是系统按最小的方式来进行排序。如果我们需要查询的结果按字母,数字等等自然顺序或者逆序来排序,那请用ASC或者DESC关键字。其中ASC关键字用于按升序排列,而DESC关键字用于按降序的方式排序。

3).GROUP BY

GROUP BY语句用于分组查询,其一般与聚合函数一起使用。其将数据分为各个小块,在对各个小块进行一些处理和操作(函数实现)。

eg:SELECT COUNT(*) FruitName AS 水果种类, ProductPlace AS 出产国 FROM test GROUP BY ProductPlace

上面的SELECT语句的意思是:首先将test数据库中的数据按出产国进行分组,在有COUNT(*)对每个分组也就是出产国的水果种类进行计数(水果种类数)。

一些函数:SUM(行名),AVG(行名),MIN(行名),MAX(行名),COUT(*)用于计算函数。。。等等。其中上面这些,在没有使用GROUP BY子句的时候,只有SUM和AVG能使用在SELECT语句中,但不用指明行名。

4).HAVING 子句

HAVING子句和WHERE子句一样同为查询条件。但他们在SELECT语句中执行的优先级不同。

一般SQL Select语句完整的执行顺序:

1、from子句组装来自不同数据源的数据;

2、where子句基于指定的条件对记录行进行筛选;

3、group by子句将数据划分为多个分组;

4、使用聚集函数进行计算;

5、使用having子句筛选分组;

6、计算所有的表达式;

7、使用order by对结果集进行排序。

5).ALL/DISTINCT谓词

ALL/DISTINCT谓词用于对返回的结果集重复行进行处理。在默认情况下为ALL,可省略。当我们需要去除查询结果集中的重复行时,使用谓词DSTINCT。

二。插入语句(INSERT)

插入语句的语法格式:

INSERT [INTO] <table> [column] VALUES [data_values]

INSERT语句中的INTO为可选项,但为了语句的可读性,一般不建议省略。其中的列名也显示提供列名和不显示提供列名两种:当不显示提供列名时,我们插入的值必须与数据库中的列名值相对应,且不允许出现NULL值和默认值;当显示提供列名时,我们可以省略一些列名,但这些列名必须能设为NULL值和系统将其定义为默认值。

插入一个数据块得语法(INSERT INTO ....SELECT..):

INSERT INTO <table> [ <column_list>] <SELECT.....>

三。更新语句(UPDATE)

更新语句的语法格式:
UPDATE <table>

SET <column=value>[<column=value>]

[FROM <sources table(s)>]

[ WHERE <condition>]

eg:UPDATE store SET stores.id='23' WHERE stores.id='12' //将id为12的行的id值该为2.

四。删除语句(DELETE)

删除语句的语法格式:
DELETE <table name> [WHERE <condition>]

eg:delete stores where stores.id='12' //删除id为12的行。

读书人网 >其他数据库

热点推荐