mysql 命令行执行 sql
1.直接输入sql执行
MySQL> select now();
+---------------------+
| now() |
+---------------------+
| 2013-09-18 13:55:45 |
+---------------------+
1 row in set (0.00 sec)
2.执行编写好的sql脚本
mysql> source /home/1.sql
+---------------------+
| now() |
+---------------------+
| 2013-09-18 13:54:04 |
+---------------------+
1 row in set (0.00 sec)
3.select ...into outfile 方式执行sql
mysql> select now() into outfile '/home/2.sql';
Query OK, 1 row affected (0.00 sec)
4.使用mysql命令执行
H:\>mysql -uroot -ppassword -e "select now()"
Enter passworH: ****
+---------------------+
| now() |
+---------------------+
| 2013-09-18 13:57:09 |
+---------------------+
5.mysql命令执行sql,并将查询结果保存到文本中
a)执行简单sql
mysql -uroot -ppassword test -e "select now()" -N >result.txt
如果sql很长,这种方式就不是很适合了。
b)执行复杂sql
可以将复杂的sql事先编辑好,存放到文本中在执行。
H:\> mysql -uroot -ppassword -h127.0.0.1 -p3306 test < /home/source.sql > /home/result.txt
将最后一种执行方式加上操作系统的定时任务,就可以在mysql中实现定时执行sql,并保存执行结果的目的了。
参考:官方文档中的 3.5. Using mysql in Batch Mode
https://dev.mysql.com/doc/refman/5.6/en/batch-mode.html