注册|登录

联系电话:024-31891684  13390130939
沈阳软件公司--沈阳软件定制

沈阳软件开发_沈阳软件公司_沈阳软件定制/软件/最新技术

Latest technology最新技术

mysql导入数据

浏览量:2408

mysqlimport

示例

mysqlimport -uroot -p123456 test /tmp/mytbl.txt;

约定:文件名的最后一部分为表名,以上语句导入到表mytbl

mysqlimport必须指定数据库,以上语句数据库为test

导入csv

mysqlimport -uroot -p --local --lines-terminated-by="\r\n" --fields-terminated-by="," --fields-enclosed-by="\"" test /tmp/mytbl.csv

load data

示例

mysql> load data infile '/tmp/mytbl.txt' into table mytbl

load data可以不指定数据库

以上语句中,mysql必须有/tmp/的读权限

导入csv

mysql> load data infile '/tmp/mytbl.csv' into table mytbl fields terminated by ',' enclosed by '"' lines terminated by '\r\n'

处理重复主键

替换已有值

mysql> load data infile '/tmp/mytbl.txt' replace into table mytbl fields terminated by '\t' lines terminated by '\n'

表中已有则不导入

mysql> load data infile '/tmp/mytbl.csv' ignore into table mytbl fields terminated by ',' enclosed by '"' lines terminated by '\r\n'

跳过文件行

以下示例为跳过第一行

mysql> load data infile '/tmp/mytbl.txt' into table mytbl ignore 1 lines;

预处理

文件data.txt内容:

Date Time Name

Weight State

2006-09-01 12:00:00 Bill Wills

200 Nevada

2006-09-02 09:00:00 Jeff Deft

150 Oklahoma

2006-09-04 03:00:00 Bob Hobbs

225 Utah

2006-09-07 08:00:00 Hank Banks

175 Texas

文件必须被加载入如下的表

create table tbl

(

dt datetime,

last_name char(10),

first_name char(10),

weight_kg float,

st_abbrev char(2)

)

create table states

(

name varchar(20),

shortname char(2)

)

states 表中内容:

name shortname

Nevada NV

Oklahoma OK

Utah UT

Texas TX

insert into states

values('Nevada','NV')

,('Oklahoma','OK')

,('Utah', 'UT')

,('Texas', 'TX')

导入:

load data infile '/tmp/data.txt' into table tbl

ignore 1 lines

(@date,@time,@name,@weight_lb,@state)

set dt=concat(@date,' ',@time),

first_name=substring_index(@name,' ',1),

last_name=substring_index(@name,' ',-1),

weight_kg=@weight_lb * .454,

st_abbrev = (select shortname from states where name=@state);

结果:

mysql> select * from tbl; +---------------------+-----------+------------+-----------+-----------+

| dt | last_name | first_name | weight_kg | st_abbrev |

+---------------------+-----------+------------+-----------+-----------+

| 2006-09-01 12:00:00 | Wills | Bill | 90.8 | NV |

| 2006-09-02 09:00:00 | Deft | Jeff | 68.1 | OK |

| 2006-09-04 03:00:00 | Hobbs | Bob | 102.15 | UT |

| 2006-09-07 08:00:00 | Banks | Hank | 79.45 | TX |

+---------------------+-----------+------------+-----------+-----------+

windows本地文件导入到linux下的mysql数据库,加local

load data local infile 'C:/mytbl.txt' into table mytbl fields terminated by '\t' lines terminated by '\r\n'

沈阳团购网|营口网站制作|沈阳软件公司|软件定制|网站建设|加盟易势|提交问题