SQL 核心操作语法详解:查询、插入、删除与修改
SQL(Structured Query Language)是操作关系型数据库的标准语言,核心操作包括数据查询(SELECT)、插入(INSERT)、删除(DELETE/TRUNCATE)和修改(UPDATE)。本文详细解析这些操作的语法规则、使用场景及注意事项,帮助你快速掌握 SQL 基础操作。
查询操作(SELECT)
SELECT 是 SQL 中最常用的操作,用于从表中检索数据,语法灵活且功能强大。
基本语法
1 | SELECT <字段列表> |
各子句说明:
SELECT <字段列表>:指定要查询的字段,*表示查询所有字段(不推荐,效率低且依赖表结构)。
示例:SELECT id, name FROM users;(查询users表的id和name字段)。FROM <表名>:指定数据来源的表(可多表联合查询,用JOIN连接)。WHERE <查询条件>:过滤行数据,支持比较运算符(=, >, <, >=, <=, !=)、逻辑运算符(AND, OR, NOT)、模糊查询(LIKE)等。
示例:SELECT * FROM orders WHERE amount > 1000 AND status = 'paid';(查询金额 > 1000 且已支付的订单)。GROUP BY <分组字段>:按指定字段分组,通常与聚合函数(COUNT, SUM, AVG, MAX, MIN)配合使用。
示例:SELECT user_id, COUNT(*) AS order_count FROM orders GROUP BY user_id;(按用户 ID 分组,统计每个用户的订单数)。HAVING <分组过滤条件>:对分组后的结果进行过滤(WHERE用于分组前过滤,HAVING用于分组后过滤)。
示例:SELECT user_id, COUNT(*) AS order_count FROM orders GROUP BY user_id HAVING order_count >= 5;(筛选出订单数≥5 的用户)。ORDER BY <排序字段>:按指定字段排序,ASC升序(默认),DESC降序。
示例:SELECT * FROM products ORDER BY price DESC;(按价格降序排列商品)。
常用查询技巧
- 去重查询:用
DISTINCT去除重复行。
示例:SELECT DISTINCT category FROM products;(查询所有不重复的商品分类)。 - 限制结果数量:用
LIMIT(MySQL)或TOP(SQL Server)限制返回行数。
示例:SELECT * FROM articles LIMIT 10;(查询前 10 篇文章)。 - 模糊查询:用
LIKE匹配字符串,%表示任意字符(包括空),_表示单个字符。
示例:SELECT * FROM users WHERE name LIKE '张%';(查询姓张的用户)。
插入操作(INSERT)
INSERT 用于向表中添加新数据,支持单行插入、批量插入及从其他表复制数据。