MySQL学习(五)—MySQL备份/数据库三大范式
01 MySQL备份
- 数据库备份的必要性:1.保证重要数据不丢失 2.数据转移
- MySQL数据库备份方法:1.mysqldump备份工具 2.数据库管理工具,如SQLyog 3.直接拷贝数据库文件和相关配置文件
- mysqldump客户端的使用:
#导出一张表
mysqldump -u用户名 -p密码 库名 表名 > 文件名(D:/a.sql)
#导出多张表
mysqldump -u用户名 -p密码 库名 表1 表2 表3 > 文件名(D:/a.sql)
#导出所有表
mysqldump -u用户名 -p密码 库名 > 文件名(D:/a.sql)
#导出一个库
mysqldump -u用户名 -p密码 -B 库名 > 文件名(D:/a.sql)
#导入
1. 在登录mysql的情况下:
source 备份文件
2. 在不登录的情况下
mysql -u用户名 -p密码 库名 < 备份文件
- 使用SQLyog进行数据库备份
-
导出备份数据:
选择要导出的库—>右键选择备份/导出—>选择文件的保存路径—>依需求选择最顶部的三个选项:仅表结构/仅表数据/表结构和表数据(如果库的表数据较多较大的话可以分开导出备份,分为导出表结构和表数据2个sql文件,因为如果一次性选择表结构和表数据需要花费的时间较长,重新导入时可能会出现无法导入的问题)
-
导入备份数据:
点击数据库—>导入—>执行SQL脚本—>选择要导入的数据—>执行
(注意:如果导出时将表结构和表数据分开保存了,在导入时需要先导入表结构,再导入表数据)
-
02 数据库三大范式
数据库的设计必须规范化,不合规范的数据表可能造成信息重复,更新异常,插入异常,删除异常等问题
设计数据库的三大范式:
- 确保每列的原子性,如果每列都是不可再分的最小数据单元,则满足第一范式。
- 每个表只描述一件事情
- 如果一个关系满足第二范式,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式.