Linux下Msql的文件导入导出问题_MySQL
一、导入数据
1、向mysql中导入.txt文档
1.1、mysqlimport命令
命令格式:mysqlimport -uuser_name -ppassword [-d/f等参数表] dbname filename.txt;
示例操作如下图:
说明:
-uuser_name:登陆的用户名
-ppassword:密码
dbname:要接收导入数据的数据库
filename.txt:用于导入的源文件
注意: -uuser_name来说,-u与user_name间可有空格也可没空格。但对-ppassword来说,-p与password间一定没有空格。
文档格式:文档与表格应是意义对应的,如下图。
注意:1.txt文档中字段之间默认的分隔符是一个Tab健。
2.txt 文档名和数据表表名要一样。
3.txt文档要存在导入目的库所在目录下,一般为/var/lib/mysql/db_name。如我这里是要导入到test库里,就是/var/lib/mysql/test。如下截图是将.txt文档复制到所虚目录下。
参数表
-d |
插入数据之前删除表数据 |
-f |
插入过程中如遇错误,强行插入数据 |
-i |
跳过那些有相同唯一关键字的记录 |
-r |
替代那些有相同唯一关键字的记录 |
--fields-terminated-by=, |
","数据分割符(默认是Tab跳格) |
结果展示:
1.2、load命令
命令格式:load data infile 'filename.txt' into table table_name;
示例及结果:
说明:
1、只能导入.txt文档,且文档名与表名一致
2、和mysqlimport命令一样,文档与库要在同一目录下
2、向mysql中导入.sql文档
2.1、source命令
命令格式:source data.sql;
示例及结果:
说明:
1、.sql文件应该放在用户目录下(如我这里是jhp1900用户,就需放在/home/jhp1900目录下)
2、文件名可与表名不同(下条给出解释)
3、文件内容其实就是一条一条的插入语句没条语句都有指明插入到哪一个表中,所以可与文件名不同,文件格式如下
2.2、直接导入
命令格式:mysql -uroot -ppassword dbname ;
示例及结果:
说明:这种方法可以不必拘泥于文件存储位子,因为导入命令里会指明文件所在。
二、导出数据
导出数据则会相对比较简单,这里总结了两个导出命令。
1、导出为.sql格式
命令格式:mysqldump -uroot -p... dbname > filename.sql
示例及结果:
然后在你的用户主目录下就多了个data1.sql的文件。
说明:
1、这条命令会导出所指库内的所有表格
2、导出后的文件存在用户主目录下
3、该方法也可导出为.txt格式,但这样会是单向的,这样的.txt文档不可往回导入(文档内容格式不匹配)
2、导出为.txt格式
命令格式:select * from table_name info outfile 'filename.txt';
示例及结果:
说明:
1、默认导出目录是库所在的目录
2、同上一条的说明3
推荐阅读
-
完美解决linux下U盘文件只读的问题
-
Linux下修改MySQL数据库数据文件路径的步骤
-
linux下mysql乱码问题的解决方案
-
Python之csv文件从MySQL数据库导入导出的方法
-
解决在Linux操作系统下无法连接MySQL服务端的问题
-
linux安装mysql5.7.22配置文件my.cnf配置细节及修改密码时出现的问题解决
-
IDEA下Maven的pom文件导入依赖出现Auto build completed with errors的问题
-
利用python解决mysql视图导入导出依赖的问题
-
linux环境下解决solr7.4服务器多表导入数据覆盖的问题
-
Linux下mysql数据库的创建导入导出 及一些基本指令