欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Linux下Msql的文件导入导出问题_MySQL

程序员文章站 2022-06-13 18:45:34
...
其实我也是刚开始接触 linux,也刚开始自学MySql,这篇博客算是我的体会总结吧,拿出来和大家分享!有什么不对的还请大神指教。

一、导入数据

1、向mysql中导入.txt文档

1.1mysqlimport命令

命令格式:mysqlimport -uuser_name -ppassword [-d/f等参数表] dbname filename.txt;

示例操作如下图:

Linux下Msql的文件导入导出问题_MySQL

说明:

-uuser_name:登陆的用户名

-ppassword:密码

dbname:要接收导入数据的数据库

filename.txt:用于导入的源文件

注意: -uuser_name来说,-uuser_name间可有空格也可没空格。但对-ppassword来说,-ppassword间一定没有空格。

文档格式:文档与表格应是意义对应的,如下图。

Linux下Msql的文件导入导出问题_MySQL

Linux下Msql的文件导入导出问题_MySQL

注意:1.txt文档中字段之间默认的分隔符是一个Tab健。

2.txt 文档名和数据表表名要一样。

3.txt文档要存在导入目的库所在目录下,一般为/var/lib/mysql/db_name。如我这里是要导入到test库里,就是/var/lib/mysql/test。如下截图是将.txt文档复制到所虚目录下。 Linux下Msql的文件导入导出问题_MySQL

Linux下Msql的文件导入导出问题_MySQL

参数表

-d

插入数据之前删除表数据

-f

插入过程中如遇错误,强行插入数据

-i

跳过那些有相同唯一关键字的记录

-r

替代那些有相同唯一关键字的记录

--fields-terminated-by=,

","数据分割符默认是Tab跳格


结果展示:

Linux下Msql的文件导入导出问题_MySQL



1.2load命令


命令格式:load data infile 'filename.txt' into table table_name;

示例及结果:

Linux下Msql的文件导入导出问题_MySQL

说明:

1、只能导入.txt文档,且文档名与表名一致

2、和mysqlimport命令一样,文档与库要在同一目录下


2、向mysql中导入.sql文档

2.1source命令

命令格式:source data.sql;

示例及结果:

Linux下Msql的文件导入导出问题_MySQL

说明:

1.sql文件应该放在用户目录下(如我这里是jhp1900用户,就需放在/home/jhp1900目录下)

2、文件名可与表名不同(下条给出解释)

3、文件内容其实就是一条一条的插入语句没条语句都有指明插入到哪一个表中,所以可与文件名不同,文件格式如下

Linux下Msql的文件导入导出问题_MySQL


2.2、直接导入

命令格式:mysql -uroot -ppassword dbname ;

示例及结果:

Linux下Msql的文件导入导出问题_MySQL

Linux下Msql的文件导入导出问题_MySQL

说明:这种方法可以不必拘泥于文件存储位子,因为导入命令里会指明文件所在。


二、导出数据

导出数据则会相对比较简单,这里总结了两个导出命令。

1、导出为.sql格式

命令格式:mysqldump -uroot -p... dbname > filename.sql

示例及结果:

Linux下Msql的文件导入导出问题_MySQL

Linux下Msql的文件导入导出问题_MySQL

然后在你的用户主目录下就多了个data1.sql的文件。

说明:

1、这条命令会导出所指库内的所有表格

2、导出后的文件存在用户主目录下

3、该方法也可导出为.txt格式,但这样会是单向的,这样的.txt文档不可往回导入(文档内容格式不匹配)

2、导出为.txt格式

命令格式:select * from table_name info outfile 'filename.txt';

示例及结果:

Linux下Msql的文件导入导出问题_MySQL


说明:

1、默认导出目录是库所在的目录

2、同上一条的说明3