如何使用source或mysqlimport命令,导入mysql数据?
发布于 作者:苏南大叔 来源:程序如此灵动~导入导出mysql
数据,苏南大叔一般使用phpmyadmin
,二般使用navicat
。但是在本文中,苏南大叔描述的是,在命令行里面如何操作mysql
的数据导入,使用者的视角就偏运维人员了。
测试环境:centos
,mysql@5.6
。本文操作的对象,就是数据库整体,以database
为操作单位。
导入sql
语句
进入mysql
的命令行模式:
mysql -u{name} -p{password}
注意替换用户名root
,密码password
。-u
和-p
字样后面没有空格。
例如:
mysql -uroot -proot
先指定要操作的数据库名,然后再source
一下相关sql
文件,就可以导入数据了,非常方便,很少出问题。推荐。对于苏南大叔的经验来说,同样的sql文件,通过流行的各种软件导入的时候,经常有各种各样其它的错误提示。
命令如下:
use {database_name};
source {file_name};
例如:
use demo;
source /db/sql.sql;
导入csv
结构化文本
使用source
导入mysql
的话,问题就是会比较麻烦,要敲好几条命令。那么实际上还有条一次就可以解决问题的方案,那就是mysqlimport
。经过苏南大叔的反复事件,这个命令和想象中的不一样,不一样。不是导入sql文件的,是类似导入那种csv
文件的。当然,这里并不是说必须是.csv
文件,.txt
之类的都行。
mysqlimport -uroot -p {dbname} --local {data_file_path}
例如:
mysqlimport -uroot -p xmm --local /db/xmm_table.txt
这里值得注意的是:对于导入的文件,里面不是sql
语句,而是类似csv
之类的数据。并且,导入文件的名称就是数据库里面的表名称,没有对应的表名,可能会报错哦。
具体的使用,请参见下面的链接:
特殊说明
在本文中的命令描述中,都涉及到了一个-p
参数,一般来说,在命令行里面,是不会出现password
明文的,需要手动输入。但是,如果是在自动执行类的命令中,还是建议把password
明文附在-p
后面。这样的话,就可以保证命令的连续性,不会被打断操作体验。
总结
在本文中,主要描述的是:如何通过命令行来导入mysql
数据。适合于命令行环境(比如centos
的服务器环境维护)。当然,即使是windows
环境中,只要在命令行里面,可以访问mysql
、mysqlimport
,那么,本文中的描述,都是适用的。
更多mysql
的相关经验文章,请点击下面的链接查看:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。