免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1144 | 回复: 0
打印 上一主题 下一主题

数据的复制、导入和导出记录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-04 17:09 |只看该作者 |倒序浏览

1                    复制、导入和导出记录
1.1            复制记录
INSERT…SELECT:但注意的是INSERT语句中指定的字段列必须与SELECT子句返回的列匹配,否则会产生错误。
1.2            导入数据
LOAD DATA INFILE:一次性插入多条记录。当需要相一个数据库输入大量得信息,但是结构化得数据与SQL语句得格式不相符时,这中方法就变得非常方便。
Eg:DEMO: DB   NINECHARPTER   TABLE   BIRTH
LOAD DATA INFILE ‘PATH’ INTO TABLE TBL_NAME FIELDS TERMINATED BY ‘,(分隔符)’ LINES TERMINATED BY ‘\r\n’;
默认情况下,MySQL认为数据文件是在server上,在LOAD DATA INFILE指定的位置。如果想要使用client上的数据,可以在语句中添加LOCAL关键字,告诉MySQL在client的文件系统上查找文件。
Eg:LOAD DATA LOCAL INFILE ‘PATH’ INTO TABLE BIRTH FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\R\N’;
如果数据文件的字段比表的字段少,或者如果文件的值和表扎捏嘎的字段许类具有不同的顺序,可以通过在LOAD DATA INFILE命令后指定字段名来告诉MySQL如何把文件中的数据映射到表的字段。
一些关键字可以用来修改LOAD DATA INFILE命令的行为:
LOW_PRIORITY关键字导致在开始进行导入工作之前,服务器等待知道没有其他线程使用该表,另一方面,在进行导入工作时,CONCURRENT关键字允许客户在导入过程中从表读数据(但这个关键字只能应用于MyISAM表)
Eg:LOAD DATA LOW_PRIORITY INFILE ‘PATH’ INTO TABLE TBL_NAME;
LOAD DATA CONCURRENT LOCAL INFILE ‘PATH’ INTO TABLE TBL_NAME;
IGNORE关键字保证如果新记录的一个键与已存在的记录重复,则MySqL将跳到下一条(而不是退出整个操作,这是发生这种情况的默认行为)。或者可以选择用数据文件大额新记录代替已存在的记录。这可以通过使用关键字REPLACE代替IGNORE完成。
Eg:
mysql> load data infile 'k:/ebook/DB/MYSQL/MySQLPhraseBook/NineCharpter/AddressB
ook.txt' into table AddressBook fields terminated by ',' enclosed by '"' lines t
erminated by '\r\n' (phone,fname,lname,email);
ERROR 1062 (23000): Duplicate entry '112123' for key 1

mysql> load data infile 'k:/ebook/DB/MYSQL/MySQLPhraseBook/NineCharpter/AddressB
ook.txt' ignore into table AddressBook fields terminated by ',' enclosed by '"'
lines terminated by '\r\n' (phone,fname,lname,email);
Query OK, 0 rows affected (0.00 sec)
Records: 3  Deleted: 0  Skipped: 3  Warnings: 0
mysql> load data infile 'k:/ebook/DB/MYSQL/MySQLPhraseBook/NineCharpter/AddressB
ook.txt' REPLACE into table AddressBook fields terminated by ',' enclosed by '"'
lines terminated by '\r\n' (phone,fname,lname,email);
Query OK, 6 rows affected (0.04 sec)
Records: 3  Deleted: 3  Skipped: 0  Warnings: 0
1.3            导出记录
使用SELECT…INTO OUTFILE结构从一个表导出记录到一个文件。该结构可以完成常规SELECT语句做的所有事情,只不过把记录集送到一个文件中而已。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15276/showart_136353.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP