load data infile
时间:2007-08-08 来源:gladness
mysql> show create table ttt\G
*************************** 1. row ***************************
Table: ttt
Create Table: CREATE TABLE `ttt` (
`c1` bigint(20) DEFAULT NULL,
`c2` bigint(20) DEFAULT NULL,
`c3` bigint(20) DEFAULT NULL,
`c4` bigint(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=gbk
1 row in set (0.00 sec)
mysql> exit
Bye
[@mapstdby.no.sohu.com ~]# cat datafile
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
[@mapstdby.no.sohu.com ~]# mysql test -e "load data local infile 'datafile' into table ttt fields terminated by '\t'"
[@mapstdby.no.sohu.com ~]# mysql test -e "select * from ttt"
+-----------------+------------------+-----------------+-------------+
| c1 | c2 | c3 | c4 |
+-----------------+------------------+-----------------+-------------+
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
+-----------------+------------------+-----------------+-------------+
[@mapstdby.no.sohu.com ~]# mysql test -e "load data local infile 'datafile' into table ttt fields terminated by '\t' (c1,c2,c4)"
[@mapstdby.no.sohu.com ~]# mysql test -e "select * from ttt"
+-----------------+------------------+-----------------+-----------------+
| c1 | c2 | c3 | c4 |
+-----------------+------------------+-----------------+-----------------+
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
+-----------------+------------------+-----------------+-----------------+
使用load data infile,需要说明的有三点:
1.local表示从mysql客户端的机器上导数据,也就是说要导入的文件在mysql客户端所在的机器上
2.如果要导入的文件是在windows文件系统,那么在文件名中指明路径的时候,要用/替代\
3.如果在语句中明确指出列名,那么这些列名指的是表中的列名。文件中的数据会依据顺序与这些列来对应
*************************** 1. row ***************************
Table: ttt
Create Table: CREATE TABLE `ttt` (
`c1` bigint(20) DEFAULT NULL,
`c2` bigint(20) DEFAULT NULL,
`c3` bigint(20) DEFAULT NULL,
`c4` bigint(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=gbk
1 row in set (0.00 sec)
mysql> exit
Bye
[@mapstdby.no.sohu.com ~]# cat datafile
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
111111111111111 2222222222222222 333333333333333 11111111111
[@mapstdby.no.sohu.com ~]# mysql test -e "load data local infile 'datafile' into table ttt fields terminated by '\t'"
[@mapstdby.no.sohu.com ~]# mysql test -e "select * from ttt"
+-----------------+------------------+-----------------+-------------+
| c1 | c2 | c3 | c4 |
+-----------------+------------------+-----------------+-------------+
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
+-----------------+------------------+-----------------+-------------+
[@mapstdby.no.sohu.com ~]# mysql test -e "load data local infile 'datafile' into table ttt fields terminated by '\t' (c1,c2,c4)"
[@mapstdby.no.sohu.com ~]# mysql test -e "select * from ttt"
+-----------------+------------------+-----------------+-----------------+
| c1 | c2 | c3 | c4 |
+-----------------+------------------+-----------------+-----------------+
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | 333333333333333 | 11111111111 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
| 111111111111111 | 2222222222222222 | NULL | 333333333333333 |
+-----------------+------------------+-----------------+-----------------+
使用load data infile,需要说明的有三点:
1.local表示从mysql客户端的机器上导数据,也就是说要导入的文件在mysql客户端所在的机器上
2.如果要导入的文件是在windows文件系统,那么在文件名中指明路径的时候,要用/替代\
3.如果在语句中明确指出列名,那么这些列名指的是表中的列名。文件中的数据会依据顺序与这些列来对应
相关阅读 更多 +