前言:
由于公司业务,需要将excel中的数据导入mysql中,其中excel中还含有中文,测试后实现流程如下:
1.将excel导出为csv文件:
2.根据表中表头的信息建立表:
CREATE TABLE `tqggsyfyxx` (
`jgmc` varchar(255) COMMENT 'XXXX',
`tyshxydm` varchar(255) COMMENT 'XXXXXX',
`jflxmc` varchar(255) COMMENT 'XXXXXX',
`qjtjksyhr` varchar(255) COMMENT 'XXXXXXXXX',
`qjtjjzyhr` varchar(255) COMMENT 'XXXXXXXXX',
`qfje` varchar(255) COMMENT 'XXXXXXXX',
`rdjg` varchar(255) COMMENT 'XXXXXX',
`rdjgtyshxydm` varchar(255) COMMENT 'XXXXXXXXX',
`rdrq` varchar(255) COMMENT 'XXXXXXXX'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='XXXXXXXXX';
需要注意的是字符集选择utf8,因为有汉字嘛
3.使用记事本打开csv文件,删除表头信息,去除空行,并修改csv编码格式为utf8
4.将文件导入数据库,命令如下:
load data infile '/var/lib/mysql-files/XXXXXXX.csv' into table tqggsyfyxx fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '
';
导入就ok了,不过需要注意的是,导入的数据是没有主键的,如果需要,可以添加:
ALTER TABLE ggsyjfxxzzr ADD id INT(16) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;
新增了自增主键之后,新加入的数据就得额外增加主键栏,不然导入会报错。
附:删除主键:
alter table ggsyjfxxzzr drop column id;