MySQL导入格式化数据的简单方法

  

下文给大家带来MySQL导入格式化数据的简单方法有关内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完MySQL导入格式化数据的简单方法你一定会有所收获又是;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

在有些场景下,我们需要把一批特定格式的数据导入到mysql数据库中,做法有很多,使用shell脚本,python都可以,今天来介绍两个更便捷的命令,mysqlimport和加载数据

mysqlimport

使用方法

 mysqlimport[选项]db_name textfile1 (textfile2……)
  # db_name对应数据库名称
  #文本文件文件名,对应要插入的数据库表名
  #比如:mysqlimport a8运动。txt会把campaign.txt中的数据插入到a8数据库中运动的表

注意:运动。txt文件必须在/usr/地方/mysql/var/a8/目录下,即数据库所在目录

如果不在对应的目录下,会返回以下错误:

 mysqlimport -uroot -p123456 -hlocalhost -P3306 a8 campaign.txt
  & # 39;/usr/local/mysql/bin/mysqlimport:错误:文件/usr/地方/mysql/var/a8 campaign.txt& # 39;没有找到(Errcode: 2),当使用表:活动

常用选项

——列=id、名称、创建者……
  #对应的数据表列名,定义被导入文件中的每一列对应的数据库表列名
  
  ——fields-terminated-by=#文件字段以什么分隔,参数为字符串,默认为\ t
  
  ——fields-enclosed-by=#数据域用什么符号扩起来,默认为空,一般可以是双引号,括号等
  
  ——fields-optionally-enclosed-by=#数据域可以用什么符号括起来,因为为只有部分数据用这些符号括起来
  
  ——fields-escaped-by=#转义字符,参数为字符,默认为\
  
  ——lines-terminated-by=#数据行以什么结束,参数为字符串,windows默认为\ r \ n
  
  ——用户=user_name或- u user_name
  ——密码=(密码)或- p(密码)
  ——主机=host_name或- h主机名
  ——=port_num港,或p port_num
  #定义用户名:密码,mysql云服务器地址和用于连接的TCP/IP端口号,默认为mysql默认端口3306
  
  ——ignore-lines=n
  #忽视数据文件的前n行,因为很多数据文件前面有表头
  
  ——删除- d
  #在把文件中的数据插入前删除表中原先的数据
  
  ——当地- l
  #指定从客户端电脑读入数据文件,否则从服务器电脑读取
  
  ——锁表- l
  #处理文本文件前锁定所有表以便写入,确保所有表在服务器上保持同步
  
  ——协议={TCP套接字| | |内存管}
  使用的连接协议
  
  -力- f
  #忽视错误。例如,如果某个文本文件的表不存在,继续处理其它文件,不使用,力,如果表不存在则mysqlimport退出
  
  ——压缩- c
  #压缩在客户端和服务器之间发送的所有信息(如果二者均支持压缩)
  
  ——沉默,-
  #沉默模式,只有出现错误时才输出
  
  ——套接字=路径,s路径
  #当连接主机时使用的套接字文件(为默认主机)
  
  ——详细- v
  #冗长模式。打印出程序操作的详细信息。
  
  ——版本- v
  #显示版本信息并退出。

加载数据使用方法

 mysql>数据加载[low_priority](本地)infile & # 39; file_name txt # 39;(取代|忽略)
  成表tbl_name
  (字段)
  (终止& # 39;\ t # 39;】
  (可选)包围& # 39;& # 39;】
  [& # 39;逃跑了\ & # 39;]]
  (行终止& # 39;n # 39;】
  (忽略行数)
  [(id、名称、创建者)]

说明:

数据加载infile语句是将文本数据导入到数据表中。使用这个命令之前,mysqld进程(服务)必须已经在运行。使用前请确保有文件的读取权限

1,如果你指定关键词low_priority,那么MySQL将会等到没有其他人读这个表的时候,才把插入数据。可以使用如下的命令:

 mysql>数据加载low_priority infile“/home/根/data.sql"表运动;

2,如果指定地方关键词,则表明从客户主机读文件。如果当地没指定,文件必须位于云服务器上。

3,取代和忽略关键词控制对现有的唯一键记录的重复的处理。如果你指定替换,新行将代替有相同的唯一键值的现有行。如果你指定忽略,跳过有唯一键的现有行的重复行的输入。如果你不指定任何一个选项,当找到重复键时,出现一个错误,并且文本文件的余下部分被忽略例。如:

 mysql>数据加载low_priority infile“/home/根/data.sql"替换成表运动;

4分隔符

1)领域的关键字指定了文件字段的分割格式,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项:

MySQL导入格式化数据的简单方法