MYSQL´æ´¢¹ý³ÌѧϰС½á
Mysql ´æ´¢Àý³ÌµÄʹÓÃ
Ò»¡¢ ¼ò½é
´æ´¢¹ý³Ì£¨Stored Procedure£©ÊÇÒ»×éΪÁËÍê³ÉÌØ¶¨¹¦ÄܵÄSQLÓï¾ä¼¯£¬¾±àÒëºó´æ´¢ÔÚÊý¾Ý¿âÖС£Óû§Í¨¹ýÖ¸¶¨´æ´¢¹ý³ÌµÄÃû×Ö²¢¸ø³ö²ÎÊý£¨Èç¹û¸Ã´æ´¢¹ý³Ì´øÓвÎÊý£©À´Ö´ÐÐËü¡£´æ´¢¹ý³Ì ÊÇÊý¾Ý¿âÖеÄÒ»¸öÖØÒª¶ÔÏó£¬ÈκÎÒ»¸öÉè¼ÆÁ¼ºÃµÄÊý¾Ý¿âÓ¦ÓóÌÐò¶¼Ó¦¸ÃÓõ½´æ´¢¹ý³Ì¡£
ËäÈ»³£ÓÃÊõÓïÊÇ´æ´¢¹ý³Ì£¨stored procedure£©£¬µ«MySQLʵ¼ÊÉÏʵÏÖÁËÁ½ÖÐÀàÐÍ£¬³ýÁË´æ´¢¹ý³ÌÍ⣬»¹Óд洢º¯Êý£¨stored routine£©,ËüÃÇͳ³ÆÎª´æ´¢Àý³Ì£»
¶þ¡¢»ù±¾¸ñʽ
1¡¢´æ´¢¹ý³Ì
CREATE PROCEDURE ¹ý³ÌÃû ([¹ý³Ì²ÎÊý[,...]])
[ÌØÐÔ ...] ¹ý³ÌÌå
Èç´´½¨: CEATE PROCEDURE p1 (a INT)
SELECT a;
µ÷ÓÃһϣºCALL p1(8);
½«ÏÔʾ£º
+------+
| a |
+------+
| 8 |
+------+
1 row in set (0.00 sec)
2¡¢´æ´¢º¯Êý
CREATE FUNCTION º¯ÊýÃû ([º¯Êý²ÎÊý[,...]])
RETURNS ·µ»ØÀàÐÍ
[ÌØÐÔ ...] º¯ÊýÌå
Èç´´½¨£ºCREATE FUNCTION f1 (x INT)
RETURNS INT
RETURN x; /* ¹ý³Ìº¯ÊýÒ»´ÎÖ»ÄÜ·µ»ØÒ»¸öÖµ
µ÷ÓÃһϣºSELECT f1 (3);
½«ÏÔʾ£º
+-------+
| f1(3) |
+-------+
| 3 |
+-------+
1 row in set (0.00 sec)
3¡¢¹ý³Ì²ÎÊý
[ IN | OUT | INOUT ] ²ÎÊýÃû ²ÎÊýÀàÐÍ
4¡¢º¯Êý²ÎÊý
²ÎÊýÃû ²ÎÊýÀàÐÍ
5¡¢·µ»ØÀàÐÍ
ÓÐЧµÄMySQLÊý¾ÝÀàÐͼ´¿É
6¡¢¹ý³ÌÌå/º¯ÊýÌå¸ñʽÈçÏÂ
BEGIN
ÓÐЧµÄSQLÓï¾ä
END
7¡¢ÌØÐÔ£¨Ò»°ã²»ÒªÇó£©
LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'
8¡¢´æ´¢¹ý³ÌÖвÎÊýµÄIN,OUT,INOUTÀàÐÍ
´æ´¢¹ý³Ì¿ÉÒÔ½ÓÊÜÊäÈë²ÎÊý£¬²¢°Ñ²ÎÊý·µ»Ø¸øµ÷Ó÷½¡£²»¹ý£¬¶ÔÓÚÿ¸ö²ÎÊý£¬ÐèÒªÉùÃ÷Æä²ÎÊýÃû¡¢Êý¾ÝÀàÐÍ£¬»¹ÒªÖ¸¶¨´Ë²ÎÊýÊÇÓÃÓÚÏò¹ý³Ì´«µÝÐÅÏ¢£¬»¹ÊÇ´Ó¹ý³Ì´«»ØÐÅÏ¢£¬»òÊǶþÕß¼æÓС£
ΪÉùÃ÷²ÎÊýµÄ×÷Óã¬Ê¹ÓÃÈçÏÂ3¸ö¹Ø¼ü×ÖÖ®Ò»£º
IN : IN²ÎÊýÖ»ÓÃÀ´Ïò¹ý³Ì´«µÝÐÅÏ¢£¬ÎªÄ¬ÈÏÖµ¡£
OUT : OUT²ÎÊýÖ»ÓÃÀ´´Ó¹ý³Ì´«»ØÐÅÏ¢¡£
INOUT £º INOUT²ÎÊý¿ÉÒÔÏò¹ý³
Ïà¹ØÎĵµ£º
To support MySQL Cluster, you will need to update
my.cnf
as shown in the following example.
You may also specify these parameters on the command line when
invoking the executables.
Note
The options shown here should not be confused with thos ......
·µ»ØÀ´×ÔÓÚ²ÎÊýÁ¬½áµÄ×Ö·û´®¡£Èç¹ûÈκβÎÊýÊÇNULL£¬·µ»ØNULL¡£¿ÉÒÔÓг¬¹ý2¸öµÄ²ÎÊý¡£Ò»¸öÊý×Ö²ÎÊý±»±ä»»ÎªµÈ¼ÛµÄ×Ö·û´®ÐÎʽ¡£
mysql> select CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> select CONCAT('My', NULL, 'QL');
-> NULL
mysql> select CONCAT(14.3);
-> '14.3'
È磺update test set ......
¡¾ÊéÃû¡¿¸ßÐÔÄÜMySQL£¨µÚ¶þ°æ£©
¡¾ÔÊéÃû¡¿High Performance MySQL, second edition
¡¾×÷Õß¡¿Baron Schwartz£¬Peter Zaitsev£¬Vadim
Tkachenko£¬Jeremy D.Zawodny£¬Arjen Lentz£¬Derek
J.Balling Öø
¡¾ÒëÕß¡¿ÍõС¶« Àî¾ü ¿µ½¨Ñ« Òë
¡¾³ö°æÉç¡¿µç×Ó¹¤Òµ³ö°æÉç
¡¾ÊéºÅ¡¿978- ......
Ç×°®µÄÕü¾ÈMySQLµÄÖйúÇ©ÃûÖ§³ÖÕß:
Å·ÃË¿ÉÄÜÎÞ·¨Õü¾ÈMySQL, ÖйúºÍ¶íÂÞ˹¿ÉÄÜÊÇÕü¾ÈMySQLµÄÏ£ÍûÖ®ËùÔÚ¡£ÖйúÓµÓÐÇ¿´ó¡¢¶ÀÁ¢ÒÔ¼°×ÔÐŵķ´Â¢¶ÏÖ÷¹Ü»ú¹Ø£¬Òò´Ë£¬ÎÒ±¾ÈËÔÚ´ËÇëÇóÄúµÄ°ïÖú¡£¶ÔÓÚÄúÔÚ http://helpmysql.org/cn/petition
µÄÇ©Ãû£¬ÎÒÃÇÉî±í¸Ðл¡£Èç¹û¿ÉÒԵϰ£¬ÎÒÃÇÐèÒªÄúµÄ½øÒ»²½°ïÖú£º
&nb ......
ÐÂÔöÓû§£º
GRANT ALL PRIVILEGES ON *.* TO 'root'@'ÄãµÄÔ¶¶Ëip' IDENTIFIED BY 'ÄãµÄÃÜÂë' WITH GRANT OPTION;
È磺
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.19.220' IDENTIFIED BY '123456' WITH GRANT OPTION;
µÇ¼µ½ÐÂÔöµÄÓû§£º£¨¼ÙÈçÔÊÚȨ»úµÄIPΪ10.10.19.222£©
mysql -uroot -p123456&n ......