SQL常用语句分类及示例

news/2025/10/12 1:50:33/文章来源:https://www.cnblogs.com/wuxing2005/p/19136203

好的,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.mzph.cn/news/935205.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

台式机主板上的电池要更换啦

当有内存、硬盘变动时,每次开机ASUS Z170-A主板都提示需要按F1进行重新设置,即使在主板BIOS的设置中把F1提示关闭,依旧不行。 同时Intel Virutalization选择enable,都无法生效。 这时可能是CMOS battery failure,…

轻量服务器Lighthouse + 1Panel 部署.NET 8 Web应用

本文将手把手使用轻量服务器+1Panel进行部署一个.NET 8的网站应用,数据库采用MySQL 5.7。并解决部署过程中的一些问题。前言腾讯云轻量服务器Lighthouse:众所周知,因其价格低、性能足(100%CPU)、操作简单,深受开…

bash alias 多引号问题

一句话: 像python那样,在里面使用\abc\,在bash中不行需要把 \ 换成 \ 这样问题解决You can make that command into a Bash alias by editing your shell configuration file (typically ~/.bashrc or ~/.bash_alia…

关于近期调研各类游戏开发引擎的一些感想

最近突发奇想想要尝试自己开发一些小型的轻量化游戏,于是尝试学习了一些游戏设计的相关知识,同时对比了目前主流的几款开发引擎。 由于个人的风格的喜好是2d横板游戏(像素动作+恶魔城)和视觉小说(galgame),所以…

Electron38-Vue3OS客户端OS系统|vite7+electron38+arco桌面os后台管理

最新研发electron38+vite7+arco-design电脑端os后台管理ElectronViteOS。 vite7-electron38-os最新款vite7.1+electron38.2+vue3 setup+pinia3+arcoDesign+echarts实战仿macOS/windows风格桌面os管理系统Exe模板。自研…

终于在vim中用上了molokai的炫酷色彩配置了(゚∀゚)

研究vim的vimrc的配置文件时,遇到很多的问题;我当时参考了:https://www.freecodecamp.org/news/vimrc-configuration-guide-customize-your-vim-editor/ 其中之一就是colorscheme, 看到大家的vim打开后色彩鲜亮养眼…

我是如何在Vim8.1中安装好的NERDTree插件的

用过vim的人都知道,在使用没有安装插件的vim的人,要寻找其他相关的文件是相当的不够直观的,需要首先在头脑里面有清晰的文件架构,然后还需要不停地切换,和vscode相比真是体验差了很多,如果你安装了NERDTree插件,…

Kafka监控工具 EFAK-AI 介绍

1.概述 在大数据与人工智能深度融合的新时代,Apache Kafka 已成为企业实时数据流处理的核心引擎。然而,随着业务规模的不断扩大,Kafka 集群的监控与运维复杂度也随之攀升——指标繁多、延迟难察、告警频繁,传统监控…

视频拍摄技巧 - 希区柯克变焦/滑动变焦 All In One

视频拍摄技巧 - 希区柯克变焦/滑动变焦 All In One 希区柯克变焦又叫做滑动变焦,是电影拍摄中一种常见的镜头技法。视频拍摄技巧 - 希区柯克变焦/滑动变焦 All In One 希区柯克变焦希区柯克变焦又叫做滑动变焦,是电影…

信息化说课-教学设计(6)

智慧康养中的"健康数据小哨兵"教学设计 一、教学基本信息项目 内容课程名称 《Python程序设计》授课学时 2课时授课类型 理实一体化课程授课地点 计算机机房授课班级 计算机应用技术专业一年级授课人数 30人…

记录:git

记录:Git .gitignore文件介绍一个纯文本文件,包含了项目中所有指定的文件和文件夹的列表,这些文件和文件夹是 Git 应该忽略和不追踪的一个 .gitignore 文件会被放在仓库的根目录下 使用文档/test/text.txt 或test/t…

P12012 [Ynoi April Fools Round 2025] 牢爱 题解

P12012 [Ynoi April Fools Round 2025] 牢爱 题解题目描述 给定长为 \(n\) 的序列 \(a\) ,接下来 \(m\) 次操作:1 l r :查询是否可以选出两个不交的非空下标集合 \(X,Y\subseteq\{l,\cdots,r\}\) ,且 \(\sum\limit…

实验1 现代C++编程初体验

任务1: 源代码1 #include <iostream>2 #include <string>3 #include <vector>4 #include <algorithm>5 template<typename T>6 void output(const T &c);7 8 void test1();9 void …

10.11总结

1.今天编写了一个学生错题管理程序 2.明天继续改进程序

2025年10月门窗十大品牌最新推荐榜单,十大品牌测评排名与选择指南

在当前的门窗行业中,消费者面临着诸多选择难题。一方面,市场上门窗产品质量参差不齐,部分厂家为降低成本,使用劣质型材和玻璃,导致门窗抗压、抗风压性能不足,使用一段时间后易出现变形、漏风漏水等问题,不仅影响…

CF60E Mushroom Gnomes

CF60E Mushroom Gnomes 10月10日的茶 考虑蘑菇在一分钟后有什么变化 \[\begin{align} &S_0 = a_1 + a_2 + a_3 + a_4 ... + a_{n-1} + a_{n} \\ &S_1 = a_1 +(a_1 + a_2) + a_2 + (a_2 + a_3) + a_3 + ... + a…

CF691E Xor-sequences

CF691E Xor-sequences [10月9日的茶](Problem - 691E - Codeforces) 计数问题,只有相邻元素有约束,k很大,考虑矩阵快速幂dp 因为只有相邻元素有约束,所以转移只用看某序列最后一个元素,设 \(f[i][j]\) 为长度为 \…

LCPC12E - Johnnys Empire 题解

SPOJ LCPC12E - Johnnys Empire 题解题目 题目描述 多年前,Johnny 的父亲拥有一个伟大的王国。临终前,他将他的王国分给了他的儿子们(Johnny 和 Johnny 的兄弟)。Johnny 的兄弟得到了一个半径为 \(R\) 的圆形王国,…

中微笔记-cp.1 技术

在生产者理论中,我们主要通过生产函数描述技术。本章主要围绕生产函数的设定展开。在生产者理论中,我们主要通过生产函数描述技术。本章主要围绕生产函数的设定展开。1. 对技术的说明 这里给出几组概念: 其中,\(y_…