当前位置:首页 > MySQL教程 > 正文内容

MySQL怎样导入格式化数据【MySQL教程】,mysql,导入数据

搜教程4年前 (2019-12-01)MySQL教程162
在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教程》

以上就是本篇文章的全部内容,愿望能对人人的进修有所协助。更多精彩内容人人能够关注ki4网相干教程栏目!!!

以上就是MySQL怎样导入花样化数据的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/15849.html

分享给朋友:

“MySQL怎样导入格式化数据【MySQL教程】,mysql,导入数据” 的相关文章

SQL中的有哪几种数据类型【MySQL教程】,类型,数据,几种

SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型 扼要形貌一下SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型 字符型 VARCHAR 和 CHAR VARCHAR型和CHAR型数据的这个差异是纤细的,然则非常重要。他们都是用来贮存字符串长度小于255的字符。...

关于门生信息管理体系的知识点【MySQL教程】,管理系统,知识点,信息

关于门生信息管理体系的知识点【MySQL教程】,管理系统,知识点,信息

一、variant数据范例诠释: 变量定义的一种变体范例 意义是:我如今定义了这个变量,然则我并不肯定未来对他给予什么范例来操纵,所以就先临时向内存借一个位置(空间)放下变量.等未来实际操纵的时刻动态的根据需要为该变量给予响应范例 二、历程当中的exit sub exit sub 的作...

MySQL挑选适宜的引擎及引擎转换的详解【MySQL教程】,MySQL,引擎,选择

我们怎样挑选适宜的引擎?这里简朴归结一句话:“ 除非须要用到某些InnoDB不具备的特征,而且没有其他要领能够替换,不然都应该优先挑选InnoDB引擎。” 除非万不得已,不然不发起夹杂运用多种存储引擎,不然能够带来一系列庞杂的题目以及一些潜伏的BUG。 运用差别引擎斟酌的几大要素:...

怎样运用mysql表衔接【MySQL教程】,mysql,连接,使用

怎样运用mysql表衔接【MySQL教程】,mysql,连接,使用

为何运用表衔接 什么是表衔接? 假如数据来自多个表,那末能够采纳链接查询的体式格局来完成。因而表衔接就是多个表衔接合在一起完成查询效果 表衔接的道理 表衔接采纳的是笛卡尔乘积,称之为横向衔接。 笛卡尔乘积 表衔接的基本道理就是采纳笛卡尔...

MySql中非常重要的索引操纵【MySQL教程】,MySql,重要的,操作

偏重基本之—MySql 不能忘记的索引操纵   关于MySql索引的基本知识我就不在这里写了,我不太想当信息的搬运工。   技能分享:Workbench 作为一款专为MySQL设想的ER/数据库建模东西。除了治理数据库外,实在也是一款Sql语句生成利器。合理运用,将带来事半功倍的结果。固然,条件...

关于MySQL竖立新用户并受权的要领【MySQL教程】,MySQL,授权,用户

竖立用户的语法: Create user `username`@host [Identified by [password] `password`]; Username:用户名 Host:主机名,当地主机可以用localhost或许ip地点,然则其他电脑必须用...