mysql数据的导出与导入_MySQL数据导出与导入

利用CSV存储引擎加载数据:

mysql>create table ld_csv1(id int not null default ‘0’,username varchar(5) not null,city varchar(6) not null,email varchar(50) not null) engine=csv default charset=UTF8;

$more /tmp/loaddata.txt > /data/mysqldata/3306/data/hugcdb/ld_csv1.CSV

mysql>select * from ld_csv1;

mysqlimport命令行工具导入数据:

mysql>create table ld_cmd(id int not null default ‘0’,username varchar(5) not null,city varchar(6) not null,email varchar(50) not null) engine=innodb default charset=UTF8;

mysqlimport导入数据要求数据文件名与表对象名相同

[mysql@mysql1 data]$ mysqlimport --help

$mysqladmin -usystem -p123456 -S /data/mysqldata/3306/mysql.sock hugc --default-character-set=gbk --fields-terminated-by=’,’ /tmp/ld_cmd.txt

fields-terminated-by

fields-enclosed-by

lines-terminated-by

SQL语句导入数据:

LOAD DATA INFILE ‘file_name’ INTO TABLE tbl_name;

(system@localhost) [mysql]> create table ld_sql(id int not null default ‘0’,username varchar(5) not null,city varchar(6) not null,email varchar(50) not null) engine=innodb default charset=UTF8;

(system@localhost) [mysql]> load data infile ‘/tmp/loaddata.txt’ into table ld_sql charset gbk FIELDS TERMINATED BY ‘,’;

(system@localhost) [mysql]> help load data

Name: 'LOAD DATA'

Description:

Syntax:

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'

[REPLACE | IGNORE]

INTO TABLE tbl_name

[PARTITION (partition_name,...)]

[CHARACTER SET charset_name]

[{FIELDS | COLUMNS}

[TERMINATED BY 'string']

[[OPTIONALLY] ENCLOSED BY 'char']

[ESCAPED BY 'char']

]

[LINES

[STARTING BY 'string']

[TERMINATED BY 'string']

]

[IGNORE number {LINES | ROWS}]

[(col_name_or_user_var,...)]

[SET col_name = expr,...]

LOAD DATA INFILE语句中默认的列分隔符是Tab符

通过CHARACTER SET子句,明确指定导入数据的字符集

在客户端本地导入数据

(system@localhost) [mysql]> load data LOCAL infile ‘/tmp/loaddata.txt’ into table ld_sql charset gbk FIELDS TERMINATED BY ‘,’;

如果启动MySQL时禁用了load-infile选项,就不再允许以LOCAL方式导入

如果指定LOCAL关键字,那就是从执行导入语句的客户端上读取文件

没有指定LOCAL关键字,那就是从运行MySQL的服务端上读取文件

如果指定了REPLACE子句,则出现重复值时会替换当前存在的记录

如果指定了IGNORE子句,则插入时遇到重复值会跳过重复的记录

数据文件的前N行不导入

(system@localhost) [mysql]> load data infile ‘/tmp/loaddata.txt’ into table ld_sql charset gbk FIELDS TERMINATED BY ‘,’ ignore 4 lines;

列和行的精确处理

FILES TERMINATED BY

ENCLOSED BY

ESCAPED BY

LINES TERMINATED BY

STARTIING BY

SQL语句导出数据:

select … into outfile

(system@localhost) [mysql]> help select;

Name: 'SELECT'

Description:

Syntax:

SELECT

...

[FROM table_references

[PARTITION partition_list]

[WHERE where_condition]

[GROUP BY {col_name | expr | position}

[ASC | DESC], ... [WITH ROLLUP]]

[HAVING where_condition]

[ORDER BY {col_name | expr | position}

[ASC | DESC], ...]

[LIMIT {[offset,] row_count | row_count OFFSET offset}]

[PROCEDURE procedure_name(argument_list)]

[INTO OUTFILE 'file_name'

[CHARACTER SET charset_name]

export_options

| INTO DUMPFILE 'file_name'

| INTO var_name [, var_name]]

[FOR UPDATE | LOCK IN SHARE MODE]]

(system@localhost) [mysql]> select * from ld_t1 into outfile ‘/tmp/ld_t1_out.txt’ fields terminated by ‘,’ optionally enclosed by ‘”’;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值