百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> MySQL怎样导入格局化数据
分享文章到:

MySQL怎样导入格局化数据

发布时间:08/01 来源:未知 浏览: 关键词:
在MySQL中怎样导入格局化数据?本篇文章就来给大家介绍MySQL导入格局化数据的办法,有一定的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。 在MySQL中怎样导入格局化数据?本篇文章就来给大家介绍MySQL导入格局化数据的办法,有一定的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。

在有些场景下,我们需要把一批特定格局的数据导入到mysql数据库中,做法有许多,运用shell足本、python都可以,今天来介绍两个更便利的下令,mysqlimportload data

mysqlimport

运用办法

mysqlimport [options] db_name textfile1 [textfile2 ...]
# db_name 对应数据库名称
# textfile 文件名,对应要插入的数据库表名
# 比方:mysqlimport a8 campaign.txt 会把campaign.txt中的数据插入到a8数据库中的campaign表

注意:campaign.txt文件必需在/usr/local/mysql/var/a8/名目下,即数据库所在名目

要是不在对应的名目下,会返回下列差错:

mysqlimport -uroot -p123456 -hlocalhost -P3306 a8 campaign.txt 
/usr/local/mysql/bin/mysqlimport: Error: File '/usr/local/mysql/var/a8/campaign.txt' not found (Errcode: 2), when using table: campaign

常用选项

--columns=id,name,creator...
# 对应的数据表列名,定义被导入文件中的每一列对应的数据库表列名

--fields-terminated-by=
# 文件字段以什么分隔,参数为字符串,默许为\t

--fields-enclosed-by=
# 数据域用什么符号扩起来,默许为空,个别可以是双引号、括号等

--fields-optionally-enclosed-by=
# 数据域可以用什么符号括起来,由于为只要局部数据用这些符号括起来

--fields-escaped-by=
# 转义字符,参数为字符,默许为\

--lines-terminated-by=
# 数据行以什么完毕,参数为字符串,windows默许为\r\n

--user=user_name 或 -u user_name
--password=[password] 或 -p[password]
--host=host_name 或 -h hostname
--port=port_num,或 -P port_num
# 定义会员名、密码、mysql办事器地址和用于连贯的TCP/IP端标语,默许为mysql默许端口3306

--ignore-lines=n
# 忽视数据文件的前n行,由于许多数据文件前面有表头

--delete -D
# 在把文件中的数据插入前删除表中原先的数据

--local -L
# 指定从客户端电脑读入数据文件,不然从办事器电脑读取

--lock-tables -l
# 处置文本文件前锁定所有表以便写入,确保所有表在办事器上维持同步

--protocol={TCP | SOCKET | PIPE | MEMORY}
运用的连贯协定

--force -f
#忽视差错。例如,要是某个文本文件的表不存在,继续处置其它文件,不运用--force,要是表不存在则mysqlimport退出

--compress -C
# 紧缩在客户端和办事器之间发送的所有信息(要是二者均支撑紧缩)

--silent,-s
# 沉默模式,只要涌现差错时才输出

--socket=path,-S path
# 当连贯localhost时运用的套接字文件(为默许主机)

--verbose,-v
# 冗长模式。打印出程序操纵的细致信息。

--version,-V
# 显示版本信息并退出。

load data

运用办法

mysql> load data [low_priority] [local] infile 'file_name txt' [replace | ignore]
into table tbl_name
[fields]
[terminated by '\t']
[OPTIONALLY] enclosed by '']
[escaped by '\' ]]
[lines terminated by 'n']
[ignore number lines]
[(id,name,creator)]

注明:

load data infile语句是将文本数据导入到数据表中。运用这个下令以前,mysqld进程(办事)必需已经在运转。运用前请确保有文件的读取权限

1、要是你指定关键词low_priority,那么MySQL将会比及没有其别人读这个表的时候,才把插入数据。可以运用如下的下令:

mysql> load data low_priority infile "/home/root/data.sql" into table campaign;

2、要是指定local关键词,则表白从客户主机读文件。要是local没指定,文件必需位于办事器上。

3、replace和ignore关键词控制对现有的独一键记载的反复的处置。要是你指定replace,新行将取代有雷同的独一键值的现有行。要是你指定ignore,跳过有独一键的现有行的反复行的输入。要是你不指定任何一个选项,当寻到反复键时,涌现一个差错,而且文本文件的余下局部被忽略。例如:

mysql> load data low_priority infile "/home/root/data.sql" replace into table campaign;

4、分隔符

1)fields关键字指定了文件字段的分割格局,要是用到这个关键字,MySQL分析器但愿看到至少有下面的一个选项:

terminated by:分隔符,字段是以什么字符作为分隔符
enclosed by:字段括起字符,例:` "周丽","10","学习非常不错" ` 这样的一行,就需要这么写 ` ENCLOSED BY '"' `
escaped by:转义字符
lines terminated by:描述字段的分隔符,默许状况下是tab字符(\t) 
ignore number lines:用来忽略导入文件的开端的行。例如:number=1,则忽略导入文件的首先行数据。

例如:

mysql> load data infile "/home/root/data.sql" replace into table campaign fields terminated by',' enclosed by '"';

2)lines 关键字指定了每笔记录的分隔符默许为'n'即为换行符
要是两个字段都指定了那fields必需在lines以前。要是不指定fields关键字缺省值和这样写是雷同的:fields terminated by'\t' enclosed by ’ '' ‘ escaped by'\\'
要是你不指定一个lines子句,缺省值和这样写是雷同的: lines terminated by'\n'
例如:

mysql> load data infile "/root/load.txt" replace into table test fields terminated by ',' lines terminated by '/n';

5、load data infile 可以按指定的列把文件导入到数据库中。 当我们要把数据的一局部内容导入的时候,,需要参加一些栏目(列/字段/field)到MySQL数据库中,以顺应一些额外的需要。比如说,我们要从Access数据库升级到MySQL数据库的时候
下面的例子显示了怎样向指定的栏目(field)中导入数据:

mysql> load data infile "/home/root/campaign.txt" into table campaign(id, name, creator);

6、当在办事器主机上寻觅文件时,办事器运用以下法则:

● 要是给出一个绝对途径名,办事器运用该途径名。

● 要是给出一个有一个或多个前置部件的相对途径名,办事器相对办事器的数据名目搜寻文件。

● 要是给出一个没有前置部件的一个文件名,办事器在目前数据库的数据库名目寻觅文件。

例如: /campaign.txt 是从办事器的数据名目读取,而作为 campaign.txt 是从目前数据库的数据库名目下读取。

相干视频教程举荐:《MySQL教程》

以上就是本篇文章的全部内容,但愿能对大家的学习有所帮忙。更多出色内容大家可以关注 百分百源码网 相干教程栏目!!!

以上就是MySQL怎样导入格局化数据的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有152人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板