百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> MySQL 文本文件的导入导出数据sql演示
分享文章到:

MySQL 文本文件的导入导出数据sql演示

发布时间:01/15 来源: 浏览: 关键词:
导入导出数据在mysql中我们多半会使用mysqldump命令了,今天我要介绍是其它命令导入导出文本文件命令,希望能给您带来帮助。

MySQL写入数据通常用insert语句,如
 
INSERT INTO person VALUES(张三,20),(李四,21),(王五,70)…;

但有时为了更快速地插入大批量数据或交换数据,需要从文本中导入数据或导出数据到文本。
一、 建立测试表,准备数据

首先建立一个用于测试的表示学生信息的表,字段有id、姓名、年龄、城市、薪水。Id和姓名不
能为空。
 

 代码如下
CREATE TABLE person(
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(40) NOT NULL,
    city VARCHAR(20),
    salary INT,
    PRIMARY KEY(id)
)engine=innodb charset=gb2312;

创建表截图如下:

1

接着写一个用于导入的文本文件:c:data.txt。

张三    31    北京    3000
李四    25    杭州    4000
王五    45    N     4500
小明    29    天津    N

3

每一项之间用Tab键进行分隔,如果该字段为NULL,则用N表示。

二、 导入数据

输入命令,进行导入。

 代码如下

LOAD DATA LOCAL INFILE "c:/data.txt"
INTO TABLE person(name,age,city,salary);

导入数据截图如下:

2

其中local表示本地。执行后,可以看到NULL数据也被正确地导入。

三、 导出数据

现在将这个表导出为文本文件:c:data_out.txt。

 代码如下

 
SELECT name,age,city,salary
INTO OUTFILE "c:/data_out.txt"
LINES TERMINATED BY "rn"
FROM person;

导出数据截图如下:

4

其中lines terminated by “rn”表示每一行(即每一条记录)用rn分隔,rn是window系
统的换行符。导出的data_out.txt与data.txt的内容完全一样。


当然我们还可以使用mysqldump命令导入导出了,这个才是标准的mysql 数据导入导出命令了。

第一步,导出旧库

 代码如下

mysqldump --default-character-set latin1 -uroot -pXXX --database db > /tmp/old.sql

第二步,转换编码

 代码如下

iconv -t utf-8 -f gbk -c /tmp/old.sql > /tmp/new.sql

第三步,导入新库

修改new.sql,增加一条sql语句: “SET NAMES utf8;”,保存。

四、 运行环境

Windows vista home basic
MySQL 5.1.34-community

五、 注意

字段之间的分隔和记录(行)之间的分隔默认是t(即Tab)和n。但可以改变,如:
FIELDS TERMINATED BY ‘,’ –字段用,进行分隔
LINES TERMINATED BY ‘;’ –记录用; 进行分隔
另外要注意其它操作系统的换行符与windows可能不相同。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有6人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板