利用sql语句读取csv文件内容到db

1. 创建测试表:m_test
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS `m_test`;
CREATE TABLE `m_test` (
  `HST_NO` decimal(12,0) NOT NULL ,
  `UPDATE_KIND` varchar(1) NOT NULL ,
  `ITEM_ID` varchar(10) NOT NULL ,
  `ITEM_TAG` varchar(255) NOT NULL ,
  `CREATE_USER_ID` varchar(15) DEFAULT NULL ,
  `CREATE_DATE` timestamp NOT NULL DEFAULT '2001-01-01 00:00:00',
  `UPDATE_USER_ID` varchar(15) DEFAULT NULL ,
  `UPDATE_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
  `LOGICAL_DELETE_FLAG` tinyint(1) DEFAULT '0' ,
  PRIMARY KEY (`HST_NO`,`UPDATE_KIND`,`ITEM_ID`,`ITEM_TAG`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;

2. aa.csv
"0","I","Y005585","xxx"
"0","I","Y005586","xxx"
"0","I","Y005587","xxx"
"0","I","Y005588","xxx"

3. 读取aa.csv到m_test表
 LOAD DATA LOCAL
INFILE 'C:/aa.csv'
INTO TABLE M_TEST
CHARACTER SET 'utf8'
FIELDS
  TERMINATED BY ','
  OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(@hstNo, @updateKind, @itemId, @itemTag)
SET
  HST_NO=@hstNo,
  UPDATE_KIND=@updateKind,
  ITEM_ID=@itemId,
  ITEM_TAG=@itemTag,
  CREATE_USER_ID='11',
  CREATE_DATE=CURRENT_TIMESTAMP,
  UPDATE_USER_ID='11',

  LOGICAL_DELETE_FLAG=IF(@updateKind='D',1,0)  

*注意csv文件的换行符是\n 不是\r\n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值