mysql按查询条件导出指定数据方法
按条件导出mysql表的数据:
代码如下 | |
theyestoday=`date -d “-1 day” +%y%m%d` #前天日期 |
#将查询语句写入sql文件
linux中导出
代码如下 | |
echo “SELECT NULL, coder, clicknum, time FROM stat.yl_clicks WHERE time = unix_timestamp(‘$theyestoday2 00:00:00′) into outfile ‘/var/lib/mysql/stat/yl_clicks.sql’;” > cmd_yl_clicks.sql |
window系统下导出
代码如下 | |
SELECT ITEM1_1,ID,ITEM2_1,ITEM11_1,ITEM9_1,ITEM7_1,ITEM8_1,ITEM4_1,ITEM4_2,ITEM6_1,ITEM6_2,ITEM5_1,ITEM5_2,ITEM5_3,ITEM5_4,ITEM5_5,ITEM5_6,ITEM5_7 FROM `ID_7_vote_insert` WHERE `VoteID`='7' order by ITEM1_1 asc into outfile '/tmp/test_new.txt' fields terminated by ',' enclosed by '"'; |
#删除上次生成的
代码如下 | |
rm -rf /var/lib/mysql/stat/yl_clicks.sql |
#执行sql文件中的语句
代码如下 | |
mysql -u用户名 -p密码 -hlocalhost < cmd_yl_clicks.sql |
#执行完成后将生成查下结果数据文件 yl_clicks.sql
导入数据
#导入数据并生成导入日志(记录的导入的数据情况,如导入多少条记录)
代码如下 | |
mysqlimport -u用户名 -p密码 -f -i stat “D:systemMySqlMySQL Server 5.0datastatyl_clicks.sql” >> Synchronization2.log |
总结:
字符串要处理好,不然容易出错。
使用select into outfile "filename"语句,前提必须拥有文件的权限。
比如:
数据库是mysql
代码如下 | |
mysql> select * from user into outfile "a.txt"; |
上面就可以完成将表user从数据库中卸到a.txt文件中。注意文件名要加单引号。那么a.txt文件就在mysql目录下有一个 data目录,它即是数据库文件所放的地方。在这里就是mysql下面就会存在一个a.txt的文件。a.txt的内容就是:
localhost root *6F7418838FC8B9085D8B2E7484D471E34710F635 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0