数据库常用 SQL 语句大全,从基础到高级全掌握
在数据库操作中,SQL 语句是必不可少的工具。无论是数据查询、插入、更新,还是表结构的创建与修改,都需要用到 SQL。今天就为大家整理一份全面的 SQL 语句指南,从基础到高级,助你轻松搞定数据库操作。
1. SELECT 语句
SELECT 语句用于从表中选取数据,结果会被存储在一个结果集中。
选取特定列:
选取所有列:
在结果集中,大多数数据库软件系统都允许使用编程函数进行导航,比如 Move-To-First-Record、Get-Record-Content 等。
2. SELECT DISTINCT 语句
表中可能包含重复值,DISTINCT 关键词用于返回唯一不同的值。
3. WHERE 子句
WHERE 子句可添加到 SELECT 语句中,用于有条件地从表中选取数据。
运算符包括大于、等于、小于、between、like 等。需要注意的是,SQL 使用单引号环绕文本值,数值则不用加引号。
4. AND 和 OR 运算符
AND 和 OR 可在 WHERE 子句中把两个或多个条件结合起来,实现更精确的筛选。
5. ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序,默认按照升序(ASC)排序,若要降序排序,可使用 DESC 关键字。
6. INSERT INTO 语句
INSERT INTO 语句用于向表格中插入新的行。
插入所有列的值:
指定插入数据的列:
7. Update 语句
Update 语句用于修改表中的数据。
8. DELETE 语句
DELETE 语句用于删除表中的行。
删除特定行:
删除所有行(表结构、属性和索引保持完整):
或:
1. TOP 子句
TOP 子句用于规定要返回的记录数目,对于大型表非常有用。
例子:
选择前两个记录:
选择前 50% 的记录:
2. LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
例子:
从 "Persons" 表中选取居住在以 "N" 开始的城市里的人:
"%" 可定义通配符,如 % g、% lon%;通过 NOT 关键字,可选取不满足模式的记录,如
3. SQL 通配符
% 通配符:匹配任意字符序列(包括空序列)。例如,从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:
_通配符:匹配单个字符。例如,从 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:
[charlist] 通配符:匹配字符列表中的任意一个字符。例如,从 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:
要选取不以这些字符开头的,可使用 [!ALN]。
4. IN 操作符
IN 操作符允许在 WHERE 子句中规定多个值。
例子:
5. BETWEEN 操作符
BETWEEN ... AND 用于选取介于两个值之间的数据范围,值可以是数值、文本或日期。如需选择范围之外的,可在前面加 NOT。
6. AS
AS 用于为列名称和表名称指定别名。
为表指定别名:
为列指定别名:
7. JOIN
JOIN 用于从两个或更多表中获取完整结果,主要有以下几种类型:
INNER JOIN:如果表中有至少一个匹配,则返回行。LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行。RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行。FULL JOIN:只要其中一个表中存在匹配,就返回行。例子:
8. SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。需注意,UNION 内部的 SELECT 语句必须拥有相同数量的列,列的数据类型相似,且列的顺序相同。
默认地,UNION 选取不同的值,允许重复值则用 UNION ALL。例子:列出所有在中国和美国的不同的雇员名:
9. SELECT INTO 语句
SELECT INTO 语句从一个表中选取数据,插入另一个表中,常用于创建表的备份复件或存档记录。
插入所有列到新表:
插入指定列到新表:
例子:制作 "Persons" 表的备份复件:
10. CREATE DATABASE 语句
用于创建数据库:
11. CREATE TABLE 语句
用于创建数据库中的表。
12. SQL 约束
约束用于限制加入表的数据的类型,可在创建表时或表创建后通过 ALTER TABLE 语句规定。主要有:
NOT NULL:强制列不接受 NULL 值。UNIQUE:唯一标识数据库表中的每条记录,每个表可多个 UNIQUE 约束。PRIMARY KEY:唯一标识数据库表中的每条记录,主键包含唯一值且不能为 NULL,每个表只能有一个主键。FOREIGN KEY:一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY,用于预防破坏表之间连接的动作。CHECK:限制列中的值的范围。DEFAULT:向列中插入默认值。13. CREATE INDEX 语句(索引)
索引使数据库应用程序能更快地查找数据,理想情况是在常被搜索的列上创建索引。
创建简单索引(允许重复值):
创建唯一索引(两个行不能有相同的索引值):
例子:在 Person 表的 LastName 列创建名为 "PersonIndex" 的简单索引:
14. DROP 语句
用于删除索引、表和数据库。
删除索引:
删除表(表的结构、属性及索引也被删除):
删除数据库:
仅删除表内数据,保留表本身:
15. ALTER TABLE 语句
用于在已有的表中添加、修改或删除列。
添加列:
删除列:
16. AUTO INCREMENT 字段(自增)
希望每次插入新记录时自动创建主键字段的值,可创建 auto-increment 字段。
例子:
默认 AUTO_INCREMENT 开始值是 1,每条新记录递增 1,可通过 ALTER TABLE Persons AUTO_INCREMENT=100 修改起始值。
17. SQL CREATE VIEW 语句(视图)
视图是基于 SQL 语句的结果集的可视化的表,可像使用真实表一样使用。
例子:创建视图 "Current Product List" 列出 Products 表中所有正在使用的产品:
可通过 CREATE OR REPLACE VIEW 更新视图,通过 DROP VIEW view_name 删除视图。
18. SQL 日期
MySQL 中常用的内建日期函数有 NOW ()、CURDATE ()、CURTIME () 等,存储日期或日期 / 时间值的数据类型有 DATE、DATETIME、TIMESTAMP、YEAR。
19. SQL NULL 值
NULL 用作未知的或不适用的值的占位符,无法用比较运算符测试,必须使用 IS NULL 和 IS NOT NULL 操作符。Oracle 中可用 NVL () 函数处理 NULL 值。
三、SQL 函数1. SQL AVG 函数
返回数值列的平均值,NULL 值不计入计算。
2. SQL COUNT () 函数
返回匹配指定条件的行数。
COUNT (column_name):返回指定列的值的数目(NULL 不计入)。COUNT (*):返回表中的记录数。COUNT (DISTINCT column_name):返回指定列的不同值的数目。3. FIRST () 函数
返回指定字段中第一个记录的值,可结合 ORDER BY 语句排序。
4. LAST () 函数
返回指定字段中最后一个记录的值,可结合 ORDER BY 语句排序。
5. MAX () 函数
返回一列中的最大值,NULL 值不计入计算,也可用于文本列获取按字母顺序排列的最高值。
6. MIN () 函数
返回一列中的最小值,NULL 值不计入计算,也可用于文本列获取按字母顺序排列的最低值。
7. SUM () 函数
返回数值列的总数(总额)。
8. GROUP BY 语句
结合合计函数,根据一个或多个列对结果集进行分组。
9. HAVING 子句
因 WHERE 关键字无法与合计函数一起使用,故增加 HAVING 子句。
10. UCASE () 函数
把字段的值转换为大写。
11. LCASE () 函数
把字段的值转换为小写。
12. MID () 函数
从文本字段中提取字符。
13. LEN () 函数
返回文本字段中值的长度。
14. ROUND () 函数
把数值字段舍入为指定的小数位数。
15. NOW () 函数
返回当前的日期和时间,SQL Server 中用 getdate () 函数。
16. FORMAT () 函数
用于对字段的显示进行格式化。
掌握这些 SQL 语句,能让你在数据库操作中更加得心应手。无论是日常的数据查询、维护,还是复杂的数据分析,这些语句都能发挥重要作用。赶紧收藏起来,随时查阅吧!