mysql数据导入语句,mysql导入数据语句

mysqlimport

示例

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

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

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

www.2cto.com

导入csv

mysqlimport -uroot -p --local --lines-terminated-by="rn" --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 'rn'

www.2cto.com

处理重复主键

替换已有值

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 'rn'

跳过文件行

以下示例为跳过第一行

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)

)  www.2cto.com

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;                                                                   www.2cto.com                                                                                +---------------------+-----------+------------+-----------+-----------+

| 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 'rn'

作者 stublue

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值