SQL 常用命令
1.SQL 基础教程
可以把 SQL 分为两个部分:数据操作语言 (DML) 数据定义语言 (DDL)
SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了 SQL DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
逻辑操作符包括与(AND)、或(OR)和非(NOT)
=    等于              SELECT * FROM Persons WHERE City='Beijing'
<>  !=    不等于
>    大于
<    小于
>=    大于等于
<=    小于等于
ORDER BY
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
升序 Asc 降序 Desc
以字母顺序显示公司名称:SELECT Company, OrderNumber FROM Orders ORDER BY Company
以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber
以逆字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
SELECT DISTINCT
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词 DISTINCT 用于返回唯一不同的值。
语法:
SELECT DISTINCT 列名称 FROM 表名称
INSERT INTO
INSERT INTO 语句用于向表格中插入新的行。
语法
INSERT INTO 表名称 VALUES (1, 2,....)
我们也可以指定所要插入数据的列:
INSERT INTO table_name (1, 2,...) VALUES (1, 2,....)
Update
Update 语句用于修改表中的数据。
语法:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
DELETE
DELETE 语句用于删除表中的行。
语法
DELETE FROM 表名称 WHERE 列名称 =
2.SQL 高级教程
TOP
TOP 子句用于规定要返回的记录的数目。
对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。
注释:并非所有的数据库系统都支持 TOP 子句。
SQL Server 的语法:
SELECT TOP number|percent column_name(s)
FROM table_name
LIKE
(查询包含某个值)
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SQL LIKE 操作符语法
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
SELECT * FROM Persons
WHERE City LIKE 'N%'
提示:"%" 可用于定义通配符(模式中缺少的字母)。
结果集:
Id
LastName
FirstName
Address
City
2
Bush
George
Fifth Avenue
New York
通过使用 NOT 关键字,我们可以从 "Persons" 表中选取居住在不包含 "lon" 的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons
WHERE City NOT LIKE '%lon%'
结果集:
Id
LastName
FirstName
Address
City
2
Bush
George
Fifth Avenue
New York
3
Carter
Thomas
Changan Street
Beijing
SQL 通配符
在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
SQL 通配符必须与 LIKE 运算符一起使用。
通配符 含义
% 包含零个或更多字符的任意字符串。
_ 任何单个字符。
[ ] 指定范围(例如 [a-f])或集合(例如 [abcdef])内的任何单个字符。
[^] 不在指定范围(例如 [^a - f])或集合(例如 [^abcdef])内的任何单个字符。
请将通配符和字符串用单引号引起来,例如:
LIKE 'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
LIKE '%inger' 将搜索以字母 inger 结尾的所有字符串(如 RingerStringer)。
LIKE '%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 BennetGreenMcBadden)。
LIKE '_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 CherylSheryl)。
LIKE '[CK]ars[eo]n' 将搜索下列字符串:Carsensql包含哪几个部分、KarsenCarson Karson(如 Carson)。
LIKE '[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M Z 的任何单个字母开头的所有名称(如 Ringer)。
LIKE 'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如 MacFeather)。
IN
IN 操作符允许我们在 WHERE 子句中规定多个值。
意思在其中
SQL IN 语法
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
Not In
即不在某个范围内
EXISTS
sql 返回结果集为真
指定一个子查询,检测行的存在。
语法:EXISTS subquery
参数:subquery
是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字) 
结果类型:Boolean
结果值:如果子查询包含行,则返回 TRUE。否则返回False
select  Resc_id  from  dbo.Res_Coach
where  EXISTS (select * from  Res_Coach  where  Resc_id  is  null)
not exists (sql 不返回结果集为真)
BETWEEN    在某个范围内
 
  操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
(意思两者之间)
  SQL BETWEEN 语法
  SELECT column_name(s)
  FROM table_name
  WHERE column_name
  BETWEEN value1 AND value2
IS Null
is null/is not null只是用于判断(null值),不能处理空字符串,所以is null或者notnull只是判断列中是否有null值,并且只能用is,不能用=
查询选修后没有参加考试(即无分数)学生 
select * 
from SC 
where Grade is null  //  不能用 = 代替 is
3.SQL 函数
GROUP BY
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。