SQL核心知识点总结

时间:2025-08-11

一、SQL基础概念

  1. SQL(STructured Query Language):结构化查询语言,用于管理关系型数据库

  2. 关系型数据库:基于关系模型,数据以表格形式存储

  3. 主要操作类型:

    • DDL (数据定义语言):CREATE, ALTER, DROP

    • DML (数据操作语言):SELECT, INSERT, UPDATE, DELETE

    • DCL (数据控制语言):GRANT, REVOKE

    • TCL (事务控制语言):COMMIT, ROLLBACK, SAVEPOINT

二、基本查询

  1. SELECT语句:

    sq

    SELECT 列名1, 列名2 FROM 表名 WHERE 条件;

  2. WHERE子句:过滤条件

    • 比较运算符:=, <>, >, <, >=, <=

    • 逻辑运算符:AND, OR, NOT

    • BETWEEN, IN, LIKE, IS NULL

  3. 排序:

    sql

    SELECT * FROM 表名 ORDER BY 列名 [ASC|DESC];

三、常用函数

  1. 聚合函数:

    • COUNT(), SUM(), AVG(), MAX(), MIN()

  2. 字符串函数:

    • CONCAT(), SUBSTRING(), UPPER(), LOWER(), LENGTH()

  3. 数值函数:

    • ROUND(), CEIL(), FLOOR(), ABS()

  4. 日期函数:

    • NOW(), CURDATE(), DATE_FORMAT(), DATEDIFF()

四、分组与过滤

  1. GROUP BY:

    sql

    SELECT 列名, 聚合函数 FROM 表名 GROUP BY 列名;

  2. HAVING:对分组结果过滤

    sql

    复制

    SELECT 列名, COUNT(*) FROM 表名  GROUP BY 列名 HAVING COUNT(*) > 1;

五、多表查询

  1. 连接类型:

    • 内连接(INNER JOIN):只返回匹配的行

    • 左连接(LEFT JOIN):返回左表所有行,右表不匹配为NULL

    • 右连接(RIGHT JOIN):返回右表所有行,左表不匹配为NULL

    • 全连接(FULL JOIN):返回所有行,不匹配为NULL

    • 交叉连接(CROSS JOIN):笛卡尔积

  2. 连接语法:

    sql

    SELECT * FROM 表1 JOIN 表2 ON 表1.列 = 表2.列;

六、子查询

  1. WHERE子句中的子查询:

    sql

    SELECT * FROM 表名 WHERE 列名 IN (SELECT 列名 FROM 表名);

  2. FROM子句中的子查询:

    sql

    复制

    SELECT * FROM (SELECT 列名 FROM 表名) AS 别名;

  3. EXISTS/NOT EXISTS:

    sql

    SELECT * FROM 表名 WHERE EXISTS (SELECT 1 FROM 表名 WHERE 条件);

七、数据操作

  1. INSERT:

    sql

    INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);

  2. UPDATE:

    sql

    UPDATE 表名 SET 列1=值1, 列2=值2 WHERE 条件;

  3. DELETE:

    sql

    DELETE FROM 表名 WHERE 条件;

八、表与索引

  1. 创建表:

    sql

    CREATE TABLE 表名 (
      列名1 数据类型 约束,
      列名2 数据类型 约束,
      ... );

  2. 约束类型:

    • PRIMARY KEY:主键

    • FOREIGN KEY:外键

    • NOT NULL:非空

    • UNIQUE:

    • CHECK:检查条件

    • DEFAULT:默认值

  3. 索引:

    CREATE INDEX 索引名 ON 表名 (列名);

九、事务处理

  1. 事务特性(ACID):

    • 原子性(Atomicity)

    • 一致性(Consistency)

    • 隔离性(IsolaTIon)

    • 持久性(Durability)

  2. 事务控制:

    sql

    BEGIN TRANSACTION; -- SQL语句 COMMIT; -- 或 ROLLBACK;

十、特性

  1. 视图(VIEW):

    sql

    CREATE VIEW 视图名 AS SELECT语句;

  2. 存储过程(PROCEDURE):

    CREATE PROCEDURE 过程名(参数) BEGIN
      -- SQL语句 END;

  3. 触发器(TRIGGER):

    sql

    CREATE TRIGGER 触发器名 BEFORE/AFTER INSERT/UPDATE/DELETE ON 表名 FOR EACH ROW BEGIN
      -- 触发时执行的SQL END;

  4. 窗口函数(Window Functions):

    sql

    SELECT 列名, 
      ROW_NUMBER() OVER (PARTITION BY 列 ORDER BY 列)  FROM 表名;

  5. CTE(公用表表达式):

    sql

    WITH CTE名称 AS (
      SELECT语句 ) SELECT * FROM CTE名称;

十一、性能优化

  1. 合理使用索引

  2. 避免SELECT *

  3. 优化JOIN操作

  4. 使用EXPLAIN分析查询计划

  5. 适当分表分库

上一篇:MCU(微控制器)的核心设计原理
下一篇:有没有适配m1的模拟器

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料