csv mysql_将csv的数据导入mysql
手頭有一份8MB的CSV文件需要分析,對于程序員來說,還有比在數據庫里分析更愉快的事情嗎?
所以讓我們把CSV導入MYSQL吧。
一、首先按照文件列數創建相應的SQL表
例如:
DROP TABLE IF EXISTS `cdr`;
CREATE TABLE `cdr` (
`direction` varchar(255) DEFAULT NULL,
`caller` varchar(255) DEFAULT NULL,
`callee` varchar(255) DEFAULT NULL,
`context` varchar(255) DEFAULT NULL,
`start_stamp` timestamp NULL DEFAULT NULL,
`answer_stamp` varchar(255) DEFAULT NULL,
`end_stamp` timestamp NULL DEFAULT NULL,
`duration`int(255) DEFAULT NULL,
`billsec`int(255) DEFAULT NULL,
`hangup_cause` varchar(255) DEFAULT NULL,
`uuid` varchar(255) DEFAULT NULL,
`bleg_uuid` varchar(255) DEFAULT NULL,
`accountcode` varchar(255) DEFAULT NULL,
`read_codec` varchar(255) DEFAULT NULL,
`write_codec` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
二、導入命令
load data infile '需要導入的文件全名' into table 將要導入的數據庫表名 fields terminated by '列的分隔符' optionally enclosed by '"' escaped by '"' lines terminated by '回車換行符';
實例:
load data infile 'D:/Master.csv' into table cdr fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';
注意這個結束換行符,如果是linux下生成的文件,就是'\n'結尾。
三、報錯:
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
四、原因
show variables like 'secure%';
看到這個:
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_auth | ON |
| secure_file_priv | NULL |
+------------------+-------+
就是secure_file_priv沒有正確的配置導致的報錯。
五、解決問題
1. 找到my.ini文件2. 添加配置
secure_file_priv= D:/
六、再次執行導入(二),順利的話,可以去數據庫里徜徉了。
總結
以上是生活随笔為你收集整理的csv mysql_将csv的数据导入mysql的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何获取全国省市区行政边界数据
- 下一篇: linux cmake编译源码,linu