SQLite导入csv文件小记

SQLite的命令行工具sqlite3支持简单的csv文件导入,不足之处有:

  • 不支持字段用双引号括起来
  • 不支持转义字符,如果数据本身包含分割符就无法正确导入
  • 使用了.mode csv后貌似字段分隔符不能修改为非逗号的字符

针对以上限制,如果数据本身有逗号,可以用竖线作为分隔符来格式化数据文件。比如:

1|QAD Enterprise Application|Base|0|QAD
2|Q-Xtend Inbound|QXI|1|QAD
3|Q-Xtend Outbound|QXO|1|QAD
4|Serialization, attributes and quality control|SAQ|1|QAD
5|Distrubution Center|DC|1|QAD
6|Label Printing Services|LPS|1|QAD
7|Customization|Cust|1|
8|Surper Merge|ECO|1|

 该数据文件有5个字段,第4行第2个字段中包含逗号,因此用竖线可保证该数据可以正确导入。导入该数据的sqlite脚本如下:

.separator '|'
.import "product.csv" product

 如果要该文件导入到MySQL中,那么对应脚本是:

load data local infile "product.csv" into table product fields terminated by '|';

 

 

你可能感兴趣的:(sqlite)