目录
? ? 随着当今企业发展,数据库的数据越来越多,要导入导出的数据是避免不了的,但是,数据量超多怎么办,普通的navicat中的系统导入导出数据,小规模数据是只需要几秒,企业中都是成千上万的数据,用navcat导入导出是很慢很慢的,接下来小编将会使用几种比较效率的来进行导入导出,一起来学习吧!
navcat最原始的导入导出
右击数据库名---》运行SQL文件
选择sql脚本----开始
我这个是近18万的sql脚本数据,用时32秒,还算中规中矩,但是如果是上百千万的数据可想而知
选择表右击----转存SQL文件---结构和数据
导出的数据用时也要花10秒
下面的方式,会比普通的navicat导出导入更快!
先进入mysql的安装bin目录下,先将所要导入的脚本放入该bin目录下
1. 进入mysql的安装目录的bin目录,cmd打开命令窗口
2. mysql -u用户名 -p ? ? ? ? 输入数据库密码
3. create database kkk; ? ? ? ? ? ? ? ?创建数据库
4. use kkk; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?使用数据库
5. set names utf8; ? ? ? ? ? ? ? ? ? ? ? ? 设置数据库编码
6. source t_log.sql;? ? ? ? ? ? ? ? ? ? ? ? 导入所要的sql脚本(sql文件也要在bin目录下)
?最后一个source t_log_sql这个是错的,正确的是? source t_log.sql? 下面图片我就没纠正了
根据自己的sql脚本名来即可
导入成功
因为这样导入是没有时间显示的,我用计时器算了一下,大致10左右,比navicat导入快多了也提高了效率
导出表数据和表结构:
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
(也是在bin目录下的命令窗口实现)
只导出表结构:
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
(也是在bin目录下的命令窗口实现)
① 查看是否支持load data infie
命令:show variables like 'secure%'? ?
显示null是没有的
② my文件添加权限
找到my文件
命令: secure_file_priv=C:
这个时候要重启一下mysql服务,继续使用查看命令。这个C:\\Windows\system32\就是导出的位置。
会发现只需要 0.2几秒
导出成功,在C磁盘的Windows\system32命令下?
要注意:导入的时候看有没有表结构,就是单纯一个表里面没有数据,好方便我们导入数据进去,先清空表即可
语法:load data infile '磁盘:/sql路径.sql' into table 表名(列名1.....);
列子:
导入
语法:
source 数据库名.sql;
示例:
source xxx.sql;(sql文件要在MySQL安装目录的bin目录下)
?导出
语法:
mysqldump -h地址 -u用户名 -p密码 数据库名 > 数据库名.sql
示例:
mysqldump -h192.168.244.132?-uroot -p123?xxx > xxx.sql