Linux下mysql导入csv文件

直接上语句

mysql>load data infile '/var/lib/mysql/ct/contact.csv'
         >into table Order character set utf8
         >fields terminated by ',' optionally enclosed by '"' escaped by '"'
         >lines terminated by '\r\n';

指令功能
load data infile + ‘导入文件的路径’指定导入文件的路径
into table + 表名指定表名
character set utf8设置编码
fields terminated by ‘,’指定以逗号为分割符
lines terminated by ‘\r\n’指定回车换行符 (Windos下创建的文件使用 ‘\r\n’ ;Linux下创建的文件使用’\n’)
enclosed by ‘"’将 一个或多个连续的且由 " 字符左右包裹起来 的值当作一个值导入mysql
optionally有optionally,则只对字符串类型的字段使用enclosed-by字符“包裹”;无optionally,则对全部字段使用enclosed-by字符“包裹”。
escaped-by进行转义操作

正常情况下,optionally enclosed by ‘"’ escaped by '"'也可以不加;加了只是为了更好的处理一些格式有点特殊的数据。

看面来看看enclosed by '"'的效果
原数据浏览
在这里插入图片描述
导入mysql结果
在这里插入图片描述

escaped-by
1、字段值内出现"escaped by"字符,该字符将被去除,同时保留其后一个字符;

2、但是对以下特殊的两个“挨着”字符会进行"反转义"处理

  1. “\0” – 反转义成\0(0x00)
  2. “\b”, “\n”, “\r”, “\t” – 反转义成\b, \n, \r, \t
  3. “\Z” – 反转义成ascii码26
  4. “\N” – 反转义成NULL
可以按照以下步骤在Linux下使用MySQL导入CSV文件: 1. 确保你已经安装了MySQL客户端,以及对应的CSV文件。 2. 打开终端或命令行,连接到MySQL数据库: ```shell mysql -u username -p ``` 3. 输入你的MySQL密码,登录到MySQL数据库。 4. 创建一个新的数据库: ```sql CREATE DATABASE database_name; ``` 5. 选择刚刚创建的数据库: ```sql USE database_name; ``` 6. 创建一个新的表格(或使用已经存在的表格): ```sql CREATE TABLE table_name (column1 datatype, column2 datatype, column3 datatype, ...); ``` 注意:表格的列名和数据类型必须与CSV文件中的列名和数据类型一致。 7. 导入CSV文件MySQL表格中: ```sql LOAD DATA INFILE '/path/to/csv/file.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; ``` 解释一下以上命令中的参数: - `/path/to/csv/file.csv` 是CSV文件的路径。 - `table_name` 是刚刚创建的表格名。 - `FIELDS TERMINATED BY ','` 用于指定CSV文件中字段的分隔符,这里使用逗号分隔。 - `ENCLOSED BY '"'` 用于指定CSV文件中字段的封闭符,这里使用双引号。 - `LINES TERMINATED BY '\n'` 用于指定CSV文件中行的分隔符,这里使用换行符。 - `IGNORE 1 ROWS` 用于忽略CSV文件中的第一行,因为第一行通常是列名。 8. 导入完成后,可以通过以下命令查看表格中的数据: ```sql SELECT * FROM table_name; ``` 注意:如果CSV文件中的某个字段值为NULL,则在MySQL表格中该字段值将会是空字符串。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值