目录
-
-
- [1. 基本概念](#1. 基本概念)
- [2. 数据类型](#2. 数据类型)
- [3. 数据库操作](#3. 数据库操作)
- [4. 表操作](#4. 表操作)
- [5. 数据操作](#5. 数据操作)
- [6. 索引](#6. 索引)
- [7. 约束](#7. 约束)
- [8. 事务](#8. 事务)
- [9. 存储过程和触发器](#9. 存储过程和触发器)
- [10. 优化和性能调优](#10. 优化和性能调优)
- [11. 安全性](#11. 安全性)
- [12. 备份和恢复](#12. 备份和恢复)
-
MySQL 是一个广泛使用的 关系数据库管理系统 (RDBMS)。了解 MySQL 的主要知识点可以帮助你更好地设计、管理和优化数据库。以下是一些 MySQL 的主要知识点:
1. 基本概念
- 数据库:数据的集合。
- 表:数据库中的结构化数据的集合。
- 行:表中的单条记录。
- 列 :表中的一个字段。
MySQL中基本概念
2. 数据类型
- 数值类型:INT、FLOAT、DOUBLE、DECIMAL 等。
- 字符串类型:CHAR、VARCHAR、TEXT、BLOB 等。
- 日期和时间类型 :DATE、TIME、DATETIME、TIMESTAMP 等。
MySQL中的数据类型
3. 数据库操作
- 创建数据库 :
CREATE DATABASE dbname;
- 删除数据库 :
DROP DATABASE dbname;
- 选择数据库 :
USE dbname;
4. 表操作
-
创建表 :
sqlCREATE TABLE table_name ( column1 datatype, column2 datatype, ... );
-
删除表 :
DROP TABLE table_name;
-
修改表:添加、删除或修改列等。
5. 数据操作
-
插入数据 :
sqlINSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
-
查询数据 :
sqlSELECT column1, column2 FROM table_name WHERE condition;
-
更新数据 :
sqlUPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
-
删除数据 :
sqlDELETE FROM table_name WHERE condition;
6. 索引
- 创建索引 :
CREATE INDEX index_name ON table_name (column);
- 删除索引 :
DROP INDEX index_name ON table_name;
- 唯一索引 :防止重复值。
MySQL中相关索引
7. 约束
- 主键 (PRIMARY KEY):唯一标识表中的每一行。
- 外键 (FOREIGN KEY):确保数据的一致性和完整性。
- 唯一 (UNIQUE):确保列中的所有值是唯一的。
- 非空 (NOT NULL):确保列不能包含 NULL 值。
8. 事务
-
事务 (Transaction) :一组SQL操作的集合,要么全部执行,要么全部不执行。
sqlSTART TRANSACTION; -- SQL operations COMMIT; -- Save changes ROLLBACK; -- Undo changes if needed
9. 存储过程和触发器
-
存储过程 :一组SQL语句的集合,存储在数据库中。
sqlCREATE PROCEDURE procedure_name AS BEGIN -- SQL statements END;
-
触发器 :自动执行的存储过程,用于在表中的事件(插入、更新、删除)发生时执行。
sqlCREATE TRIGGER trigger_name BEFORE INSERT ON table_name FOR EACH ROW BEGIN -- SQL statements END;
10. 优化和性能调优
- 索引优化:合理使用索引可以提高查询性能。
- 查询优化:使用EXPLAIN分析查询执行计划,优化查询语句。
- 缓存:使用查询缓存和InnoDB缓冲池。
11. 安全性
-
用户管理 :创建和管理数据库用户,赋予适当的权限。
sqlCREATE USER 'username'@'host' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'host';
-
权限管理:限制用户对数据库的访问权限。
12. 备份和恢复
-
备份 :使用
mysqldump
工具进行数据备份。shmysqldump -u username -p database_name > backup.sql
-
恢复 :使用
mysql
工具恢复数据。shmysql -u username -p database_name < backup.sql
MySQL中三大范式与Mycat
MySQL中锁
MySQL中索引与算法
通过掌握这些主要知识点,可以帮助你更好地设计和管理MySQL数据库,提升数据操作的效率和安全性。