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

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


MySQL´æ´¢¹ý³ÌµÄ²ÎÊýÓÃÔÚ´æ´¢¹ý³ÌµÄ¶¨Ò壬¹²ÓÐÈýÖÖ²ÎÊýÀàÐÍ,IN,OUT,INOUT,ÐÎʽÈ磺
CREATE PROCEDURE([[IN |OUT |INOUT ] ²ÎÊýÃû Êý¾ÝÀàÐÎ...])
1¡¢IN ÊäÈë²ÎÊý:±íʾ¸Ã²ÎÊýµÄÖµ±ØÐëÔÚµ÷Óô洢¹ý³Ìʱָ¶¨£¬ÔÚ´æ´¢¹ý³ÌÖÐÐ޸ĸòÎÊýµÄÖµ²»Äܱ»·µ»Ø£¬ÎªÄ¬ÈÏÖµ
2¡¢OUT Êä³ö²ÎÊý:¸ÃÖµ¿ÉÔÚ´æ´¢¹ý³ÌÄÚ²¿±»¸Ä±ä£¬²¢¿É·µ»Ø
3¡¢INOUT ÊäÈëÊä³ö²ÎÊý:µ÷ÓÃʱָ¶¨£¬²¢Çҿɱ»¸Ä±äºÍ·µ»Ø
 
 
1¡¢MySQL ´æ´¢¹ý³Ì²ÎÊý£¨in£©
MySQL ´æ´¢¹ý³Ì “in” ²ÎÊý£º¸ú C ÓïÑԵĺ¯Êý²ÎÊýµÄÖµ´«µÝÀàËÆ£¬ MySQL ´æ´¢¹ý³ÌÄÚ²¿¿ÉÄÜ»áÐ޸Ĵ˲ÎÊý£¬µ«¶Ô in ÀàÐͲÎÊýµÄÐ޸ģ¬¶Ôµ÷ÓÃÕߣ¨caller£©À´ËµÊDz»¿É¼ûµÄ£¨not visible£©¡£
drop procedure if exists pr_param_in;
 
create procedure pr_param_in
(
   in id int -- in ÀàÐ굀 MySQL ´æ´¢¹ý³Ì²ÎÊý
)
begin
   if (id is not null) then
      set id = id + 1;
   end if;
 
   select id as id_inner;
end;
set @id = 10;
 
call pr_param_in(@id);
 
select @id as id_out;
mysql> call pr_param_in(@id);
+----------+
| id_inner |
+----------+
|       11 |
+----------+
 
mysql> select @id as id_out;
+--------+
| id_out |
+--------+
| 10     |
+--------+
¿ÉÒÔ¿´µ½£ºÓû§±äÁ¿ @id ´«ÈëֵΪ 10£¬Ö´Ðд洢¹ý³Ìºó£¬ÔÚ¹ý³ÌÄÚ²¿ÖµÎª£º11£¨id_inner£©£¬µ«Íⲿ±äÁ¿ÖµÒÀ¾ÉΪ£º10£¨id_out£©¡£
2¡¢MySQL ´æ´¢¹ý³Ì²ÎÊý£¨out£©
MySQL ´æ´¢¹ý³Ì “out” ²ÎÊý£º´Ó´æ´¢¹ý³ÌÄÚ²¿´«Öµ¸øµ÷ÓÃÕß¡£ÔÚ´æ´¢¹ý³ÌÄÚ²¿£¬¸Ã²ÎÊý³õʼֵΪ null£¬ÎÞÂÛµ÷ÓÃÕßÊÇ·ñ¸ø´æ´¢¹ý³Ì²ÎÊýÉèÖÃÖµ¡£
drop procedure if exists pr_param_out;
 
create procedure pr_param_out
(
   out id int
)
begin
   select id as id_inner_1;  -- id ³õʼֵΪ null
 
   if (id is not null) then
      set id = id + 1;
 
      select id as id_inner_2;
   else
      select 1 into id;
   end if;
 
   select id as id_inner_3;
end;
set


Ïà¹ØÎĵµ£º

¡¾×ª¡¿³£ÓÃmysql²Ù×÷ÃüÁî

   
Administration ¹ÜÀí
Kill a Thread  ½áÊøÒ»¸öÏß³Ì
mysql > KILL 999;
 
Optimize Table ÓÅ»¯±í
mysql > OPTIMEZE TABLE foo;
 
Reload Users Permissions Ë¢ÐÂMySQLϵͳȨÏÞÏà¹Ø±í  
mysql > FLUSH PRIVILEGES;
 
Repair Table ÐÞ¸´±í
mysql > ......

MYSQLÊý¾Ý¿âµ¼Èë¡¢µ¼³ö

1.mysqlµ¼³öÊý¾Ý¿âÃüÁî
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump -u Óû§Ãû -p Êý¾Ý¿âÃû (±íÃû) > c:\\ÎļþÃû.sql
2.mysqlµ¼ÈëÊý¾Ý¿âÃüÁî
£¨1£©½â¾öÖÐÎÄÂÒÂëÎÊÌ⣺ִÐÐÈçÏÂÃüÁîÔÙµ¼È룺set names utf8
£¨2£©µÇ¼mysql£¬Ö´ÐÐÈçÏÂÃüÁ
mysql> source c:\\ÎļþÃû.sql;
3½â¾öÖÐÎÄÂÒÂëÎÊÌ⣺ִР......

mySQL¼òµ¥´´½¨Êý¾Ý¿â¡¢±í¡¢¸Ä±äÊý¾Ý¿â·¾¶

´´½¨Êý¾Ý¿â£º
mysql>create database test;
Query OK, 1 row affected (0.02 sec)
´´½¨Êý¾Ý¿â±í£º
mysql>use test;
Database changed
´´½¨Êý¾Ý¿â±í£º
myaql>create table user(SID VARCHAR(11), name VARCHAT(6) );
Query OK, 0 rows affected (0.08 sec)
²åÈë¼Ç¼£º
mysql>insert int use ......

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

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