MySQLʹÓô¥·¢³ÌÐò
´¥·¢³ÌÐòÊÇÓë±íÓйصÄÃüÃûÊý¾Ý¿â¶ÔÏ󣬵±±íÉϳöÏÖÌØ¶¨Ê¼þʱ£¬½«¼¤»î¸Ã¶ÔÏó¡£ÔÚijЩ´¥·¢³ÌÐòµÄÓ÷¨ÖУ¬¿ÉÓÃÓÚ¼ì²é²åÈëµ½±íÖеÄÖµ£¬»ò¶Ô¸üÐÂÉæ¼°µÄÖµ½øÐмÆËã¡£
´¥·¢³ÌÐòÓë±íÏà¹Ø£¬µ±¶Ô±íÖ´ÐÐINSERT¡¢DELETE»òUPDATEÓï¾äʱ£¬½«¼¤»î´¥·¢³ÌÐò¡£¿ÉÒÔ½«´¥·¢³ÌÐòÉèÖÃΪÔÚÖ´ÐÐÓï¾ä֮ǰ»òÖ®ºó¼¤»î¡£ÀýÈ磬¿ÉÒÔÔÚ´Ó±íÖÐɾ³ýÿһÐÐ֮ǰ£¬»òÔÚ¸üÐÂÁËÿһÐк󼤻·¢³ÌÐò¡£
ÒªÏë´´½¨´¥·¢³ÌÐò»òÉáÆú´¥·¢³ÌÐò£¬¿ÉʹÓÃCREATE TRIGGER»òDROP TRIGGERÓï¾ä
ÏÂÃæ¸ø³öÁË1¸ö¼òµ¥µÄʾÀý£¬ÔÚ¸ÃʾÀýÖУ¬Õë¶ÔINSERTÓï¾ä£¬½«´¥·¢³ÌÐòºÍ±í¹ØÁªÁËÆðÀ´¡£Æä×÷ÓÃÏ൱ÓÚÀÛ¼ÓÆ÷£¬Äܹ»½«²åÈë±íÖÐijһÁеÄÖµ¼ÓÆðÀ´¡£
ÔÚÏÂÃæµÄÓï¾äÖУ¬´´½¨ÁË1¸ö±í£¬²¢Îª±í´´½¨ÁË1¸ö´¥·¢³ÌÐò£º
mysql> CREATE TABLE account (acct_num INT, amount DECIMAL(10,2));
mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account
-> FOR EACH ROW SET @sum = @sum + NEW.amount;
CREATE TRIGGERÓï¾ä´´½¨ÁËÓëÕË»§±íÏà¹ØµÄ¡¢ÃûΪins_sumµÄ´¥·¢³ÌÐò¡£Ëü»¹°üÀ¨Ò»Ð©×Ӿ䣬ÕâЩ×Ó¾äÖ¸¶¨ÁË´¥·¢³ÌÐò¼¤»îʱ¼ä¡¢´¥·¢³ÌÐòʼþ¡¢ÒÔ¼°¼¤»î´¥·¢³ÌÐòʱ×÷Щʲô£º
· ¹Ø¼ü×ÖBEFOREÖ¸Ã÷ÁË´¥·¢³ÌÐòµÄ¶¯×÷ʱ¼ä¡£ÔÚ±¾ÀýÖУ¬Ó¦ÔÚ½«Ã¿Ò»ÐвåÈë±í֮ǰ¼¤»î´¥·¢³ÌÐò¡£ÕâÀàÔÊÐíµÄÆäËû¹Ø¼ü×ÖÊÇAFTER¡£
· ¹Ø¼ü×ÖINSERTÖ¸Ã÷Á˼¤»î´¥·¢³ÌÐòµÄʼþ¡£ÔÚ±¾ÀýÖУ¬INSERTÓï¾ä½«µ¼Ö´¥·¢³ÌÐòµÄ¼¤»î¡£ÄãÒ²¿ÉÒÔΪDELETEºÍUPDATEÓï¾ä´´½¨´¥·¢³ÌÐò¡£
· ¸úÔÚFOR EACH ROWºóÃæµÄÓï¾ä¶¨ÒåÁËÿ´Î¼¤»î´¥·¢³ÌÐòʱ½«Ö´ÐеijÌÐò£¬¶ÔÓÚÊÜ´¥·¢Óï¾äÓ°ÏìµÄÿһÐÐÖ´ÐÐÒ»´Î¡£ÔÚ±¾ÀýÖУ¬´¥·¢µÄÓï¾äÊǼòµ¥µÄSETÓï¾ä£¬¸ºÔ𽫲åÈëamountÁеÄÖµ¼ÓÆðÀ´¡£¸ÃÓï¾ä½«ÁÐÒýÓÃΪNEW.amount£¬Òâ˼ÊÇ“½«Òª²åÈëµ½ÐÂÐеÄamountÁеÄÖµ”¡£
ÒªÏëʹÓô¥·¢³ÌÐò£¬½«ÀÛ¼ÓÆ÷±äÁ¿ÉèÖÃΪ0£¬Ö´ÐÐINSERTÓï¾ä£¬È»ºó²é¿´±äÁ¿µÄÖµ£º
mysql> SET @sum = 0;
mysql> INSERT INTO account VALUES(137,14.98),(141,1937.50),(97,-100.00);
mysql> SELECT @sum AS 'Total amount inserted';
+-----------------------+
| Total amount inserted |
+-----------------------+
| 1852.48  
Ïà¹ØÎĵµ£º
ÓÉÓÚ×î½üÒ»Ö±ÔÚÁ˽âmysql¡£¸÷ÖÖ±íÀàÐ͵ÄÊý¾Ý´æ´¢ÒÔ¼°Ïà¹ØÏÞÖÆ¾ÍÊDZØÐëÁ˽âµÄ·½ÃæÁË¡£
×Ô¼ºµÄ·þÎñÆ÷»·¾³£ºOS Cent OS ext3£¬memory 4G£¬ disk 2T block size 4K¡£
¾µ÷²é£¬linuxÏÂÎļþ×î´óÊÇ´æÔÚÏÞÖÆµÄ¡£È¥googleÉÏËÑÁËËÑ£¬´ó¼Ò˵·¨²»Ò»£¬×îÖÕ×Ô¼º»¹ÊÇÕÒµ½±È½Ï¹Ù·½µÄ˵¡£Ïê¼ûhttp://en.wikipedia.org/wiki/Ext3 ËùÒÔ× ......
Mysql³£ÓÃÃüÁî½Å±¾
µÚÒ»ÕС¢mysql·þÎñµÄÆô¶¯ºÍÍ£Ö¹
net stop mysql
net start mysql
µÚ¶þÕС¢µÇ½mysql
Óï·¨ÊÇ mysql -hÖ÷»ú -uÓû§Ãû -pÃØÃÜ
Àý×ÓÊÇ mysql -hlocalhost -uroot -p123456
Ҫȷ¶¨mysql°²×°Ê±ºò¹´Ñ¡ÁË¿ÉÒÔÔ¶³ÌÁ´½Ó¡£Èç¹ûµÇ½±¾µØ¼ÆËã»ú£¬-h¿ÉÒÔÊ¡ÂÔ£¬¼üÈëÃüÁîmysql -uroot -p£¬ »Ø³µºóÌáʾÄãÊäÈëÃÜÂ룬 ......
ÏñMySQLÕâÑùµÄ¹ØÏµÐÍÊý¾Ý¿â¹ÜÀíϵͳ£¬ËüÃǵĻù´¡ÊÇÔÚÊý¾Ý¿âµÄ±íÖ®¼ä´´½¨¹ØÏµµÄÄÜÁ¦¡£Í¨¹ý·½±ãµØÔÚ²»Í¬±íÖн¨Á¢¼Ç¼µ½¼Ç¼µÄÁªÏµ£¬RDBMS¿ÉÒÔÀûÓò»Í¬µÄ·½·¨·ÖÎöÊý¾Ý£¬Í¬Ê±±£³ÖÊý¾Ý¿âÒÔϵͳµÄ·½Ê½¡¢×îСµÄÈßÓà½øÐÐ×éÖ¯¡£
¼òµ¥ÃèÊö£º
ÕâЩ¹ØÏµ»ù±¾ÉÏÒÀ¿¿Íâ¼ü½øÐйÜÀí£¬ÔÚ¹ØÏµÖÐËùÓбíÖоßÓÐÏàͬº¬ÒåµÄ×Ö¶Î×÷Ϊ¹«¹²²¿·ÖÀ´Á¬½Ó ......
Ò»¡¢MySQL »ñµÃµ±Ç°ÈÕÆÚʱ¼ä º¯Êý
1.1 »ñµÃµ±Ç°ÈÕÆÚ+ʱ¼ä£¨date + time£©º¯Êý£ºnow()
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2008-08-08 22:20:46 |
+---------------------+
³ýÁË now() º¯ÊýÄÜ»ñµÃµ±Ç°µÄÈÕÆÚʱ¼äÍ⣬MySQL Öл¹ÓÐÏÂÃæµÄº¯Êý£º
current_tim ......
//linuxϱàÒëg++ $(mysql_config --cflags) ***.cpp $(mysql_config --libs)
/*mysqlÊý¾Ý¿âÖбíµÄÄÚÈÝ
mysql> select * from maindb;
+------------------+---------+-------------+---------+----------+---------------------+---------------------+---------------------+------------------- ......