1.在students表中,查詢年齡大于25歲,且為男性的同學的名字和年齡
MySQL 查詢。MariaDB [hellodb]> select name,age from students where age>25 and gender='M';
+--------------+-----+
| name | age |
+--------------+-----+
| Xie Yanke | 53 |
| Ding Dian | 32 |
| Yu Yutong | 26 |
| Shi Qing | 46 |
| Tian Boguang | 33 |
| Xu Xian | 27 |
| Sun Dasheng | 100 |
+--------------+-----+
7 rows in set (0.000 sec)
2.在students表中,以ClassID為分組依據,查詢顯示每組的平均年齡
MariaDB [hellodb]> select classid,avg(age) avg_age from students group by classid;
+---------+---------+
| classid | avg_age |
+---------+---------+
| NULL | 63.5000 |
| 1 | 20.5000 |
| 2 | 36.0000 |
| 3 | 20.2500 |
| 4 | 24.7500 |
| 5 | 46.0000 |
| 6 | 20.7500 |
| 7 | 19.6667 |
+---------+---------+
8 rows in set (0.001 sec)
3.在students表中,以ClassID為分組依據,查詢顯示平均年齡大于30的分組及平均年齡
MariaDB [hellodb]> select classid,avg(age) avg_age from students group by classid having avg_age > 30;
+---------+---------+
| classid | avg_age |
+---------+---------+
| NULL | 63.5000 |
| 2 | 36.0000 |
| 5 | 46.0000 |
+---------+---------+
3 rows in set (0.001 sec)
Event介紹:Event,事件,是MySQL在相應的時刻調用的過程式數據庫對象。一個事件可調用一次,也可周期性的啟動,它由一個特定的線程來管理的,也就是“事件管理器”
事件的優缺點:
優點:
一些對數據定時性操作不再依賴外部程序,而直接使用數據庫本身提供的功能,可以實現每秒鐘執行一個任務,這在一些對實時性要求較高的環境下就非常使用
缺點:
定時觸發,不可以直接調用
事件和觸發器:
事件和觸發器類似,都是在某些事情發生的時候啟動。當數據庫上啟動一條語句的時候,觸發器就啟動了,而事件是根據調度事件來啟動的。由于他們彼此相似,所以事件也稱為臨時性觸發器。
事件的開啟:
--event_scheduler,event_scheduler
根據文檔,event_scheduler既是服務選項也是系統變量,那么就既可以在配置文件中寫上它從而開啟,也可以通過SET global event_scheduler=1 來開啟,當然變量方式開啟是臨時的。
通過查看線程命令可以看到event的線程 show processlist;
創建Event
CREATE
[DEFINER = {USER|CURRENT_USER}]
EVENT
[IF NOT EXISTS]
event_name
ON SCHEDULER scheduler #注釋1
[ON COMPLETION [NOT] PRESERVE] #注釋2
[ENABLE | DISABLE | DISABLE ON SLAVE] #注釋3
[COMMENT 'comment'] #這句就是代表注釋的意思
DO event_body #注釋4
注釋1:ON SCHEDULER 計劃任務
scheduler 決定event的執行時間和頻率(時間一定要是未來的時間),有兩種形式“at”,“every”
scheduler:
AT TIMESTAMP [+ INTERVAL interval] | EVERY INTERVAL [STARTS timestamp] [ENDS timestamp]
interval:
quantity {YEAR|MONTH|DAY|HOUR|MINUTE|WEEK|SECOND|...}
注釋2:ON COMPLETION [NOT] PRESERVE 默認是 ON COMPLETION NOT PRESERVE 任務執行后drop該事件;ON COMPLETION PRESERVE 就是不會DROP
注釋3:ENABLE,DISABLE 開啟或關閉事件
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态