Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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²ÎÊý¿ÉÒÔÏò¹ý³


Ïà¹ØÎĵµ£º

Mysql ¸´ÖÆ±í¼°½á¹¹

Ò»¡¢CREATE TABLE ·½·¨
Õû±í¸´ÖÆ # create table бí select * from ¾É±í;
½á¹¹¸´ÖÆ # create table бí select * from ¾É±í where 1<>1;
¶þ¡¢INSERT INTO ·½·¨
µÃµ½½¨±íÓï¾ä # show create table ¾É±í;
н¨±í
¸´ÖÆÊý¾Ýµ½Ð±í INSERT INTO new_table(col1,col2,...) (SELECT col1,col2,... from old_table); ......

¹ØÓÚMySQLµÄ²éѯ»º´æ

Ô­Àí
QueryCache(ÏÂÃæ¼ò³ÆQC)ÊǸù¾ÝSQLÓï¾äÀ´cacheµÄ¡£Ò»¸öSQL²éѯÈç¹ûÒÔselect¿ªÍ·£¬ÄÇôMySQL·þÎñÆ÷½«³¢ÊÔ¶ÔÆäʹÓÃ
QC¡£Ã¿¸öCache¶¼ÊÇÒÔSQLÎı¾×÷ΪkeyÀ´´æµÄ¡£ÔÚÓ¦ÓÃQC֮ǰ£¬SQLÎı¾²»»á±»×÷Èκδ¦Àí¡£Ò²¾ÍÊÇ˵£¬Á½¸öSQLÓï¾ä£¬Ö»ÒªÏà²îÄÄÅÂÊÇÒ»¸ö×Ö·û£¨ÀýÈç´óСд²»Ò»Ñù£»¶àÒ»¸ö¿Õ¸ñµÈ£©£¬ÄÇôÕâÁ½¸öSQL½«Ê¹Óò»Í¬µÄÒ» ......

mysql´æ´¢¹ý³ÌÖвÎÊýµÄin,out,inoutÇø±ð


MySQL´æ´¢¹ý³ÌµÄ²ÎÊýÓÃÔÚ´æ´¢¹ý³ÌµÄ¶¨Ò壬¹²ÓÐÈýÖÖ²ÎÊýÀàÐÍ,IN,OUT,INOUT,ÐÎʽÈ磺
CREATE PROCEDURE([[IN |OUT |INOUT ] ²ÎÊýÃû Êý¾ÝÀàÐÎ...])
1¡¢IN ÊäÈë²ÎÊý:±íʾ¸Ã²ÎÊýµÄÖµ±ØÐëÔÚµ÷Óô洢¹ý³Ìʱָ¶¨£¬ÔÚ´æ´¢¹ý³ÌÖÐÐ޸ĸòÎÊýµÄÖµ²»Äܱ»·µ»Ø£¬ÎªÄ¬ÈÏÖµ
2¡¢OUT Êä³ö²ÎÊý:¸ÃÖµ¿ÉÔÚ´æ´¢¹ý³ÌÄÚ²¿±»¸Ä±ä£¬²¢¿É·µ»Ø
3¡¢I ......

MysqlÍâ¼üÔ¼Êø

1.myisam±í²»Ö§³ÖÍâ¼ü£¬innodb²ÅÖ§³ÖÍâ¼ü
2.mysqlÍâ¼üµÄÁÐÀàÐͺÍÖ÷±íÖÐÏàÓ¦µÄÖ÷¼üÁÐÀàÐͱØÐëÒ»Ö£¬¼´ÀàÐÍÒ»Ö¡¢³¤¶ÈÒ»Ö£¬·ñÔò»á±¨´í¡£ERROR 1005: Can't create table (errno: 150)
3.ÔÚÒ»¸öÊý¾Ý¿âÖÐÍâ¼üÃû×Ö²»ÄÜÖØ¸´£¬·ñÔò»á±¨ERROR 1005: Can't create table 'XXXXXX' (errno: 121) ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ