SQL 语句集合

WHERE 子句

操作符     描述

=       等于

<>     不等于

WHERE 子句

>       大于

<       小于

>=     大于等于

<=     小于等于

BETWEEN         在某个范围内

LIKE 搜索某种模式

备注:

在某些版本的 SQL 中,操作符 <> 可以写为 !=。

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。

如果是数值,请不要使用引号。

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

SELECT * FROM Persons WHERE City='Beijing'

ORDER BY 语句

ORDER BY 语句用于根据指定的列对结果集进行排序。

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

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

实例 1

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

SELECT Company, OrderNumber FROM Orders ORDER BY Company

实例 2

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

SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber

实例 3

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

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

SELECT INTO

下面的例子会制作 "Persons" 表的备份复件:

SELECT *

INTO Persons_backup

FROM Persons

如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域:

SELECT LastName,FirstName

INTO Persons_backup

FROM Persons

SELECT INTO

例如:
select *

into 学生备份

from 学生

SQL CHECK 约束

CHECK 约束用于限制列中的值的范围。

如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。

CREATE TABLE Persons

(

Id_P int NOT NULL CHECK (Id_P>0),

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

SQL DEFAULT 约束

DEFAULT 约束用于向列中插入默认值。

如果没有规定其他的值,那么会将默认值添加到所有的新记录。

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255) DEFAULT 'Sandnes'

)

CREATE TABLE Orders

(

Id_O int NOT NULL,

OrderNo int NOT NULL,

Id_P int,

OrderDate date DEFAULT GETDATE()

)

SQL truncate table 语句

如果我们仅仅需要除去表内的数据,但并不删除表本身,那么我们该如何做呢?

请使用 TRUNCATE TABLE 命令(仅仅删除表格中的数据):

truncate table 表名称

改变数据类型实例(alter)

现在我们希望改变 "Persons" 表中 "Birthday" 列的数据类型。

我们使用下列 SQL 语句:

ALTER TABLE Persons

ALTER COLUMN Birthday year

请注意,"Birthday" 列的数据类型是 year,可以存放 2 位或 4 位格式的年份。

AUTO INCREMENT 字段

我们通常希望在每次插入新记录时,自动地创建主键字段的值。

我们可以在表中创建一个 auto-increment 字段。

下列 SQL 语句把 "Persons" 表中的 "P_Id" 列定义为 auto-increment 主键:

CREATE TABLE Persons

(

P_Id int PRIMARY KEY IDENTITY,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

MS SQL 使用 IDENTITY 关键字来执行 auto-increment 任务。

默认地,IDENTITY 的开始值是 1,每条新记录递增 1。

要规定 "P_Id" 列以 20 起始且递增 10,请把 identity 改为 IDENTITY(20,10)

要在 "Persons" 表中插入新记录,我们不必为 "P_Id" 列规定值(会自动添加一个唯一的值):

INSERT INTO Persons (FirstName,LastName)

VALUES ('Bill','Gates')

上面的 SQL 语句会在 "Persons" 表中插入一条新记录。"P_Id" 会被赋予一个唯一的值。"FirstName" 会被设置为 "Bill","LastName" 列会被设置为 "Gates"。

MID() 函数

MID 函数用于从文本字段中提取字符

SQL MID() 语法

SELECT MID(column_name,start[,length]) FROM table_name

ROUND() 函数

ROUND 函数用于把数值字段舍入为指定的小数位数

SQL ROUND() 语法

SELECT ROUND(column_name,decimals) FROM table_name

FORMAT() 函数

FORMAT 函数用于对字段的显示进行格式化。

SQL FORMAT() 语法

SELECT FORMAT(column_name,format) FROM table_name

现在,我们希望显示每天日期所对应的名称和价格(日期的显示格式是 "YYYY-MM-DD")。

例如:

SELECT ProductName, UnitPrice, FORMAT(Now(),'YYYY-MM-DD') as PerDate

FROM Products

清清软件园 http://sillysoft.taobao.com
原文地址:https://www.cnblogs.com/lqsilly/p/3056228.html