数据导入与导出
数据导出与备份的区别
- 数据导出,导出的纯粹是业务数据
- 数据备份,备份的是数据文件、日志文件、索引文件等等
备份有2种:
- 全量备份:完整备份数据库,占用空间大
- 增量备份:只备份变动的数据,硬盘空间占用小
数据导出有2种
- SQL文档:数据少,可以导出SQL文档
- 文本文档:数据多,可以导出文本文档
导出SQL文件
mysqldump 用来把业务数据导出成SQL文件,其中也包括了表结构
mysqldump -uroot -p [no-data] 逻辑库 > 路径
- -uroot:表示用户
- -p:表示一会书写数据库密码,密码正确就会执行导出
- 写上no-data,表示导出只导出表结构
- 不写no-data,表示导出表结构和表数据
- 逻辑库:表示库的名称
- 路径:表示导出文件的地址
- 如果业务数据非常多,建议只导出表结构,然后用select into outfile 把数据导出成文本文档
- 注:mysql是否配置了环境变量:mysql的bin目录放到系统变量path中
栗子:
备份数据库:qa
方式一:命令行
mysqldump -uroot -p qa > D:\1\demo.sql
查看文件demo.sql,里面是一些SQL语句
方式二:使用Navicat
双击数据库打开,再右击选择转储SQL文件,里面有2个选项,一个是表结构和数据,一个是只导出表结构
生成了文件qa.sql,可以查看文件
导入SQL文件
方式一:命令行
source命令用于导出SQL文件,包括创建数据表,写入记录等
# 连接数据库,然后输入密码
mysql -u root -p
创建数据库,然后写入数据:
# 创建数据库
create database demo charset utf8;
# 打开数据库
use demo;
# 将数据导入
source D:\1\qa.sql
方式二:使用Navicat
右击鼠标,选择运行SQL文件,打开文件后选择要执行的SQL文件
选择文件后点击开始
执行成功后点击关闭
刷新数据库查看
文本文档的导入和导出
前面都是导出SQL文件,下面说导出文本文档
文本文档的好处就是,导出的是纯粹的数据,而不是SQL语句,这样导入时因为不是SQL语句,就不会有词法分析和语法优化,直接把文本文档的数据写到数据库中,导入的快,所以如果数据比较多的可以使用
栗子:表score
1.先导出表结构:导出时选择仅结构
2.导出数据
选中表,右击鼠标,选择导出向导
这里选择文本文件,当然也可以选择其他文件格式,点击下一步
这个是库中的表,可以选择自己想要导出的表,选择的是score表,当然表后面的地址可以自己修改,点击下一步
这里是表中的字段,默认的选择就行,点击下一步
后面再点击下一步,然后点击开始,成功后点击关闭
查看score.txt文件,里面只有数据
3.删除表score
4.导入表结构
同前面的导入SQL语句,导入成功后可以看到表以及其字段
5.导入数据
选中数据库,右击鼠标选中导入向导
点击开始,成功后点击关闭
刷新表: