如何实现MySQL表数据的导入导出

  介绍

这篇文章主要讲解了如何实现MySQL表数据的导入导出,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。


1只,使用选择……到输出文件…命令来导出数据,具体语法如下。

mysql>从表到输出文件选择* & # 39;target_file& # 39;[选项];

其中选择参数可以是以下选项:

字段TEMINATED & # 39;字符串# 39;(字符分断符)

字段(可选地)包围& # 39;char # 39;(字段引用符,如果加选选项则只用在char、varchar和文本等字符型字段上。默认不使用引用符)

字段排解& # 39;CAHR& # 39;(转移字符,默认为& # 39;\ & # 39;)

行开始由& # 39;字符串# 39;(每行前都加此字符串,默认& # 39;& # 39;)

行被& # 39;终止字符串# 39;(行结束符,默认为& # 39;\ n # 39;)

其中字符表示此符号只能是单个字符、字符串表示可以是字符串。

例子:导出测试表的所有数据mysql>从测试到输出文件& # 39;select */道路/files.txt& # 39;

2。用,mysqldump导出数据为文本

,mysqldump - u用户名- t target_dir dbname表名(选项)
  
  其中选择参数可以是以下选项:
  ——fields-terminated-by=名(字段分隔符);
  ——fields-enclosed-by=名(字段引用符);
  ——fields-optionally-enclosed-by=名(字段引用符,只用在char、varchar和文本等字符型字段上);
  ——fields-escaped-by=名称(转义字符);
  ——lines-terminated-by=名称(记录结束符)。
  
  例子:导出测试数据库中的自定义表的所有数据,mysqldump -uroot - t/tmp测试自定义

除了生成数据文件定制。txt之外,还生成一个习俗。sql文件,里面记录了,自定义表的创建脚本。

数据导入

只讨论用选择……到输出文件或者,mysqldump导出的纯数据文本的导入方法。

1。使用“数据加载INFILE…“

 mysql祝辞加载数据(本地)INFILE & # 39;文件名# 39;到表的表(选项)
  
  选择可以是以下选项:
  ,iexcl;字段被& # 39;终止字符串# 39;(字段分隔符,默认为制表符& # 39;\ t # 39;);
  ,iexcl;字段(可选地)包围& # 39;char # 39;(字段引用符,如果加可选选项则只用在char、varchar和文本等字符型字段上。默认不使用引用符);
  逃跑了& # 39;char # 39;(转义字符,默认为& # 39;\ & # 39;);开始由& # 39;字符串# 39;(每行前都加此字符串,默认& # 39;& # 39;);被& # 39;终止字符串# 39;(行结束符,默认为& # 39;\ n # 39;);
  ,iexcl;字段
  ,iexcl;行
  ,iexcl;行
  ,iexcl;忽略线路数量(忽略输入文件中的前n行数据);
  ,iexcl;(col_name_or_user_var…)(按照列出的字段顺序和字段数量加载数据);,iexcl;设置col_name=expr,……将列做一定的数值转换后再加载。
  其中字符表示此符号只能是单个字符、字符串表示可以是字符串。
  FILELD和线和前面选择……到输出文件…的含义完全相同,不同的是多了几个不同的选项,下面的例子将文件“/tmp/电磁脉冲。txt”中的数据加载到表emp中:
  
  mysql祝辞数据加载infile & # 39;/tmp/emp.txt& # 39;在emp表
  
  如果不希望加载文件中的前两行,可以如下操作:
  
  mysql>数据加载infile & # 39;/tmp/emp.txt& # 39;emp字段到表忽略2线;

指定导入的列:

mysql祝辞数据加载infile & # 39;/tmp/emp.txt& # 39;成表emp忽略2行(id、内容、名称);

2。用mysqlimport来实现,具体命令如下:

壳比;mysqlimport - u root - p * * *——当地dbname order_tab。txt(选项)
  
  例如:导入数据到订单表外壳比;mysqlimport -uroot测试/tmp/emp。txt 

注意:如果导入和导出是跨平台操作的(Windows和Linux),那么要注意设置参数line-terminated-by,窗户上设置为line-terminated-by=& # 39; \ r \ n # 39;,Linux上设置为line-terminated-by=& # 39; \ n # 39;。

清空表数据

删除从表名;

截断表的表名;

不带,参数的删除语句可以删除mysql表中所有内容,使用截断表也可以清空mysql表中所有内容。

效率上截断比删除快,但截断删除后不记录mysql日志,不可以恢复数据。

删除的效果有点像将mysql表中所有记录一条一条删除到删完,

而截断相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。

看完上述内容,是不是对如何实现mysql表数据的导入导出有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。

如何实现MySQL表数据的导入导出