Chinaunix首页 | 论坛 | 博客
  • 博客访问: 570036
  • 博文数量: 86
  • 博客积分: 2581
  • 博客等级: 少校
  • 技术积分: 793
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-05 20:09
文章分类

全部博文(86)

文章存档

2009年(86)

我的朋友

分类: Mysql/postgreSQL

2009-06-14 15:23:05


1. 数据文件的位置

load data的文件位置:
    如果为绝对路径,则直接访问绝对路径下的文件。
    如果为相对路径(只有文件名),则在默认数据库的数据目录中寻找文件。
    如果为相对路径(包含文件夹),则在数据库数据目录下寻找相应文件夹。

load data local的文件位置:
    如果为绝对路径,则直接访问绝对路径下的文件。
    如果为相对路径,则在当前目录下寻找。


2. local的用法

mysqlimport -L database 'name.txt'
mysql> load data local infile 'name.txt' into table talbe_name


3. 指定文件格式

fields-terminated-by
fields-enclosed-by
fields-escaped-by
lines-terminated-by
可用转义符,也可用ASCII码
\t = 0x09
\n = 0x0a
\r = 0x0d


4. 不同操作系统的行结束符

Unix : \n
Windows: \r\n


5. 处理重复的值

load data local infile 'name.txt' replace into table table_name
或者使用mysqlimport的--replace选项


6. 跳过文件头几行

load data infile 'name.txt' into table table_name ignore 1 lines;


7. 修改文件数据和列值的对应关系

load data infile 'name.txt' into table table_name (col1,col3,col2);


8. 插入前对数据进行预处理

load data infile 'name.txt' into table table_name (@col1,@col2,@col3)
set
col1 = substr(@col1,2),
col2 = concat(@col2,'_suffix'),
col3 = @col3 *10;


9. 忽略某一列

load data infile 'name.txt' into table table_name (col1,col2,@dummy,col3);


10. 用mysqldump导出文件

shell> mysql -e 'select ... ' --skip-column-names database > data.txt
shell> mysqldump --no-create-info --tab=/tmp table database
mysql> select ... into outfile '/tmp/name.txt'

注意:
必须拥有file权限
输出文件不能已经存在
必须拥有对主机有写权限的帐户


阅读(4546) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~