Mysql与csv文件的导入导出

一.文件导入到数据库中

MySQL 提供了load data infile语句来将文件中的数据插入到数据库中,这里的文件可以是csv也可是其他格式。

mysql> load data local infile '..../test.csv' into table mytable   fields terminated by  ','  lines terminated by '\n';
  • 如果指定LOCAL关键词,则表明从客户主机上按路径读取文件。如果没有指定,则文件在服务器上按路径读取文件。
  • 可以使用 fields明确地在语句中指出列的分隔符(默认定位符),使用 lines指出行分隔符(默认是换行符)。
  • 两个命令的fields和 lines子句的语法是一样的。两个子句都是可选的,但是如果两个同时被指定,fields 子句必须出现在lines子句之前。
  • 如果用户指定一个 fields 子句,它的子句 (terminated by、enclosed by 和 escaped by) 也是可选的,不过,用户必须至少指定它们中的一个。terminated by描述字段的分隔符(默认'\t'),enclosed by描述的是字段的括起字符,escaped by描述的转义字符(默认'\ ') 。
  • 文件test.csv中的列的数目,必须与要导入的表mytable的列数目一直。默认是按文件中列的存储顺序插入表中,如果要指定顺序,则可以在表名后面注明mytable(col1,col2,……)
值得注意的问题:
  1. Mysql中的目录分隔符是 ' / ',而不是 ' \ '。
  2. csv文件是以英文逗号 ' , '作为列分隔符,换行符' \n '作为行分隔符。
  3. Mysql在5.7版本以后,由于安全问题,必须从指定文件夹secure_file_priv导入数据,所有我们要把文件拷贝到指定文件夹中。那么如何查找这个指定文件夹呢?这里使用
mysql> show variables like '%secure%';
image.png

找到文件夹后,将文件拷贝进去,再导入即可。

二.从数据库中导出到文件

从数据库中导出到文件比较简单,要注意的是只能导出到mysql的secure_file_priv文件夹。

mysql> select  * from mytable into outfile '..../test.csv ' fields terminated by ',' lines terminated by '\n';

这个命令可以分成两部分,前半部分是sql语句,select from where从数据库中筛选出要导出的数据;第二部分是存入文件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 标签(空格分隔): mysql LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并写入一个表...
    ahcj_11阅读 33,352评论 0 8
  • 1. select into outfile导出表数据 其中的option为可选参数,在缺省的情况下,默认的表现为...
    不姓马的小马哥阅读 4,147评论 0 1
  • MySQL进阶讲义 这一章我们开始进一步探讨MySQL的使用,从MySQL的介绍开始,接触MySQL的安装、命令行...
    厲铆兄阅读 6,807评论 0 44
  • “攀条折其荣,将以遗相思” ——两汉《古诗十九首·庭中有奇树》 我攀着树枝,摘下了最好...
    名曰喜阅读 1,468评论 0 1
  • 夜色……心不在黑暗中,在音乐里 节奏真的可以振奋人心,心跳加速 直到死亡 灯光迷惑了双眼,炫舞喧心 分辨不出,美丑...
    和光知守阅读 1,760评论 6 2

友情链接更多精彩内容