MySQL基础知识点总结

发布于:2025-04-04 ⋅ 阅读:(24) ⋅ 点赞:(0)
一、数据库基本概念
  1. 数据库(DB):有组织存储数据的仓库。

  2. 数据库管理系统(DBMS):管理数据库的大型软件(如MySQL、Oracle)。

  3. SQL:操作关系型数据库的标准编程语言。

  4. 关系型数据库特点

    • 基于二维表结构存储数据。

    • 支持SQL统一操作。

    • 数据一致性和完整性高。


二、SQL分类
分类 功能 常用命令
DDL 定义数据库对象(库、表、字段) CREATE, ALTER, DROP, SHOW
DML 操作数据增删改 INSERT, UPDATE, DELETE
DQL 数据查询 SELECT(支持条件、聚合、分组、排序、分页)
DCL 控制用户权限 GRANT, REVOKE, CREATE USER

三、DDL(数据定义语言)
  1. 数据库操作

    • 创建:CREATE DATABASE [IF NOT EXISTS] 数据库名

    • 删除:DROP DATABASE [IF EXISTS] 数据库名

    • 切换:USE 数据库名

  2. 表操作

    • 创建表:CREATE TABLE 表名 (字段名 类型 [约束])

    • 修改表:ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP 字段

    • 删除表:DROP TABLE [IF EXISTS] 表名

  3. 数据类型

    • 数值类型INT, TINYINT, DECIMAL

    • 字符串类型CHAR(定长), VARCHAR(变长)

    • 日期时间DATE, DATETIME, TIMESTAMP


四、DML(数据操作语言)
  1. 插入数据

    • INSERT INTO 表名 (字段) VALUES (值)

    • 批量插入:VALUES (值1), (值2)

  2. 更新数据

    • UPDATE 表名 SET 字段=值 [WHERE 条件]

  3. 删除数据

    • DELETE FROM 表名 [WHERE 条件]


五、DQL(数据查询语言)
  1. 基础查询

    • SELECT 字段列表 FROM 表名

    • 别名:字段 AS 别名

    • 去重:DISTINCT

  2. 条件查询

    • 比较运算符:>, =, BETWEEN, IN

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

    • 模糊查询:LIKE%匹配任意字符,_匹配单个字符)

  3. 聚合函数

    • COUNT, MAX, MIN, AVG, SUM

  4. 分组与排序

    • 分组:GROUP BY 字段 [HAVING 条件]

    • 排序:ORDER BY 字段 [ASC/DESC]

  5. 分页查询

    • LIMIT 起始索引, 查询条数


六、DCL(数据控制语言)
  1. 用户管理

    • 创建用户:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'

    • 删除用户:DROP USER '用户名'@'主机名'

  2. 权限控制

    • 授权:GRANT 权限 ON 数据库.表 TO '用户'@'主机名'

    • 撤销权限:REVOKE 权限 ON 数据库.表 FROM '用户'@'主机名'


七、函数
  1. 字符串函数CONCAT, LOWER, UPPER, SUBSTRING, LPAD/RPAD

  2. 数值函数CEIL, FLOOR, ROUND, RAND

  3. 日期函数CURDATE, NOW, DATE_ADD, DATEDIFF

  4. 流程函数IF, CASE ... WHEN ... THEN ... ELSE ... END


八、约束
约束类型 作用 关键字
主键 唯一标识,非空 PRIMARY KEY
外键 关联其他表的主键 FOREIGN KEY
唯一 字段值唯一 UNIQUE
非空 字段不能为NULL NOT NULL
默认值 未赋值时使用默认值 DEFAULT
检查约束 字段值满足条件 CHECK(MySQL 8.0+)

九、多表查询
  1. 连接查询

    • 内连接INNER JOIN(查询交集数据)

    • 左外连接LEFT JOIN(左表全部 + 右表匹配)

    • 右外连接RIGHT JOIN(右表全部 + 左表匹配)

  2. 自连接:同一表内连接,需起别名。

  3. 子查询

    • 标量子查询:返回单个值(如SELECT MAX(salary))。

    • 列/行子查询:返回一列或一行(配合IN, ANY, ALL)。

    • 表子查询:返回多行多列(用于FROM后的临时表)。


十、事务
  1. 四大特性(ACID)

    • 原子性:事务不可分割,全部成功或失败。

    • 一致性:事务前后数据状态一致。

    • 隔离性:事务间操作互不干扰。

    • 持久性:事务提交后数据永久保存。

  2. 并发问题

    • 脏读:读到未提交的数据。

    • 不可重复读:同一事务内多次读取结果不同。

    • 幻读:查询无数据,插入时发现数据已存在。

  3. 隔离级别

    • READ UNCOMMITTED:可能脏读、不可重复读、幻读。

    • READ COMMITTED:避免脏读。

    • REPEATABLE READ(默认):避免脏读、不可重复读。

    • SERIALIZABLE:完全隔离,避免所有问题。

  4. 事务控制

    • 开启事务:START TRANSACTION

    • 提交事务:COMMIT

    • 回滚事务:ROLLBACK


总结:MySQL基础涵盖数据库概念、SQL语法分类(DDL/DML/DQL/DCL)、函数、约束、多表查询及事务管理。掌握这些内容可进行基本的数据库设计、数据操作与查询,并确保数据安全性和一致性。


网站公告

今日签到

点亮在社区的每一天
去签到