MysqlÈÎÎñµ÷¶È£¨Event£©
<!-- [if gte mso 10]>
MySQL5.1.x
°æ±¾ÖÐÒýÈëÁËÒ»ÏîÐÂÌØÐÔ
EVENT
£¬¹ËÃû˼Òå¾ÍÊÇʼþ¡¢¶¨Ê±ÈÎÎñ»úÖÆ£¬ÔÚÖ¸¶¨µÄʱ¼äµ¥ÔªÄÚÖ´ÐÐÌØ¶¨µÄÈÎÎñ£¬Òò´Ë½ñºóһЩ¶ÔÊý¾Ý¶¨Ê±ÐÔ²Ù×÷²»ÔÙÒÀÀµÍⲿ³ÌÐò£¬¶øÖ±½ÓʹÓÃÊý¾Ý¿â±¾ÉíÌṩµÄ¹¦ÄÜ¡£´Ë¹¦ÄÜÊǶÔ
Oracle
µÄ
Job/Schedule
µÄÄ£·Â£¬
5.1.X
°æ±¾ÒÔÉϲÅÖ§³Ö¡£
´´½¨
EVENT
Óï·¨ÈçÏ£º
CREATE
[DEFINER = { user | CURRENT_USER }]
EVENT
[IF NOT EXISTS]
event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE | DISABLE ON SLAVE]
[COMMENT ''comment'']
DO sql_statement;
schedule:
AT timestamp [+ INTERVAL interval]
| EVERY interval
[STARTS timestamp [+ INTERVAL interval]]
[ENDS timestamp [+ INTERVAL interval]]
interval:
quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
ÀýÈç´´½¨Ò»¸öÿ
30
ÃëÇå¿Õ
tableA
Êý¾ÝµÄÈÎÎñ
CREATE EVENT E_DELETE_ASO_TOKEN ON SCHEDULE
EVERY 30 SECOND DO DELETE from tableA ;
ĬÈÏ
EVENT
Ö§³ÖÊÇûÓÐÆô¶¯µÄ£¬¿ÉÒÔͨ¹ýÏÂÃæµÄÃüÁîÀ´²é¿´×´Ì¬£º
Select @@event_scheduler;
Èç¹û·µ»Ø
OFF
£¬ÔòÐèÒªÖ´ÐÐÏÂÃæµÄÃüÁîÆô¶¯£º
SET GLOBAL event_scheduler = ON;
ºÃÁË£¬ÉÏÃæËäÈ»Æô¶¯ÁË
EVENT
£¬µ«ÊÇÿ´ÎÖØÆô
mysql
Ö®ºó
EVENT
²¢Ã»ÓÐ×Ô¶¯Æô¶¯£¬ÄÇôÈçºÎÈÃËü×Ô¶¯Æô¶¯ÄØ£¿
·½·¨Ò»£ºÕÒµ½µ±Ç°Ê¹ÓõÄ
.cnf
Îļþ£¬ÔÚ
[mysqld]
µÄÏÂÃæ¼ÓÈëÈçÏÂÐÐ
event_scheduler=1
·½·¨¶þ£ºÆô¶¯
mysql
µÄʱºòÔö¼Ó
--event_scheduler=1
mysql start --event_scheduler=1
ʼþÏêϸÓï·¨ÊÂÀý
(EVENT)
1>
´´½¨Ê¼þ
(CREATE
EVENT)
ÏÈÀ´¿´Ò»ÏÂËüµÄÓï·¨£º
CREATE EVENT [IF NOT EXISTS] event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT ''comment'']
DO sql_statement;
schedule:
AT TIMESTAMP [+ INTERVAL INTERVAL]
|
EVERY INTERVAL [STARTS TIMESTAMP] [END
Ïà¹ØÎĵµ£º
±¾ÎĽéÉÜÁËÊý¾Ý¿âË÷Òý£¬¼°ÆäÓÅ¡¢È±µã¡£Õë¶ÔMySQLË÷ÒýµÄÌØµã¡¢Ó¦ÓýøÐÐÁËÏêϸµÄÃèÊö¡£·ÖÎöÁËÈçºÎ±ÜÃâMySQLÎÞ·¨Ê¹Óã¬ÈçºÎʹÓÃEXPLAIN·ÖÎö²éѯÓï¾ä£¬ÈçºÎÓÅ»¯MySQLË÷ÒýµÄÓ¦Óᣱ¾ÎÄÕª×Ô¡¶MySQL 5ȨÍþÖ¸ÄÏ¡·(3rd)µÄ8.9½Ú¡£(2007.07.05×îºó¸üÐÂ)
Ë÷ÒýÊÇÒ»ÖÖÌØÊâµÄÎļþ(InnoDBÊý¾Ý±íÉϵÄË÷ÒýÊDZí¿Õ¼äµÄÒ»¸ö× ......
1.µÇ¼£º mysql -uroot -p
2.LinuxÏÂmysql ²»ÄÜÍâÍø·ÃÎÊ
ÒѾÔÚMYSQLÀïgrantÁËȨÏÞÁË¡£ÔÚÍâÍø»¹ÊDz»ÄÜ·ÃÎÊ .
ÎÊÌ⣺
cat /etc/mysql/my.conf
ÕÒµ½ÏÂÃæÒ»ÐÐ
bind-address = 127.0.0.1
Î ......
ÕâЩº¯Êý¶¼ÊÇMySQL×Ô´øµÄ£¬¿ÉÒÔÖ±½ÓʹÓÃÔÚPHPдµÄMySQL²éѯÓï¾äÖÐŶ
1-CURDATE()»òCURRENT_DATE()ºÍCURTIME()»òCURRENT_TIME()
ÕâÁ½¸öº¯ÊýÊDZȽϳ£Óõ½µÄ£¬¹ËÃû˼Ò壬µÚÒ»¸ö·µ»Øµ±Ç°ÈÕÆÚ£¬µÚ¶þ¸ö·µ»Øµ±Ç°Ê±¼ä
¿ÉÒÔÔÚMySQL¿Í»§¶Ë»òÕßPHPÓï¾äÀïд"SELECT CURDATE(),CURTIME()"²é¿´Ïà¹ØÐÅÏ¢.
»¹ÓÐÒ»¸öºÜÖØÒªµÄº¯ ......
ÓÐʱºò£¬²»Ï£Íû´æ´¢¹ý³ÌÅ׳ö´íÎóÖÐÖ¹Ö´ÐУ¬¶øÊÇÏ£Íû·µ»ØÒ»¸ö´íÎóÂë¡£
Mysql
Ö§³ÖÒì³£´¦Àí£¬Í¨¹ý¶¨Òå
CONTINUE/EXIT
Òì³£´¦ÀíµÄ
HANDLER
À´²¶»ñ
SQLWARNING/NOT FOUND/SQLEXCEPTION
£¨¾¯¸æ
/
ÎÞÊý¾Ý
/
ÆäËûÒì³££©¡£ÆäÖУ¬
FOR
ºóÃæ¿ÉÒÔ¸ÄΪ
SQLWARNING,
NOT FOUND, SQLEXCEPTION
À´Ö¸Ê¾ËùÓÐÒì³£¶¼´¦Àí£¬Ïൠ......
Java´úÂë
mysql> select version(),current_date;
²éѯmysqlµÄ°æ±¾ºÅ ºÍ ÈÕÆÚ
mysql> select version();
²éѯmysqlµÄ°æ±¾ºÅ
select now();
²éѯµ±Ç°ÈÕÆÚºÍ׼ȷµÄʱ¼ä
Java ......