MySQL 关系型数据库笔记
一、数据库基础
-
数据库 (Database): 存储数据的仓库,按照数据结构组织、存储和管理数据。
-
关系型数据库 (Relational Database): 基于关系模型建立的数据库,使用表格存储数据,表格之间通过关系连接。
-
表 (Table): 数据库中的基本结构,由行和列组成,类似于电子表格。
-
行 (Row): 表中的一条记录,代表一个实体。
-
列 (Column): 表中的一个字段,代表实体的一个属性。
-
主键 (Primary Key): 唯一标识表中每条记录的列或列组合。
-
外键 (Foreign Key): 建立表与表之间关系的列,指向另一张表的主键。
二、SQL 语言
-
SQL (Structured Query Language): 用于操作关系型数据库的标准语言。
-
SQL 分类:
-
DDL (Data Definition Language): 定义数据库对象,例如 CREATE、ALTER、DROP。
-
DML (Data Manipulation Language): 操作数据,例如 SELECT、INSERT、UPDATE、DELETE。
-
DCL (Data Control Language): 控制数据库访问权限,例如 GRANT、REVOKE。
-
-
常用 SQL 语句:
-
创建数据库:
CREATE DATABASE database_name; -
删除数据库:
DROP DATABASE database_name; -
创建表:
sql
复制
CREATE TABLE table_name ( column1 datatype constraints, column2 datatype constraints, ... PRIMARY KEY (column_name) ); -
删除表:
DROP TABLE table_name; -
插入数据:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); -
查询数据:
SELECT column1, column2, ... FROM table_name WHERE condition; -
更新数据:
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; -
删除数据:
DELETE FROM table_name WHERE condition;
-
三、MySQL 数据类型
-
数值类型:
-
INT: 整数
-
FLOAT: 单精度浮点数
-
DOUBLE: 双精度浮点数
-
DECIMAL: 定点数
-
-
字符串类型:
-
CHAR: 定长字符串
-
VARCHAR: 变长字符串
-
TEXT: 长文本数据
-
-
日期时间类型:
-
DATE: 日期
-
TIME: 时间
-
DATETIME: 日期和时间
-
TIMESTAMP: 时间戳
-
四、MySQL 约束
-
NOT NULL: 列不能为空。
-
UNIQUE: 列的值必须唯一。
-
PRIMARY KEY: 主键,唯一标识一条记录。
-
FOREIGN KEY: 外键,建立表与表之间的关系。
-
CHECK: 检查列的值是否符合条件。
-
DEFAULT: 为列设置默认值。
五、MySQL 索引
-
索引 (Index): 提高数据检索速度的数据结构。
-
索引类型:
-
普通索引: 最基本的索引,没有任何限制。
-
唯一索引: 索引列的值必须唯一。
-
主键索引: 特殊的唯一索引,不允许有空值。
-
-
创建索引:
CREATE INDEX index_name ON table_name (column_name); -
删除索引:
DROP INDEX index_name ON table_name;
六、MySQL 函数
-
聚合函数: AVG()、COUNT()、MAX()、MIN()、SUM()
-
字符串函数: CONCAT()、LENGTH()、LOWER()、UPPER()、SUBSTRING()
-
日期时间函数: NOW()、CURDATE()、CURTIME()、DATE_ADD()、DATE_SUB()
-
数学函数: ABS()、CEIL()、FLOOR()、RAND()、ROUND()
七、MySQL 事务
-
事务 (Transaction): 一组原子性的 SQL 操作,要么全部成功,要么全部失败。
-
事务特性 (ACID):
-
原子性 (Atomicity): 事务是一个不可分割的工作单元。
-
一致性 (Consistency): 事务必须使数据库从一个一致性状态变换到另一个一致性状态。
-
隔离性 (Isolation): 多个事务并发执行时,一个事务的执行不应影响其他事务。
-
持久性 (Durability): 一旦事务提交,对数据的改变就是永久性的。
-
-
事务控制语句:
-
BEGIN: 开始一个事务。
-
COMMIT: 提交事务,使更改永久生效。
-
ROLLBACK: 回滚事务,撤销所有更改。
-
八、MySQL 备份与恢复
-
备份类型:
-
完全备份: 备份整个数据库。
-
增量备份: 备份自上次备份以来更改的数据。
-
-
备份工具:
-
mysqldump: 命令行工具,用于备份数据库。
-
MySQL Workbench: 图形化工具,提供备份和恢复功能。
-
-
恢复数据库: 使用备份文件恢复数据库。
九、MySQL 优化
-
优化查询:
-
使用索引。
-
避免使用 SELECT *。
-
使用 LIMIT 限制返回的行数。
-
-
优化表结构:
-
选择合适的数据类型。
-
规范化数据库设计。
-
-
优化服务器配置:
-
调整内存参数。
-
优化磁盘 I/O。
-
十、MySQL 学习资源
-
在线教程: MySQL 教程 | 菜鸟教程
-
书籍: 《MySQL 必知必会》、《高性能 MySQL》
1556

被折叠的 条评论
为什么被折叠?



