永发信息网

mysql中想用load data infile数据导入

答案:1  悬赏:30  手机版
解决时间 2021-01-03 11:41
mysql中想用load data infile语句导入一个txt文本的部分列,比如数据中有10列,并且含有列标题,我只想导入第2,7列该怎么做?
最佳答案
这个我分2部分说明,

第一部分, 是如何处理,  数据文件中, 列的数量,  大于 表的数量的情况。
第二部分, 是说明, 如何 排除掉标题列的情况。




第一部分


导出
mysql> INSERT INTO test_main
    -> SELECt 1, 'A' UNIOn ALL
    -> SELECT 2, 'B' UNIOn ALL
    -> SELECT 3, 'C';
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql>
mysql> select id, value
    -> INTO OUTFILe 'f:/test_main.txt'
    -> FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ''''
    -> LINES TERMINATED BY '\n'
    -> FROM test_main;
Query OK, 3 rows affected (0.01 sec)



导入  数据文件比目标表多字段

mysql> LOAD DATA INFILE 'f:/test_main.txt'
    -> INTO TABLE test_main6
    -> FIELDS TERMINATED BY ','
    -> OPTIONALLY ENCLOSED BY ''''
    -> (@dummy, value);
Query OK, 3 rows affected (0.00 sec)
Records: 3  Deleted: 0  Skipped: 0  Warnings: 0

mysql> select * from test_main6;
+-------+
| value |
+-------+
| A     |
| B     |
| C     |
+-------+
3 rows in set (0.00 sec)


这里的关键点, 在于那个   @dummy。
对你而言, 如果文件有 10列, 你只导 2 , 7 的话, 那就是

@dummy,列2,@dummy,@dummy,@dummy,@dummy,列7,@dummy,@dummy,@dummy



第二部分
假设数据文件如下:

Book1.csv


编号,名称,说明
1,测试数据1,"测试CSV文件中,有逗号"
2,测试数据2,"测试CSV文件中有""双引号"""
3,测试数据3,"测试CSV文件中,有逗号和""双引号"""
4,测试数据4,普通数据


mysql> CREATE TABLE Test_Book1 (
    ->   id    int,
    ->   name  VARCHAr(10),
    ->   data  VARCHAr(100)
    -> );
Query OK, 0 rows affected (0.05 sec)


下面的 lines terminated by '\r\n' 是 要求换行符号,为 windows的换行
下面的 ignore 1 lines是 忽略第一行的标题行。
mysql> LOAD DATA INFILE 'f:/Book1.csv'
    -> INTO TABLE Test_Book1
    -> FIELDS TERMINATED BY ','
    -> OPTIONALLY ENCLOSED BY '"'
    -> lines terminated by '\r\n'
    -> ignore 1 lines
    -> (id, name, data);
Query OK, 4 rows affected (0.00 sec)
Records: 4  Deleted: 0  Skipped: 0  Warnings: 0

mysql> select * from test_book1;
+------+-----------+--------------------------------+
| id   | name      | data                           |
+------+-----------+--------------------------------+
|    1 | 测试数据1 | 测试CSV文件中,有逗号           |
|    2 | 测试数据2 | 测试CSV文件中有"双引号"        |
|    3 | 测试数据3 | 测试CSV文件中,有逗号和"双引号" |
|    4 | 测试数据4 | 普通数据                       |
+------+-----------+--------------------------------+
4 rows in set (0.00 sec)



对你而言, 你需要使用
ignore 1 lines 忽略第一行的标题行。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
里湖派出所办公地址在什么地方?我要处理点事
They were all very tired, but of them too
一个田一个匀念什么
单选题I_____togetintouchwithTony,mych
温度计越精确,则其玻璃泡的容积与细管的容积
恶劣环境什么意思
如图,AB∥CD,DE∥BC,若∠1=120°,则∠2=_
我安装的Win8.1的系统,但是前几天电脑一直提
棉湖派出所地址在哪?我要去那里办事
简述“瑞珏之死”的主要情节。(《家》)高老太
单选题与正常植株相比,多倍体植株所不具有的
2000年老款丰田凯美瑞是六代还是七代?
费用要素包括哪些
单选题外界溶液中的水分透过原生质层进入细胞
别克gl8故障码u1626,u1040.u1096
推荐资讯
贝多芬狂想曲
单选题能节省市政建设投资的城市形态是A.组团
单选题TheAmericanFoundationfortheBlindha
这道题怎么做54-33÷3
杭州市西站到江虹路公交车怎么座
日本留学需要高考成绩认证和会考成绩认证。 h
工地测量仪器有哪些
为了迎接五一节到茂名青年湖野炊,三(1)班
买了辆二手车,提档后落户还需要原车主一起去
怎么做已婚育龄妇女节育措施情况报表
华为软件在哪里下载
康宝橱柜怎么样 康宝橱柜大众测评
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?