MySQL文章总结,简单整理和详细整理

这篇博客文章《MySQL 有这一篇就够(呕心狂敲37k字,只为博君一点赞!!!)》是一篇非常全面的MySQL基础教程,适合初学者和需要复习MySQL知识的开发者。以下是文章的核心内容整理:


一、SQL 简述

• SQL 概述:SQL(Structured Query Language)是关系型数据库的标准语言,用于定义和操作数据。

• SQL 优点:简单易学、高度非过程化、被大多数数据库管理系统支持。

• SQL 分类:

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

• DML(数据操作语言):INSERT、UPDATE、DELETE。

• DCL(数据控制语言):GRANT、DENY。

• DQL(数据查询语言):SELECT。


二、数据库的三大范式

• 第一范式(1NF):表的每一列都是不可分割的基本数据项。

• 第二范式(2NF):在1NF基础上,非主键列必须完全依赖于主键。

• 第三范式(3NF):在2NF基础上,非主键列之间不能存在依赖关系。


三、数据库的数据类型

• 整数类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。

• 浮点数和定点数类型:FLOAT、DOUBLE、DECIMAL。

• 字符串类型:CHAR、VARCHAR、TEXT(TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT)。

• 日期与时间类型:YEAR、TIME、DATE、DATETIME、TIMESTAMP。

• 二进制类型:BLOB(TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB)。


四、数据库、数据表的基本操作

• 数据库操作:

• 创建数据库:`CREATE DATABASE`。

• 删除数据库:`DROP DATABASE`。

• 查看数据库:`SHOW DATABASES`。

• 数据表操作:

• 创建表:`CREATE TABLE`。

• 查看表:`SHOW TABLES`、`DESCRIBE`。

• 修改表:`ALTER TABLE`。

• 删除表:`DROP TABLE`。


五、数据表的约束

• 主键约束:`PRIMARY KEY`,用于唯一标识记录。

• 非空约束:`NOT NULL`,字段值不能为空。

• 默认值约束:`DEFAULT`,字段的默认值。

• 唯一性约束:`UNIQUE`,字段值必须唯一。

• 外键约束:`FOREIGN KEY`,用于表之间的关联。


六、数据表插入数据

• 插入数据:`INSERT INTO`。

• 插入多条记录:`INSERT INTO ... VALUES (...), (...);`。


七、更新数据

• 更新数据:`UPDATE ... SET ... WHERE ...;`。


八、删除数据

• 删除数据:`DELETE FROM ... WHERE ...;`。

• 清空表:`TRUNCATE TABLE`。


九、MySQL数据表简单查询

• 查询所有字段:`SELECT * FROM ...;`。

• 查询指定字段:`SELECT field1, field2 FROM ...;`。

• 使用`DISTINCT`去除重复数据。

• 使用算术运算符进行计算。


十、函数

• 聚合函数:`COUNT()`、`MAX()`、`MIN()`、`SUM()`、`AVG()`。

• 其他常用函数:时间函数、字符串函数、数学函数。


十一、条件查询

• 使用关系运算符(`=`,`<>`,`>`,`<`,`>=`,`<=`)。

• 使用`IN`、`BETWEEN AND`、`IS NULL`、`AND`、`OR`、`LIKE`。

• 使用`LIMIT`限制查询结果数量。

• 使用`GROUP BY`分组查询,结合`HAVING`过滤分组。

• 使用`ORDER BY`排序查询结果。


十二、别名设置

• 为表取别名:`SELECT * FROM table AS alias;`。

• 为字段取别名:`SELECT field AS alias FROM table;`。


十三、表的关联关系

• 多对一:通过外键关联。

• 多对多:通过中间表关联。

• 一对一:较少使用,通常合并到一张表中。


十四、多表连接查询

• 交叉连接:`CROSS JOIN`。

• 内连接:`INNER JOIN`。

• 外连接:

• 左外连接:`LEFT JOIN`。

• 右外连接:`RIGHT JOIN`。


十五、子查询

• 带比较运算符的子查询。

• 带`EXISTS`关键字的子查询。

• 带`ANY`关键字的子查询。

• 带`ALL`关键字的子查询。

下面是详细版本

https://www.yuque.com/u2228905/rut9ig/xkscqnt8kp40umm4?#《详细版本》https://www.yuque.com/u2228905/rut9ig/xkscqnt8kp40umm4

你可能感兴趣的:(MySQL,数据库,mysql)