news 2026/6/11 19:02:18

SQL常用语句大全

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQL常用语句大全

SQL 常用语句大全(通用版,适用于 MySQL、PostgreSQL、SQL Server、Oracle 等)

SQL(Structured Query Language)分为几大类:DDL(数据定义)、DML(数据操作)、DQL(数据查询)、DCL(数据控制)、事务控制。下面按功能分类汇总最常用语句,并附带示例(假设有表usersorders)。

1. 数据库操作(DDL)
语句用法示例
CREATE DATABASE创建数据库CREATE DATABASE mydb CHARACTER SET utf8mb4;
DROP DATABASE删除数据库DROP DATABASE mydb;
USE切换数据库USE mydb;
SHOW DATABASES查看所有数据库SHOW DATABASES;
2. 表操作(DDL)
语句用法示例
CREATE TABLE创建表```CREATE
DROP TABLE删除表DROP TABLE users;
TRUNCATE TABLE清空表数据(保留结构)TRUNCATE TABLE users;
ALTER TABLE … ADD添加列ALTER TABLE users ADD COLUMN email VARCHAR(100);
ALTER TABLE … MODIFY修改列类型ALTER TABLE users MODIFY age SMALLINT;
ALTER TABLE … DROP删除列ALTER TABLE users DROP COLUMN email;
ALTER TABLE … RENAME重命名表ALTER TABLE users RENAME TO customers;
SHOW TABLES查看所有表SHOW TABLES;
DESC/DESCRIBE查看表结构DESC users;
3. 数据插入、更新、删除(DML)
语句用法示例
INSERT INTO插入单行INSERT INTO users (name, age) VALUES ('张三', 25);
INSERT INTO 多行插入多行INSERT INTO users (name, age) VALUES ('李四', 30), ('王五', 22);
UPDATE更新数据UPDATE users SET age = age + 1 WHERE id = 1;
DELETE删除数据DELETE FROM users WHERE id = 1;
DELETE 清空表清空表(可回滚)DELETE FROM users;
4. 数据查询(DQL,最常用)

基本查询

SELECT*FROMusers;SELECTname,ageFROMusersWHEREage>20ORDERBYageDESCLIMIT10;

常用关键字

关键字用法示例
WHERE条件过滤WHERE age BETWEEN 20 AND 30 AND name LIKE '张%'
ORDER BY排序ORDER BY age DESC, id ASC
LIMIT/OFFSET分页(MySQL)LIMIT 10 OFFSET 20(第3页,每页10条)
DISTINCT去重SELECT DISTINCT age FROM users;
GROUP BY分组统计SELECT age, COUNT(*) FROM users GROUP BY age HAVING COUNT(*) > 1;
HAVING分组后过滤(配合 GROUP BY)同上

聚合函数

函数含义
COUNT(*)行数
COUNT(column)非NULL值数量
SUM(column)求和
AVG(column)平均值
MAX/MIN(column)最大/最小值

多表查询

-- 内连接SELECTu.name,o.amountFROMusers uINNERJOINorders oONu.id=o.user_id;-- 左连接SELECTu.name,o.amountFROMusers uLEFTJOINorders oONu.id=o.user_id;-- 右连接、全连接类似

子查询

SELECTnameFROMusersWHEREidIN(SELECTuser_idFROMordersWHEREamount>1000);

联合查询

SELECTnameFROMusersWHEREage>30UNIONALL-- UNION 去重,UNION ALL 不去重SELECTnameFROMcustomersWHEREage>30;
5. 索引操作
语句用法示例
CREATE INDEX创建普通索引CREATE INDEX idx_name ON users(name);
CREATE UNIQUE INDEX创建唯一索引CREATE UNIQUE INDEX idx_email ON users(email);
DROP INDEX删除索引DROP INDEX idx_name ON users;
6. 事务控制
STARTTRANSACTION;-- 或 BEGININSERTINTOusers...;UPDATEorders...;COMMIT;-- 提交-- ROLLBACK; -- 回滚(出错时)
7.数据控制语言(DCL,权限管理)
语句用法示例
GRANT授予权限GRANT SELECT, INSERT ON mydb.* TO 'user'@'localhost';
REVOKE撤销权限REVOKE INSERT ON mydb.* FROM 'user'@'localhost';
CREATE USER创建用户CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
8. 常用实用语句汇总(一图记住)
-- 查看当前数据库版本SELECTVERSION();-- 查看当前使用的数据库SELECTDATABASE();-- 查看表占用空间大小(MySQL)SELECTtable_name,table_rows,data_length/1024/1024ASdata_MB,index_length/1024/1024ASindex_MBFROMinformation_schema.tablesWHEREtable_schema='mydb';-- 批量更新(CASE WHEN)UPDATEusersSETlevel=CASEWHENage<18THEN'minor'WHENage<60THEN'adult'ELSE'senior'END;
学习建议

掌握以上语句,就能应对 95% 的日常 SQL 开发需求!如果需要特定数据库(如 PostgreSQL 的高级特性)或复杂查询示例,欢迎继续提问。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 1:46:57

SSH简介及两种远程登录的方法

SSH 简介及两种远程登录的方法 SSH 简介 SSH&#xff08;Secure Shell&#xff0c;安全外壳协议&#xff09;是一种加密的网络传输协议&#xff0c;用于在不安全的网络中为远程登录和其它网络服务提供安全保障。它由 IETF&#xff08;互联网工程任务组&#xff09;制定&#…

作者头像 李华
网站建设 2026/5/21 11:22:58

深度学习毕设项目:机器学习基于python-CNN的常见鱼类分类识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/7 1:11:07

深度解构:从chroot到容器——Mock构建环境的隔离技术演进与问题诊断

深度解构&#xff1a;从chroot到容器——Mock构建环境的隔离技术演进与问题诊断 引言&#xff1a;RPM构建的隔离需求 在Linux发行版开发中&#xff0c;RPM包的构建需要一个干净、可控的环境以确保构建的可重复性和可靠性。Mock作为Fedora社区开发的RPM构建工具&#xff0c;正…

作者头像 李华
网站建设 2026/6/9 16:02:41

springboot疫苗发布和接种预约系统(11650)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告&#xff09;远程调试控屏包运行 三、技术介绍 Java…

作者头像 李华