news 2026/7/7 1:18:49

常用的 SQL 语句分类及其语法:

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
常用的 SQL 语句分类及其语法:

好的,以下是常用的 SQL 语句分类及其语法:

1. 数据查询 (SELECT)

  • 基本查询:
    SELECT 列名1, 列名2, ... FROM 表名;
    • 查询所有列:SELECT * FROM 表名;
    • 查询表数据:SELECT COUNT(*) FROM 表名
  • 带条件查询 (WHERE):
    SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件;
    • 条件运算符:=,!=<>,>,<,>=,<=
    • 逻辑运算符:AND,OR,NOT
    • 范围查询:BETWEEN 值1 AND 值2
    • 列表匹配:IN (值1, 值2, ...)
    • 模糊匹配:LIKE '模式'(通配符%代表任意多个字符,_代表一个字符)
    • 空值判断:IS NULL,IS NOT NULL
  • 结果排序 (ORDER BY):
    SELECT 列名1, 列名2, ... FROM 表名 ORDER BY 排序列1 [ASC|DESC], 排序列2 [ASC|DESC], ...;
    • ASC升序 (默认),DESC降序。
  • 结果去重 (DISTINCT):
    SELECT DISTINCT 列名 FROM 表名;
  • 结果限制 (LIMIT):
    SELECT 列名1, 列名2, ... FROM 表名 LIMIT 数量; -- 取前 N 条 SELECT 列名1, 列名2, ... FROM 表名 LIMIT 偏移量, 数量; -- 分页常用
  • 聚合函数 (GROUP BY, HAVING):
    SELECT 聚合函数(列名), 分组列 FROM 表名 GROUP BY 分组列 HAVING 分组后条件;
    • 常用聚合函数:COUNT(),SUM(),AVG(),MAX(),MIN()
    • GROUP BY按指定列分组。
    • HAVING对分组后的结果进行过滤 (类似WHERE,但作用于分组)。
  • 表连接 (JOIN):
    • 内连接 (INNER JOINJOIN):
      SELECT 列名 FROM 表1 INNER JOIN 表2 ON 表1.关联列 = 表2.关联列;
    • 左外连接 (LEFT JOINLEFT OUTER JOIN):
      SELECT 列名 FROM 表1 LEFT JOIN 表2 ON 表1.关联列 = 表2.关联列;
    • 右外连接 (RIGHT JOINRIGHT OUTER JOIN):
      SELECT 列名 FROM 表1 RIGHT JOIN 表2 ON 表1.关联列 = 表2.关联列;
    • 全外连接 (FULL JOINFULL OUTER JOIN):
      SELECT 列名 FROM 表1 FULL JOIN 表2 ON 表1.关联列 = 表2.关联列;
    • 交叉连接 (CROSS JOIN):
      SELECT 列名 FROM 表1 CROSS JOIN 表2;

2. 数据操作 (INSERT, UPDATE, DELETE)

  • 插入数据 (INSERT):
    INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...); -- 插入单条 INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), ...; -- 插入多条 INSERT INTO 表名 SELECT 列名1, 列名2, ... FROM 另一表名 [WHERE 条件]; -- 从查询结果插入
  • 更新数据 (UPDATE):
    UPDATE 表名 SET 列名1 = 新值1, 列名2 = 新值2, ... WHERE 条件; -- 一定要加WHERE条件避免全表更新!
  • 删除数据 (DELETE):
    DELETE FROM 表名 WHERE 条件; -- 一定要加WHERE条件避免清空表!
  • 清空表数据 (TRUNCATE):
    TRUNCATE TABLE 表名; -- 删除所有数据,重置自增ID等,速度快但不可回滚

3. 数据定义 (CREATE, ALTER, DROP)

  • 创建数据库:
    CREATE DATABASE 数据库名;
  • 删除数据库:
    DROP DATABASE 数据库名;
  • 创建表:
    CREATE TABLE 表名 ( 列名1 数据类型 [约束], 列名2 数据类型 [约束], ... [表级约束] );
    • 常用数据类型:INT,VARCHAR(长度),TEXT,DATE,DATETIME,DECIMAL(总位数, 小数位数),BOOLEAN等。
    • 常用约束:
      • PRIMARY KEY(主键)
      • NOT NULL(非空)
      • UNIQUE(唯一)
      • FOREIGN KEY (外键列) REFERENCES 主表名(主键列)(外键)
      • CHECK (条件)(检查约束)
      • DEFAULT 默认值(默认值)
  • 修改表结构 (ALTER):
    ALTER TABLE 表名 ADD 列名 数据类型 [约束]; -- 添加列 ALTER TABLE 表名 DROP COLUMN 列名; -- 删除列 ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型 [新约束]; -- 修改列定义 ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名; -- 重命名列 (部分数据库) ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束定义; -- 添加约束 (如外键) ALTER TABLE 表名 DROP CONSTRAINT 约束名; -- 删除约束
  • 删除表:
    DROP TABLE 表名;

4. 数据控制 (GRANT, REVOKE)

  • 授予权限:
    GRANT 权限列表 ON 数据库对象 TO 用户或角色 [WITH GRANT OPTION];
    • 权限列表:SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGES等。
    • 数据库对象:表名,视图名,数据库名.*等。
  • 撤销权限:
    REVOKE 权限列表 ON 数据库对象 FROM 用户或角色;

5. 其他常用

  • 创建视图 (VIEW):
    CREATE VIEW 视图名 AS SELECT 语句;
  • 创建索引 (INDEX):
    CREATE INDEX 索引名 ON 表名 (列名); -- 单列索引 CREATE INDEX 索引名 ON 表名 (列名1, 列名2); -- 组合索引
    • 索引可加速查询,但会增加插入、更新、删除的开销,需权衡使用。

这些是 SQL 中最常用的一些语句。具体语法细节可能因数据库管理系统(如 MySQL, PostgreSQL, SQL Server, Oracle)的不同而略有差异。

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

21零基础速成网络技术,金饭碗银饭碗,不如吃技术这碗饭!

零基础21天学习网络技术&#xff0c;目标&#xff1a;比别人多懂一点&#xff0c;饭碗更牢固一点。 我们也不要定太远大的目标 但我们可以定一个小目标 网络基础小目标&#xff1a;比别人多懂一点 核心理念&#xff1a;不求精通&#xff0c;但要实用&#xff01; &#x1f4c…

作者头像 李华
网站建设 2026/7/7 15:23:17

ECM DIMD

DIMD&#xff1a;Dual Inter and Intra Prediction Mode with Merge and Derivation &#xff08;双模式融合预测&#xff1a;帧间与帧内的联合合并与导出机制&#xff09;一、什么是 DIMD&#xff1f; ✅ 定义 DIMD&#xff08;Dual Inter and Intra Prediction Mode with Mer…

作者头像 李华
网站建设 2026/7/7 10:50:55

2024 UE4引擎 Dump SDK实战-999it纷享

一、技术定位与价值认知UE4逆向不是简单的“破解游戏”&#xff0c;而是**理解现代游戏引擎运行时架构**的深度实践。掌握这项技术意味着&#xff1a;- **引擎原理深度理解**&#xff1a;超越官方文档&#xff0c;理解UE4的实际运行机制- **游戏安全防护设计**&#xff1a;知己…

作者头像 李华
网站建设 2026/7/7 11:40:35

还在手动复制粘贴?快捷指令+Coze+飞书多维表,手机背面敲两下,全自动搭建爆款图文选题库!

我相信很多人都有这种场景,当你晚上躺在床上刷某书的时候,觉得一篇笔记,心想,哇,这个选题太好了,数据也好,下次我也要写这个!于是反手就把笔记转发给自己的wx或者其他临时中转站 结果真要到写的时候,要么翻烂了聊天记录也找不到那个链接,或者发现笔记被删了,甚至连…

作者头像 李华
网站建设 2026/7/7 0:26:23

国产数据库技术学习心得:DM数据库实战案例详解目录

引言DM数据库核心功能概览存储过程开发实战动态SQL构建技巧批量数据处理优化性能诊断与故障排除总结与展望1. 引言在深入学习《国产数据库技术》课程的过程中&#xff0c;我对达梦数据库&#xff08;DM Database&#xff09;进行了系统性实践。本文将通过具体的代码案例&#x…

作者头像 李华
网站建设 2026/7/7 11:55:20

Bodymovin插件终极指南:从零开始掌握AE动画到网页的完美转换

Bodymovin插件终极指南&#xff1a;从零开始掌握AE动画到网页的完美转换 【免费下载链接】bodymovin-extension Bodymovin UI extension panel 项目地址: https://gitcode.com/gh_mirrors/bod/bodymovin-extension 想要将After Effects中精心制作的动画无缝呈现在网页上…

作者头像 李华