SQL常用语法快速参考指南
时间:2026-08-12 | 作者:电竞小硕 | 阅读:0SQL 快速参考
下面整理了常见 SQL 语句的语法与说明。
适合在查询、建表、修改表结构、数据筛选与结果排序时快速查阅。
| SQL 语句 | 语法 | 说明 |
|---|---|---|
| AND / OR | SELECT column_name(s) FROM table_name WHERE condition AND|OR condition |
AND:表示逻辑与 OR:表示逻辑或 |
| ALTER TABLE | ALTER TABLE table_name ADD column_name datatype
ALTER TABLE table_name DROP COLUMN column_name |
用于修改现有表的结构,添加或删除列。 |
| AS (alias) | SELECT column_name AS column_alias FROM table_name
SELECT column_name FROM table_name AS table_alias |
用于为列或表指定别名。 |
| BETWEEN | SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2 |
用于筛选在指定范围内的记录。 |
| CREATE DATABASE | CREATE DATABASE database_name |
用于创建新数据库。 |
| CREATE TABLE | CREATE TABLE table_name (column_name1 data_type, column_name2 data_type, ...) |
用于创建新表,定义表的列和数据类型。 |
| CREATE INDEX | CREATE INDEX index_name ON table_name (column_name)
CREATE UNIQUE INDEX index_name ON table_name (column_name) |
用于在表的列上创建索引,以加速查询。 |
| CREATE VIEW | CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition |
用于创建视图,以保存复杂查询的结果。 |
| DELETE | DELETE FROM table_name WHERE some_column=some_value
DELETE FROM table_name
DELETE * FROM table_name |
用于删除表中的记录,DELETE FROM table_name 和 DELETE * FROM table_name 会删除所有记录。 |
| DROP DATABASE | DROP DATABASE database_name |
用于删除数据库。 |
| DROP INDEX | DROP INDEX table_name.index_name (SQL Server)
DROP INDEX index_name ON table_name (MS Access)
DROP INDEX index_name (DB2/Oracle)
ALTER TABLE table_name DROP INDEX index_name (MySQL) |
用于删除表上的索引。 |
| DROP TABLE | DROP TABLE table_name |
用于删除表及其所有数据。 |
| GROUP BY | SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name |
用于按一个或多个列对结果集进行分组。 |
| HA VING | 这条 SQL 的写法可以理解为:先从 table_name 里取出 column_name 以及它对应的聚合结果,接着用 WHERE 按条件筛选原始数据,然后基于 column_name 进行分组,最后再通过 HA VING 对聚合后的结果继续过滤。 |
用于对分组后的结果集进行过滤。 |
| IN | SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...) |
用于筛选匹配集合中某一值的记录。 |
| INSERT INTO | INSERT INTO table_name VALUES (value1, value2, ...)
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...) |
用于向表中插入新记录。 |
| INNER JOIN | SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name |
用于返回两个表中匹配的记录。 |
| LEFT JOIN | SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name |
用于返回左表中的所有记录和右表中的匹配记录。 |
| RIGHT JOIN | SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name |
用于返回右表中的所有记录和左表中的匹配记录。 |
| FULL JOIN | SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name |
用于返回两个表中的所有记录,不论是否匹配。 |
| LIKE | SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern |
用于筛选匹配特定模式的记录。 |
| ORDER BY | SELECT column_name(s) FROM table_name ORDER BY column_name [ASC|DESC] |
用于对结果集进行排序。ASC 表示升序排列(默认),DESC 表示降序排列。 |
| SELECT | SELECT column_name(s) FROM table_name |
用于从表中选择数据。 |
| SELECT | SELECT * FROM table_name |
用于选择表中的所有列。 |
| SELECT DISTINCT | SELECT DISTINCT column_name(s) FROM table_name |
用于返回唯一不同的值。 |
| SELECT INTO | SELECT * INTO new_table_name [IN externaldatabase] FROM old_table_name
SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_table_name |
用于从一个表中选择数据并插入到新表中。 |
| SELECT TOP | SELECT TOP number|percent column_name(s) FROM table_name ORDER BY column_name [ASC|DESC] |
从表中返回前指定数量的记录,可以指定绝对数量或百分比。 |
| TRUNCATE TABLE | TRUNCATE TABLE table_name |
用于删除表中的所有数据,但不删除表结构。 |
| UNION | SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 |
用于合并两个或多个 SELECT 语句的结果集,不包含重复记录。 |
| UNION ALL | SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2 |
用于合并两个或多个 SELECT 语句的结果集,包含重复记录。 |
| UPDATE | UPDATE table_name SET column1=value, column2=value, ... WHERE some_column=some_value |
用于修改表中的现有记录。 |
| WHERE | SELECT column_name(s) FROM table_name WHERE column_name operator value |
用于过滤记录,指定查询条件。 |
常见用途一览
- 查询数据:SELECT、WHERE、ORDER BY、SELECT DISTINCT、SELECT TOP
- 筛选条件:AND / OR、BETWEEN、IN、LIKE
- 数据变更:INSERT INTO、UPDATE、DELETE、TRUNCATE TABLE
- 表与数据库操作:CREATE DATABASE、CREATE TABLE、ALTER TABLE、DROP TABLE、DROP DATABASE
- 关联与合并:INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN、UNION、UNION ALL
- 分组统计:GROUP BY、HA VING
- 性能与复用:CREATE INDEX、DROP INDEX、CREATE VIEW、AS (alias)
使用时可重点关注
- 删除类语句要谨慎。 DELETE、TRUNCATE TABLE、DROP TABLE、DROP DATABASE 都会直接影响数据或结构。
- 筛选通常配合 WHERE 使用。 例如 AND / OR、BETWEEN、IN、LIKE。
- 排序与取前几条数据 常结合 ORDER BY 与 SELECT TOP 一起使用。
- 分组后的过滤 使用 HA VING,而不是只看 WHERE。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- MySQL LEFT JOIN 核心逻辑与条件位置详解
- 时间:2026-08-27
-
- SQL如何只更新查询结果中的前几条记录?
- 时间:2026-08-27
-
- SQL DELETE死锁深度解析:MySQL与Oracle实战排查指南
- 时间:2026-08-27
-
- SQL视图如何利用索引提升查询性能
- 时间:2026-08-27
-
- SQL实战:利用SELF JOIN高效查询层级关系
- 时间:2026-08-27
-
- MySQL STR_TO_DATE转换失败排查与实战指南
- 时间:2026-08-27
-
- 数据库存储过程批量处理实战:MySQL、SQL Server与PostgreSQL分批提交策略
- 时间:2026-08-27
-
- SQL分页查询分组聚合:OFFSET、HAVING与性能优化指南
- 时间:2026-08-27
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15