1、如果MYSQL服务器就是你要导出文件的机器,那么可以直接用select …into outfile语句。
select * from rank into outfile "/home/a.txt"
2、如果MYSQL服务器是单独的机器,我们是在一个client上进行操作,我们要把数据结果导入到client机器上。可以使用mysql -e语句。
mysql -uroot -proot -P3306 -h10.35.13.89 dbname -e "select * from rank" > /home/a.txt
3、使用mysql的tee(T)命令,也就是把MYSQL的所有输出都输入到指定文件。
mysql>tee /home/a.txt
mysql>select * from rank;
mysql>exit
或
mysql> \T output.txt
Logging to file 'output.txt'
mysql> \t
Outfile disabled.
导出来的文件我们还可以使用
--将刚刚导出的文件log1.txt导入到表log1相同结构的log2中:
LOAD DATA INFILE 'D:\\log1.txt' INTO TABLE aa.log2 FIELDS TERMINATED BY ','
-- 导入
LOAD DATA INFILE '/tmp/fi.txt' INTO TABLE test.fii FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n'
FIELDS TERMINATED BY ',' 字段间分割符
OPTIONALLY ENCLOSED BY '"' 将字段包围 对数值型无效
LINES TERMINATED BY '\n' 换行符