当前位置: 首页 > news >正文

MySQL基础知识点总结

一、数据库基本概念
  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
非空字段不能为NULLNOT 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)、函数、约束、多表查询及事务管理。掌握这些内容可进行基本的数据库设计、数据操作与查询,并确保数据安全性和一致性。

相关文章:

  • python高效环境管理工具UV详解:性能与功能对比分析
  • GLPI 未授权SQL注入漏洞(CVE-2025-24799)
  • Apache httpclient okhttp(1)
  • 国内外网络安全政策动态(2025年3月)
  • 记录一次使用datax一次性导入多张表的经验
  • LeeCode 5. 最长回文子串
  • saltstack自动化运维工具安装部署以及常用模块
  • 学透Spring Boot — 007. 七种配置方式及优先级
  • 用户模块——整合 Spring 缓存(Cacheable)
  • 系统与网络安全------Windows系统安全(7)
  • Deep Learning-Based Human Pose Estimation: A Survey【读到2d单人hpe】
  • Java For 循环全解析:从基础到增强的实战指南
  • Spring Boot项目中策略模式的应用与实现
  • 教程:如何使用 JSON 合并脚本
  • AutoDev Next:IDE 即 AI 编程服务,构建多端粪围编程
  • 接口自动化学习三:参数化parameterize
  • 多品种金融数据高效导入丨DolphinDB 希施玛历史数据自动化导入模块介绍
  • 【目标检测】【深度学习】【Pytorch版本】YOLOV3模型算法详解
  • JVM深入原理(一+二):JVM概述和JVM功能
  • 《解锁Qwen2.5-Omni:AI全模态大模型部署实战指南》
  • 做网站有回扣拿吗/关键词如何排名在首页
  • 网页设计制作音乐网站/打广告去哪个平台免费
  • wordpress怎么做企业网站/新闻头条最新消息10条
  • 南昌网站建设公司案例/app营销策略都有哪些
  • 用群晖做网站/厦门百度广告
  • 网站建设服务价格/全网关键词搜索