当前位置: 首页 > news >正文

SQL常用语句分类及示例

好的,SQL常用语句可以分为以下几大类,我将为您详细介绍并附上示例。这些语句是操作和查询关系型数据库的基础。

1. 数据查询语句 (DQL - Data Query Language)

主要用于从数据库中查询数据,核心是 SELECT 语句。

语句 功能 示例
SELECT 从表中查询数据 SELECT name, email FROM users;
DISTINCT 返回唯一不同的值 SELECT DISTINCT country FROM customers;
WHERE 过滤记录,指定条件 SELECT * FROM products WHERE price > 100;
ORDER BY 对结果集排序 SELECT * FROM employees ORDER BY salary DESC;
LIMIT 限制返回的记录数 SELECT * FROM articles LIMIT 10;
JOIN 连接多个表 SELECT o.order_id, c.customer_name FROM orders o JOIN customers c ON o.customer_id = c.id;
GROUP BY 将数据分组,通常与聚合函数一起使用 SELECT department, AVG(salary) FROM employees GROUP BY department;
HAVING 过滤分组后的结果(WHERE 用于分组前) SELECT department, AVG(salary) FROM employees GROUP BY department HAVING AVG(salary) > 5000;

一个综合查询示例:

SELECT department, COUNT(*) as employee_count,AVG(salary) as avg_salary
FROM employees
WHERE hire_date > '2020-01-01'
GROUP BY department
HAVING COUNT(*) > 5
ORDER BY avg_salary DESC
LIMIT 10;

2. 数据操作语句 (DML - Data Manipulation Language)

用于对表中的数据进行增、删、改操作。

语句 功能 示例
INSERT 向表中插入新记录 INSERT INTO users (name, email) VALUES ('John', 'john@example.com');
UPDATE 修改表中已存在的记录 UPDATE products SET price = price * 1.1 WHERE category = 'Electronics';
DELETE 从表中删除记录 DELETE FROM orders WHERE status = 'cancelled';

3. 数据定义语句 (DDL - Data Definition Language)

用于定义和修改数据库结构,如创建、修改、删除表、索引等。

语句 功能 示例
CREATE TABLE 创建新表 CREATE TABLE students (id INT PRIMARY KEY, name VARCHAR(100) NOT NULL);
ALTER TABLE 修改表结构(添加、修改或删除列) ALTER TABLE students ADD COLUMN birth_date DATE;
DROP TABLE 删除表 DROP TABLE temp_table;
CREATE INDEX 在表上创建索引以提高查询速度 CREATE INDEX idx_customer_email ON customers(email);
DROP INDEX 删除索引 DROP INDEX idx_customer_email;

4. 数据控制语句 (DCL - Data Control Language)

用于控制数据库的访问权限和安全。

语句 功能 示例
GRANT 授予用户访问权限 GRANT SELECT, INSERT ON database.table TO 'username'@'host';
REVOKE 撤销用户的访问权限 REVOKE INSERT ON database.table FROM 'username'@'host';

5. 事务控制语句 (TCL - Transaction Control Language)

用于管理数据库的事务。

语句 功能 示例
START TRANSACTIONBEGIN 开始一个事务 START TRANSACTION;
COMMIT 提交事务,使所有数据修改成为永久性的 COMMIT;
ROLLBACK 回滚事务,撤销所有未提交的修改 ROLLBACK;
SAVEPOINT 在事务中设置保存点,可以回滚到此处 SAVEPOINT point1;

事务示例:

BEGIN;
UPDATE account SET balance = balance - 100 WHERE user_id = 1;
UPDATE account SET balance = balance + 100 WHERE user_id = 2;
-- 如果两条更新都成功,则提交
COMMIT;
-- 如果任何一条失败,则回滚
-- ROLLBACK;

6. 高级和实用语句

语句 功能 示例
CASE 在查询中实现条件逻辑,类似 if-else SELECT name, CASE WHEN score >= 60 THEN 'Pass' ELSE 'Fail' END AS result FROM students;
UNION / UNION ALL 合并多个 SELECT 语句的结果集 SELECT city FROM suppliers UNION SELECT city FROM customers;
EXISTS 测试子查询是否返回任何行 SELECT name FROM products WHERE EXISTS (SELECT 1 FROM orders WHERE orders.product_id = products.id);
LIKE WHERE 子句中搜索特定模式 SELECT * FROM users WHERE name LIKE 'A%'; (查找以A开头的名字)
IN 指定多个可能的值 SELECT * FROM customers WHERE country IN ('USA', 'UK', 'Canada');
BETWEEN 选取介于两个值之间的数据 SELECT * FROM products WHERE price BETWEEN 10 AND 100;

总结表格

类别 核心语句 主要用途
数据查询 (DQL) SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY 从数据库检索数据
数据操作 (DML) INSERT, UPDATE, DELETE 增加、修改、删除数据
数据定义 (DDL) CREATE, ALTER, DROP 创建、修改、删除数据库对象(如表、索引)
数据控制 (DCL) GRANT, REVOKE 管理用户权限和安全
事务控制 (TCL) COMMIT, ROLLBACK, SAVEPOINT 管理数据库事务

这些语句涵盖了SQL日常使用的绝大部分场景。熟练掌握它们,您就能高效地与关系型数据库进行交互。

http://www.hskmm.com/?act=detail&tid=29049

相关文章:

  • 台式机主板上的电池要更换啦
  • 微信小程序 app.js中onLaunch中方法执行完毕后再执行index首页数据请求
  • 轻量服务器Lighthouse + 1Panel 部署.NET 8 Web应用
  • bash alias 多引号问题
  • 关于近期调研各类游戏开发引擎的一些感想
  • Electron38-Vue3OS客户端OS系统|vite7+electron38+arco桌面os后台管理
  • 终于在vim中用上了molokai的炫酷色彩配置了(゚∀゚)
  • 我是如何在Vim8.1中安装好的NERDTree插件的
  • Kafka监控工具 EFAK-AI 介绍
  • 视频拍摄技巧 - 希区柯克变焦/滑动变焦 All In One
  • 信息化说课-教学设计(6)
  • 记录:git
  • 实验1 现代C++编程初体验
  • 10.11总结
  • 2025年10月门窗十大品牌最新推荐榜单,十大品牌测评排名与选择指南
  • CF60E Mushroom Gnomes
  • CF691E Xor-sequences
  • LCPC12E - Johnnys Empire 题解
  • 中微笔记-cp.1 技术
  • P1896 [SCOI2005] 互不侵犯小总结
  • 美国能源部《生成式人工智能参考指南》解读
  • 分析InfluxDB中读取时CPU飙升
  • win10系统访问smb服务时提示密码错误
  • 《小说课》读书笔记
  • 2025-10-11?
  • 高二停课周记(信息学竞赛) Week1
  • AtCoder Beginner Contest 427 ABCDEF 题目解析
  • zju博士资格考试考前复习(微分方程方向)ode 部分
  • 测试一下博客功能
  • AI如何改变芯片设计