如何导出和导入mysql数据
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了云梦免费建站欢迎大家使用!
导出全库备份到本地的目录
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --lock-all-tables --add-drop-database -A db.all.sql
导出指定库到本地的目录(例如mysql库)
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --databases mysql db.sql
导出某个库的表到本地的目录(例如mysql库的user表)
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --tables mysql user db.table.sql
1.MYSQL中将数据库导出成SQL文件
首先我们打开cmd,不用进mysql指令界面,直接按照下列格式将导出语句敲进去,然后再输入密码即可了:
mysqldump -h[主机所在IP] -u[用户名] -p [要导出的数据库][导出的路径//[文件名].sql]
举个例子,目前在MYSQL中有一个数据库bookinfodb,现在要将它导出并且保存到D盘中。
这个时候我们再到D盘目录下,我们就可以看到多了一个bookinfodb.sql文件了。
2.从SQL文件中导入数据到MYSQL中
1、首先,我们应该在cmd中进入mysql指令界面中,mysql -u[用户名] -h[主机所在地址,默认不写是localhost] -p 然后输入密码即可
2、使用CREATE DATRABSE [数据库名字]创建一个数据库,然后使用use [数据库名]选择要使用的数据库
3、直接使用source [所在的路径//*.sql] 将SQL文件进行导入
1.打开Navicat操作面板,选择需要操作的数据库及数据库表
2.点击“导出向导”
3.在“导出向导”中选择导出表类型,这里选择SQL脚本文件,然后点击下一步
4.这里只有一个tags表,选中并在“导出到”栏目选择导出的存储路径,选择路径后,点击下一步
5.选择需要导出的字段,默认全部导出,点击下一步
1.使用create table xx as select
create table testtable as select distinct username,mname,college,mobno,cid from swdaydetail where sdate='20171101' and sdate'20171130';1
2.使用MySQL的SELECT INTO OUTFILE 、Load data file
LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中。当用户一前一后地使用SELECT … INTO OUTFILE 和LOAD DATA
INFILE 将数据从一个数据库写到一个文件中,然后再从文件中将它读入数据库中时,两个命令的字段和行处理选项必须匹配。否则,LOAD DATA INFILE 将不能正确地解释文件内容。
假设用户使用SELECT … INTO OUTFILE 以逗号分隔字段的方式将数据写入到一个文件中:
SELECT * INTO OUTFILE 'data.txt' FIELDS TERMINATED BY ',' FROM table2; 1
为了将由逗号分隔的文件读回时,正确的语句应该是:
LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; 1
如果用户试图用下面所示的语句读取文件,它将不会工作,因为命令LOAD DATA INFILE 以定位符区分字段值:
LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t'; 1
下面是用来导入导出的命令:
select * into outfile 'ddd.txt' fields terminated by ',' from dn_location; load data infile 'ddd.txt' into table dn_location2 FIELDS TERMINATED BY ','; 12
3.使用mysqldump ,source
mysqldump -u root -p -q -e -t webgps4 dn_location2 dn_location2.sql
mysqldump -u root -p -q -e -t --single-transaction webgps4 dn_location2 dn_location2.sql source dn_location2.sql 123
以上是导入导出数据的语句,该方法15分钟导出1.6亿条记录,导出的文件中平均7070条记录拼成一个insert语句,通过source进行批量插入,导入1.6亿条数据耗时将近5小时。平均速度:3200W条/h。后来尝试加上–single-transaction参数,结果影响不大。另外,若在导出时增加-w参数,表示对导出数据进行筛选,那么导入导出的速度基本不变,筛选出的数据量越大,时间越慢而已。对于其中的参数这里进行说明:
–quick,-q
该选项在导出大表时很有用,它强制 mysqldump 从服务器查询取得记录直接输出而不是取得所有记录后将它们缓存到内存中。
–extended-insert, -e
使用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加速导入时的速度。默认为打开状态,使用–skip-extended-insert取消选项。
–single-transaction
该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和–lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用–quick 选项。在本例子中没有起到加快速度的作用
mysqldump -uroot -p –host=localhost –all-databases –single-transaction
-t 仅导出表数据,不导出表结构
转载自
在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看:
mysqldump
最常用的:
mysqldump -uroot -pmysql databasefoo table1 table2 foo.sql
这样就可以将数据库databasefoo的表table1,table2以sql形式导入foo.sql中,其中-uroot参数表示访问数据库的用户名是root,如果有密码还需要加上-p参数
C:\Users\jack mysqldump -uroot -pmysql sva_rec date_drv e:\date_drv.sql
mysql的数据导入也是相当便捷的,如:
mysql -uroot databasefoo foo.sql
这样就可以将foo.sql的数据全部导入数据库databasefoo
1.导出整个数据库
mysqldump -u用户名 -p密码 数据库名 导出的文件名
C:\Users\jack mysqldump -uroot -pmysql sva_rec e:\sva_rec.sql
2.导出一个表,包括表结构和数据
mysqldump -u用户名 -p 密码 数据库名 表名 导出的文件名
C:\Users\jack mysqldump -uroot -pmysql sva_rec date_rec_drv e:\date_rec_drv.sql
3.导出一个数据库结构
C:\Users\jack mysqldump -uroot -pmysql -d sva_rec e:\sva_rec.sql
4.导出一个表,只有表结构
mysqldump -u用户名 -p 密码 -d数据库名 表名 导出的文件名
C:\Users\jack mysqldump -uroot -pmysql -d sva_rec date_rec_drv e:\date_rec_drv.sql
5.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysqluse 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysqlsource d:wcnc_db.sql
1、找到my.ini文件,里面有一行datadir=...的,就是数据库文件目录,
关掉mysql服务,将这个目录整个拷贝过去
在那边再配my.ini让目录吻合就行了。
2、
把数据库上的资料备份出来,到另外一个数据库还原,有工具PHPMYADMIN;
也可以命令行导出,
利用“mysqldump -u 用户名 -p databasename exportfilename”导出数据库到文件,导入:
进入MySQL Command Line Client,输入密码,进入到“mysql”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql"并且没有提示错误即还原成功。