https://www.jb51.net/article/96394.htm
1.直接輸入sql執行
MySQL> select now();
+---------------------+
| now() |
+---------------------+
| 2013-09-18 13:55:45 |
+---------------------+
1 row in set (0.00 sec)
2.執行編寫好的sql腳本
mysql> source H:/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 'h:/data/2.sql';
Query OK, 1 row affected (0.00 sec)
4.使用mysql命令執行
H:\>mysql -uaHmin -p -e "select now()"
Enter passworH: ****
+---------------------+
| now() |
+---------------------+
| 2013-09-18 13:57:09 |
+---------------------+
5.mysql命令執行sql,並將查詢結果保存到文本中
a)執行簡單sql
mysql -uaHmin -proot test -e "select now()" -N >H:/work/target1.txt
如果sql很長,這種方式就不是很適合了。
b)執行復雜sql
可以將復雜的sql事先編輯好,存放到文本中在執行。
H:\> mysql -uroot -pmypwH -h127.0.0.1 -p3306 test < H:/work/source.sql > H:/work/target.txt
將最后一種執行方式加上操作系統的定時任務,就可以在mysql中實現定時執行sql,並保存執行結果的目的了。
參考:官方文檔中的 3.5. Using mysql in Batch Mode
http://dev.mysql.com/doc/refman/5.6/en/batch-mode.html
以上就是小編為大家帶來的mysql命令行中執行sql的幾種方式總結全部內容了,希望大家多多支持腳本之家~
########
MySQL關於時間的一些查詢,查詢今天,昨天......
https://blog.csdn.net/weixin_41986096/article/details/80464008
##查詢最近的一條信息
SELECT column_name(s) FROM table_name WHERE column_name = pattern ORDER BY create_time DESC LIMIT 1;
在某些情況下,如果明知道查詢結果只有一個,SQL語句中使用LIMIT 1 會提高查詢效率,避免全表掃描。
##查詢今天
SELECT column_name(s) FROM table_name WHERE DATE_FORMAT( create_time,'%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d');
DATE_FORMAT()函數用於以不同的格式顯示日期/時間數據
DATE_FORMAT(date,format)
date參數是合法的日期。format規定日期/時間的輸出格式
NOW()函數返回當前的日期和時間
SELECT column_name(s) FROM table_name WHERE TO_DAYS(create_time) =TO_DAYS(NOW());
SELECT colum_name(s) FROM table_name WHERE DATE(create_time) =DATE(CURDATE());
DATE()提取日期或日期/時間表達式的日期部分
##查詢昨天
SELECT column_name(s) FROM table_name WHERE DATE_FORMAT( create_time,'%Y-%m-%d') = DATE_FORMAT(CURDATE()-1,'%Y-%m-%d');
SELECT column_name(s) FROM table_name WHERE DATE(create_time) =DATE(CURDATE()-1);
##輸出格式:2017-04-14
SELECT CURDATE();
##輸出格式:2017-04-14 13:44:11
SELECT NOW();
##查詢一個星期內的數據
## DATE_SUB(date,INTERVAL expr unit) 從日期減去指定的時間間隔
SELECT column_name(s) FROM table_name WHERE DATE_SUB(CURDATE(),INTERVAL 7 DAY) <=DATE(create_time) ORDER BY create_time DESC;
##查詢一個月內的數據
SELECT column_name(s) FROM table_name WHERE DATE_SUB(CURDATE(),INTERVAL 1 MONTH) <= DATE(create_time) ORDER BY create_time DESC;
##返回date的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。索引值符合 ODBC 的標准
SELECT DAYOFWEEK(create_time) FROM table_name ORDER BY create_time DESC;
##格式化時間
SELECT DATE_FORMAT(create_time,'%Y-%m-%d') FROM table_name ;
##返回當前時間 輸出格式:15:17:51
SELECT CURTIME();
##給日期添加指定的時間間隔 DATE_ADD(date,INTERVAL expr unit)
SELECT column_name(s) FROM table_name WHERE DATE_ADD(create_time,INTERVAL 1 DAY) <= DATE(NOW());
##返回兩個日期之間的天數 DATEDIFF(expr1,expr2)
SELECT column_name(s) FROM table_name WHERE DATEDIFF( NOW(),create_time)=0
=0代表查詢的是當天,=1 查詢的就是昨天……
————————————————
版權聲明:本文為CSDN博主「摘星族」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_41986096/article/details/80464008
####
MySQL 字符串拼接詳解
在Mysql 數據庫中存在兩種字符串連接操作.具體操作如下
一. 語法:
1. CONCAT(string1,string2,…) 說明 : string1,string2代表字符串,concat函數在連接字符串的時候,只要其中一個是NULL,那么將返回NULL