±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcnblogs£¬½éÉÜÁËmysqlÖеÄȨÏÞ£¬´´½¨Óû§£¬È¨ÏÞ·ÖÅ䣬ÊÂÎñ¿ØÖÆÓïÑÔ£¬ÊÂÎñµÄ»ù±¾ÊµÏÖÁ÷³ÌµÈ¡£ |
|
Êý¾Ý¿ØÖÆ£¬Æäʵ¾ÍÊÇ¡°·ÖÅäȨÏÞ¡±¡ª¡ª¾ÍÉæ¼°µ½Óû§¡£
ÔòÖ÷Òª¾ÍÊÇ2¸öÎÊÌ⣺
Óû§¹ÜÀí£º
ȨÏÞ·ÖÅ䣺
ÓÐÄÄЩȨÏÞ¡£
mysqlÖеÄȨÏÞ
mysqlÖУ¬È¨ÏÞÊÇϵͳÄÚ¶¨µÄһЩ¡°Ãû´Ê¡±£¨µ¥´Ê£©£¬´óÔ¼£³£°¸ö£¬Ã¿¸öȨÏÞ±íʾ¡°¿ÉÒÔ×öʲô¹¤×÷¡±¡£¡¡
Ôò·ÖÅäȨÏÞ¾ÍÊÇÏ൱ÓÚÈÃij¸öÓû§¿ÉÒÔ×öÄÄЩ¹¤×÷¡£
Ö÷ҪȨÏÞÈçÏ£º

mysqlÖеÄÓû§£ºmysqlÖеÄÓû§ÐÅÏ¢¶¼´æ´¢ÔÚϵͳÊý¾Ý¿âmysqlµÄuser±íÖС£
´´½¨Óû§
Óï·¨ÐÎʽ£º
create user ¡®Óû§Ãû¡¯@¡¯ÔÊÐíÆäµÇ¼µÄµØÖ·¡¯ identified
by ¡®ÃÜÂ롯;
˵Ã÷£º
1£¬´´½¨µÄÓû§Ðèͬʱָ¶¨¸ÃÓû§¿ÉÒÔÔÚÄĸöµØÖ·½øÐеǼ¡£
ÆäÖС°%¡±´ú±í¡°ÈκεØÖ·¡±¡£
2£¬Óû§´´½¨Ö®ºó£¬×Ô¶¯ÔÚmysqlµÄuser±íÖÐÌí¼ÓÁËÒ»Ìõ¼Ç¼£¬µ«¸ÃÓû§»¹Ã»ÓÐȨÏÞ¡£
ɾ³ýÓû§
drop user ¡®Óû§Ãû¡¯@¡¯ÔÊÐíÆäµÇ¼µÄµØÖ·¡¯£»
ÐÞ¸ÄÓû§ÃÜÂë
ÐÞ¸Ä×Ô¼ºÃÜÂ룺 set password = password(¡®ÐÂÃÜÂ롯);
ÐÞ¸ÄËûÈËÃÜÂ루±ØÐëÓÐÐÞ¸ÄȨÏÞ£©£º
set password for ¡®Óû§Ãû¡¯@¡¯ÔÊÐíÆäµÇ¼µÄµØÖ·¡¯
= password(¡®ÐÂÃÜÂ롯);
ȨÏÞ·ÖÅä
Ôö¼ÓȨÏÞ£º
grant ȨÏÞÃû1£¬È¨ÏÞÃû2£¬ .... on Êý¾Ý¿âÃû£®¶ÔÏóÃû¡¡to
¡®Óû§Ãû¡¯@¡¯ÔÊÐíÆäµÇ¼µÄµØÖ·¡¯ identified by ¡®ÃÜÂ롯£»
˵Ã÷£º
1ȨÏÞÃû¾ÍÊÇ£º¡¯select¡¯, ¡®update¡¯, ¡®delete¡¯,µÈµÈ¡£ÆäÖÐALL
±íʾ¡°ËùÓÐȨÏÞ¡±£¬»òall privilegesÒ²Ò»Ñù
2¶ÔÏóÃû£º¾ÍÊÇÒ»¸öÊý¾Ý¿âÖС°×°¡±µÄ¶«Î÷£¬±íÊÇ×î³£¼ûµÄ£¬Ò²¿ÉÒÔÊÇÊÓͼ£¬´æ´¢¹ý³Ì£¬´æ´¢º¯ÊýµÈ¡£
ÆäÖУº*£®*±íʾËùÓÐÊý¾ÝÖеÄËùÓжÔÏó
ijÊý¾Ý¿âÃû£®*±íʾ¸ÃÊý¾Ý¿âÖеÄËùÓжÔÏ󡪡ªÕâ¸öÉÌÒµÉϳ£Óá£
3£¬identified by ¡®ÃÜÂ롯ÓÃÓÚ¸øÒ»¸öÓû§ÔÚ´ËʱÐÞ¸ÄÃÜÂ룬²»Ð´Ò²¿ÉÒÔ£¬ÄǾͲ»ÐÞ¸ÄÃÜÂë¡£
4£¬µ«Í¬Ê±¸ÃÓï¾äÒ²¿ÉÒÔ´´½¨Óû§£¨Èç¹û²»´æÔÚ£©£¬µ«´Ëʱidentified
by ¡®ÃÜÂ롯±ØÐëд¡£
ɾ³ýȨÏÞ
revoke ȨÏÞÃû1£¬È¨ÏÞÃû2£¬ .... on Êý¾Ý¿âÃû£®¶ÔÏóÃû¡¡from
¡®Óû§Ãû¡¯@¡¯ÔÊÐíÆäµÇ¼µÄµØÖ·¡¯ ;
±íʾ´Óij¸öÓû§ÉíÉÏ¡°È¡Ïû¡±Ä³Ð©È¨ÏÞ£¨Ò²Ðí»¹±£ÁôÁËÆäËûȨÏÞ£©¡£
ÊÂÎñ¿ØÖÆÓïÑÔ£¨DTL£©
ʲôÊÇÊÂÎñ
ͨ³££¬ÔÚ´Ë֮ǰ£¬ÎÒÃÇ˵£¬Ò»ÌõÓï¾äʹÓÃÒ»¸ö·ÖºÅ£¨;£©À´½áÊø£¬²¢µÃµ½Ö´ÐС£
ÄÇôÎÒÃÇ˵£¬Õâ¸ö¡°Ò»´ÎÐÔÖ´ÐС±µÄ¹ý³Ì£¬¿ÉÒÔ³ÆÎª¡°Ò»¸öÊÂÎñ¡±¡£
¼òµ¥À´Ëµ£¬¡°Ò»Ìõ£ó£ñ£ìÓï¾ä£¬¾ÍÊÇÒ»¸öÊÂÎñ¡±¡£
Ôò£º
Êý¾Ý¿â£¨×ÔÈ»°üÀ¨mysqlÊý¾Ý¿â£©ÖеÄÊÂÎñ£¬ÊÇÖ¸£¬¿ÉÒÔ½«¡°¶àÌõÓï¾ä¡±µÄÖ´ÐУ¬µ±×÷¡°Ò»ÌõÓï¾ä¡±À´¿´µ½µÄÒ»ÖÖÄÚ²¿»úÖÆ¡£
¼´£º¡°ÊÂÎñ¡±ÊÇÒ»ÖÖ¿ÉÒÔ±£Ö¤¡°¶àÌõÓï¾äÒ»´ÎÐÔÖ´ÐÐÍê³É¡±»ò¡°Ò»Ìõ¶¼²»Ö´ÐС±µÄ»úÖÆ¡£
ÊÂÎñ¿ÉÒÔ¿´×÷ÊÇÒ»¸ö¡°ÈÝÆ÷¡±£¬½«¶àÌõÓï¾ä£¬·ÅÈë¸ÃÈÝÆ÷£¬×îºó£¬Ö»ÒªÒ»¸öÃüÁîÐУ¬À´¾ö¶¨ÆäÖеÄËùÓÐÓï¾äÊÇ·ñ¡°Ö´ÐС±
ÊÂÎñµÄÌØµã
Ô×ÓÐÔ£ºÒ»¸öÊÂÎñÖеÄËùÓÐÓï¾ä£¬Ó¦¸Ã×öµ½£ºÒªÃ´È«×ö£¬ÒªÃ´Ò»¸ö¶¼²»×ö£»
Ò»ÖÂÐÔ£ºÈÃÊý¾Ý±£³ÖÂß¼Éϵġ°ºÏÀíÐÔ¡±£¬±ÈÈ磺һ¸öÉÌÆ·³ö¿âʱ£¬¼ÈÒªÈÃÉÌÆ·¿âÖеĸÃÉÌÆ·ÊýÁ¿¼õ1£¬ÓÖÒªÈöÔÓ¦Óû§µÄ¹ºÎï³µÖеĸÃÉÌÆ·¼Ó1£»
¸ôÀëÐÔ£ºÈç¹û¶à¸öÊÂÎñͬʱ²¢·¢Ö´ÐУ¬µ«Ã¿¸öÊÂÎñ¾ÍÏñ¸÷×Ô¶ÀÁ¢Ö´ÐÐÒ»Ñù¡£
³Ö¾ÃÐÔ£ºÒ»¸öÊÂÎñÖ´Ðгɹ¦£¬Ôò¶ÔÊý¾ÝÀ´ËµÓ¦¸ÃÊÇÒ»¸öÃ÷È·µÄÓ²ÅÌÊý¾Ý¸ü¸Ä£¨¶ø²»½ö½öÊÇÄÚ´æÖеı仯£©¡£
ÊÂÎñģʽ£º¾ÍÊÇÈÃÿÌõÖ´ÐÐÓï¾äÊÇ·ñµ±×÷¡°Ò»¸öÊÂÎñ¡±À´¿´µ½µÄÉ趨Ïî¡£
mysqlĬÈϰ²×°ºÃÖ®ºó£¬ÆäÊÂÎñģʽÊÇ£ºÒ»ÌõÓï¾äµ±×÷Ò»¸öÊÂÎñ¡£
ÊÂÎñµÄ»ù±¾ÊµÏÖÁ÷³Ì£º
1£¬ÉùÃ÷ÊÂÎñ¿ªÊ¼£ºstart¡¡transaction£»
2£¬ É趨¶àÌõÒªÖ´ÐеľßÌåÓï¾ä£¬±ÈÈ磺insert£¬ update£¬
delete, select¡£¡£¡£Æäʵ¾ÍÊÇÖ´ÐУ¬Ö»ÊÇÕâЩִÐеÄÓï¾ä£¬²¢²»¡°ÉúЧ¡±¡ª¡ªÆäÖ»ÊÇÄÚ´æ×´Ì¬ÏµÄÖ´ÐУ¬¶ø²»ÊÇÎïÀí״̬µÄÖ´ÐС£
3£¬ÅжÏÊÇ·ñÐèÒªÖ´ÐиÃЩÓï¾ä£º
if( ÅжÏÊÇ·ñÓдíÎó£©{
//Ö´ÐСª¡ª²ÅÕë¶ÔÖ´ÐÐÁËÎïÀíÐԸı䡪¡ª¼´ÉúЧ¡£
commit;
}
eslse{
//»Ø¹ö¡ª¡ª²»Ö´ÐÐÈκÎÓï¾ä¡£
rollback;
} |
ÅжÏÊÇ·ñÓдíÎóͨ³£·ÖÕâÁ½ÖÖ»·¾³£º
1£¬Èç¹ûÊÇcmdÖУ¬Ö±½Ó¹Û²ìÊÇ·ñ³ö´í¡£
2£¬Èç¹ûÊÇphp³ÌÐòÖУ¬ÄǾÍÐèҪʹÓà mysql_error()º¯ÊýÀ´ÅжÏÊÇ·ñÓÐ´í¡£
Ò»¸öÊÂÎñÓжàÌõÓï¾ä£¬Èç¹ûÈ«²¿ÕýÈ·£¬Ôòcommit£¬Èç¹ûÓÐÆäÖÐÈÎÒâÒ»Ìõ»òÒ»ÌõÒÔÉÏ·¢Éú´íÎó£¬Ôòrollback£»
mysql±à³Ì
»ù±¾Óï·¨ÐÎʽ
Óï¾ä¿éģʽ£º

ÔÚmysql±à³ÌÖУ¬begin....end;»ù±¾´úÌæÁËÔÀ´±à³ÌÓï¾äÖеÄ{...}Óï·¨¡£
µ«ÓÖÓÐËùÇø±ð£º
Ò»¸öbigin...end;¿é£¬¿ÉÒÔ¸ø¶¨Ò»¸ö¡°±êʶ·û¡±£¬²¢ÇÒ¿ÉÒÔʹÓÃleaveÓï¾äÀ´¡°Í˳ö¡±¸ÃÓï¾ä¿é¡£
»ù±¾Á÷³Ì¿ØÖÆÓï¾ä£º
ifÓï¾ä£º

caseÓï¾ä£º£¨ÀàËÆphpÖеÄswitch£©

whileÑ»·Óï¾ä£º

mysqlÖеıäÁ¿
±äÁ¿ËüÓÐÒ»¶¨µÄʹÓó¡¾°ÏÞÖÆ£¨Æäʵ°üÀ¨Ç°ÃæµÄÁ÷³Ì¿ØÖÆÓï¾äÒ²ÕâÑù£©£º
ÔÚͨ³£µÄÖ´Ðи÷ÖÖcreate£¬insert£¬delete£¬update£¬selectµÈÓï¾äµÄ¡°»·¾³¡±ÖУ¬²¢²»Ê¹Ó󣹿±äÁ¿£¬Ò²²»ÄÜʹÓÃÁ÷³Ì¿ØÖÆÓï¾ä¡£
Æäʵ£¬ÕâЩÓï¾äÖ»ÄÜÔÚ±à³Ì»·¾³ÖÐÓ᪡ªÍ¨³£µÄÔöɾ¸Ä²é£¬¿ÉÒÔ³ÆÎªÃüÁî»·¾³¡£
³£¹æmysqlÃüÁî»·¾³£¬¿ÉÒÔÖ´ÐУºÔöɾ¸Ä²é
±à³Ì»·¾³£º´æ´¢º¯ÊýÖУ¬´æ´¢¹ý³ÌÖУ¬´¥·¢Æ÷ÖС£
ÆÕͨ±äÁ¿µÄÉùÃ÷Óï·¨£º
declare ±äÁ¿Ãû ±äÁ¿ÀàÐÍ [default ³õʼֵ]
±äÁ¿µÄ¸³ÖµÓï·¨£º
set ±äÁ¿Ãû = ±äÁ¿Öµ
mysql»¹ÓÐÒ»ÖÖ±äÁ¿ÐÎʽ£¬¿ÉÒÔ³ÆÎª¡°»á»°±äÁ¿¡±
»á»°±äÁ¿µÄÐÎʽΪ£º @±äÁ¿Ãû£»
»á»°±äÁ¿ÎÞÐèµ¥¶ÀÉùÃ÷£¬¶øÊÇÖ±½Ó¸³Öµ¾Í¿ÉÒÔ£¬ÀàËÆphp
»á»°±äÁ¿µÄ¸³Öµ£º set ±äÁ¿Ãû = Öµ£»
»á»°±äÁ¿¿ÉÒÔÔÚÆÕͨÃüÁîÐл·¾³Öлò±à³Ì»·¾³ÖÐʹÓá£
×ÛÉÏËùÊö:¡¡ Óï·¨1£ºset ±äÁ¿Ãû = ±í´ïʽ£»#´ËÓï·¨ÖеıäÁ¿±ØÐëÏÈʹÓÃdeclareÉùÃ÷
Óï·¨2£ºset @±äÁ¿Ãû = ±í´ïʽ£» #´Ë·½Ê½¿ÉÒÔÎÞÐèdeclareÓï·¨ÉùÃ÷£¬¶øÊÇÖ±½Ó¸³Öµ£¬ÀàËÆphp¶¨Òå±äÁ¿²¢¸³Öµ¡£
Óï·¨3£ºselect @±äÁ¿Ãû := ±í´ïʽ£»#´ËÓï¾ä»á¸ø¸Ã±äÁ¿¸³Öµ£¬Í¬Ê±»¹»á×÷Ϊһ¸öselectÓï¾äÊä³ö¡°½á¹û¼¯¡±¡£
Óï·¨4£ºselect ±í´ïʽ into @±äÁ¿Ãû£»#´ËÓï¾äËäÈ»¿´ÆðÀ´ÊÇselectÓï¾ä£¬µ«Æäʵ²¢²»Êä³ö¡°½á¹û¼¯¡±£¬¶øÖ»ÊǸø±äÁ¿¸³Öµ¡£
×ܽá---Á½ÖÖ±äÁ¿£º
ÆÕͨ±äÁ¿£º²»´ø£À·û£¬Ö±½ÓдÃû×Ö£¬±ØÐëÏÈÉùÃ÷£¬ºóʹÓ㨸³ÖµÖ®Àࣩ£¬Ö»ÄÜÓÃÓÚ±à³Ì»·¾³
»á»°±äÁ¿£º´ø£À·û£¬ÎÞÐèÉùÃ÷£¬Ö±½ÓʹÓã¨Ïȸ³Öµ£©£¬¿ÉÒÔÓÃÓÚ£²ÖÖ»·¾³¡£
´æ´¢º¯Êý
µ÷ÓÃÐÎʽ£º
¸úϵͳº¯ÊýµÄµ÷ÓÃÐÎʽһÑù£¬Ö±½ÓʹÓÃÃû×Ö£¬²¢´øÀ¨ºÅ£¬ÒÔ¼°¸ù¾ÝÐèÒª´øÊµ²Î¡£
±ÈÈ磺
select 3, now(), f1(); //f1Ϊ×Ô¶¨ÒåµÄ´æ´¢º¯Êý¡£
select 3, now(), f2(3, ¡®abc¡¯, @v1);
//´ø3¸öʵ²Î£¬ÆäÖÐ@v1ÊÇÒ»¸öÇ°Ãæ¸³ÖµÁ˵ıäÁ¿¡£
ɾ³ý£ºdrop function [if exists] ´æ´¢º¯ÊýÃû£»
´æ´¢¹ý³Ì
´æ´¢¹ý³Ì¾ÍÊÇÒ»¸öûÓзµ»ØÖµÊý¾ÝÖµµÄ¡°º¯Êý¡±¡£
ËäÈ»´æ´¢¹ý³Ì²»·µ»Øµ¥¸öÊý¾ÝÖµ£¬µ«¿ÉÒÔ¡°·µ»Ø¡±½á¹û¼¯¡ª¡ªÕâÀïµÄ·µ»ØÆðʼ¾ÍÊÇselectÓï¾äµÄÕý³£½á¹û±íÏÖ¡£
¶¨ÒåÐÎʽ£º

ÆäÖУ¬
in£¬out£¬inoutÓÃÓÚÐÞÊÎÒ»¸öÐβεġ°Êý¾ÝÁ÷Ïò¡±£º
in£ºÖ»×÷ΪÍⲿÊäÈëÊý¾Ý£¬µ÷Óû·¾³´«Èë´æ´¢¹ý³ÌÄÚ²¿£¬Ä¬ÈÏÖµ¡£
out£ºÖ»×÷ΪÊä³öÊý¾Ý£¬¼´´æ´¢¹ý³Ì´«³öµ½µ÷Óû·¾³¡£
inout£º¾ßÓÐË«ÖØ¡£
´æ´¢¹ý³Ìµ÷ÓÃÐÎʽ£º
call ´æ´¢¹ý³ÌÃû£¨Êµ²Î1£¬Êµ²Î2£¬.....£©£»
ɾ³ý£ºdrop procedure [if exists] ´æ´¢¹ý³ÌÃû£»
´¥·¢Æ÷
ʲô½Ð´¥·¢Æ÷£º
¾ÍÊÇmysqlÖеÄÒ»ÖÖ¡°Ò»´¥¼´·¢¡±µÄ»úÆ÷£¨»úÖÆ£©¡£
ÆäʵֻÊÇÔ¤Ïȶ¨ÒåºÃµÄÒ»¶Î´úÂë¡£¸Ã¶Î´úÂëÎÞÐèÈ˹¤µ÷Ó㬶øÊÇ»áÔÚ¡®Ô¤¼Æ¡¯ºÃµÄij¸öÇéÐÎÏÂ×Ô¶¯Ö´ÐС£
ͨ³£¾ÍÕ⼸¸öÇéÐΣº
¶Ôij¸öÊý¾Ý±íµÄÔö£¨»òɾ»ò¸Ä£©Ö®Ç°£¨»òÖ®ºó£©¡£ //ÿ¸ö±í¿É¼ûÖ»ÓÐ6ÖÖÇéÐΡ£
´¥·¢Æ÷ÄÚ²¿Ò²¸ú´æ´¢¹ý³Ì»ò´æ´¢º¯ÊýÒ»Ñù£¬ÊôÓÚ¡°±à³Ì»·¾³¡±¡£
¶¨ÒåÐÎʽ£º
create trigger
´¥·¢Æ÷Ãû×Ö before£¨»òafter£© insert£¨»òupdate »òdelete £©
on ±íÃû for each row
begin
ÒªÖ´ÐеĴúÂ룬Óï¾ä¿é£¬±à³Ì»·¾³£¬µ«ÕâÀïÒ²²»ÄÜʹÓÃselect Óï¾ä¡£
end£» |
ÔÚ´¥·¢Æ÷ÄÚ²¿£¬ÆäÖÐÓÐÁ½¸ö¹Ø¼ü×Ö¾ßÓÐÌØ¶¨º¬ÒåºÍÊý¾Ý»ñÈ¡×÷Óãº
new£º´ú±íвåÈëµÄÒ»ÌõÊý¾Ý£¬ÔÚinsertʼþµÄʱºòÓÐЧ¡£
old£º´ú±í¾ÉµÄÒ»ÌõÊý¾Ý£¬ÔÚupdate»òdeleteµÄʱºòÓÐЧ¡£
ɾ³ý´¥·¢Æ÷£º drop trigger ´¥·¢Æ÷Ãû |