¸ßÐÔÄÜMYSQL¶ÁÊé±Ê¼Ç£ºMYSQL×¼±¸Óï¾ä
MYSQL4.1¼°¸ü¸ß°æ±¾Ö§³Ö·þÎñÆ÷¶Ë×¼±¸Óï¾ä(Prepared Statements), ËüʹÓÃÔöÇ¿µÄ¶þ½øÖƿͻ§¶Ë/·þÎñÆ÷ÐÒéÔÚ¿Í»§¶ËºÍ·þÎñÆ÷Ö®¼ä¸ßЧµÄ·¢ËÍÊý¾Ý£¬¿ÉÒÔͨ¹ýÖ§³ÖÕâÖÖÐÐÐÒéµÄ±à³Ì¿âÀ´·ÃÎÊ×¼±¸Óï¾ä£¬ÁÐÈëMYSQL CAPI,MYSQL Connector/JºÍMYSQL Connector/NET ΪJAVAºÍ.NETÌṩÁËͬÑùµÄ·ÃÎʽӿڡ£ËüÒ²ÓÐSQLÓïÑԵķÃÎʽӿڡ£
´´½¨×¼±¸Óï¾äʱ£¬¿Í»§¶Ë¿â»áÏñ·þÎñÆ÷·¢ËÍÒ»¸öʵ¼Ê²éѯµÄÔÐÍ£¬È»ºó·þÎñÆ÷¶Ô¸ÃÔÐͽøÐнâÎöºÍ´¦Àí£¬½«²¿·ÖÓÅ»¯¹ýµÄÔÐͱ£´æÆðÀ´£¬²¢ÇÒ¸ø¿Í»§¶Ë·µ»ØÒ»¸ö״̬¾ä±ú(State Handle) ¿Í»§¶Ë¿ÉÒÔͨ¹ý¶¨Òå״̬¾ä±úÖØ¸´µÄÖ´Ðвéѯ¡£
¿ÉÒÔ°´ÏÂÃæµÄ·½Ê½×¼±¸²éѯ£º
INSERT INTO table(col1,col2,col3) VALUES(?,?,?);
MYSQLΪ׼±¸Óï¾äÌṩÁËSQLÓïÑÔ½Ó¿Ú¡£ÀýÈ磺
SET @sql = 'SELECT col1,col2,col3' from table where col1 = ?';
PREPARE stmt_fetch_actor from @sql;
SET @name = 'test';
EXECUTE smtm_fetch_actor USING @name;
DEALLOCATE PREPARE smtm_fetch_actor;
ÔÚMYSQL 5.0ÖпÉÒÔÔÚ´æ´¢¹ý³ÌÖÐʹÓÃ×¼±¸Óï¾ä¡£
×¼±¸Óï¾ä»á±È¶à´ÎÖ´ÐвéѯЧÂʸߺܶ࣬¾ßÌåÔÒòÈçÏ£º
1.·þÎñÆ÷Ö»ÐèÒª½âÎöÒ»´Î²éѯ£¬Õâ½ÚÔ¼Á˽âÎöºÍÆäËû¿ªÏú
2.ÒòΪ·þÎñÆ÷»º´æÁËÒ»²¿·ÖÖ´Ðмƻ®£¬ËùÒÔËüÖ»ÐèÒªÖ´ÐÐijЩÓÅ»¯²½ÖèÒ»´Î¡£
ͨ¹ý¶þ½øÖÆ·¢ËͲÎÊý±Èͨ¹ýASCIIÂëÒª¿ìµÄ¶à£¬±ÈÈ磬ͨ¹ý¶þ½øÖÆ·¢ËÍDATEÀàÐ͵IJÎÊýÖ»ÐèÒª3×Ö½Ú£¬µ«Í¨¹ýASCIIÂë·¢ËÍÐèÒª10¸ö×Ö½Ú¡£½â¾öµÄЧ¹û¶ÔÓÚBLOBºÍTEXTÀàÐÍ×îΪÏÔÖø¡£ÒòΪËûÃÇ¿ÉÒԳɿéµÄ·¢ËÍ¡£¶ø²»ÊÇÒ»¸ö¸öµÄ·¢ËÍ¡£¶þ½øÖÆÐÒéÒ²°ï¿Í»§¶Ë½ÚÔ¼ÁËÄڴ棬ͬʱ¼õÉÙÁËÍøÂ翪ÏúºÍÊý¾Ý´Ó±¾ÉíµÄÀàÐÍת»»Îª·Ç¶þ½øÖÆÐÒéµÄ¿ªÏú¡£
3.Õû¸ö²éѯ²»»á±»·¢Ë͵½·þÎñÆ÷¡£Ö»ÓвÎÊý²Å»á±»·¢ËÍ£¬¼õÉÙÁËÍøÂçÁ÷Á¿¡£
4.MYSQLÖ±½Ó°É²ÎÊý±£´æÔÚ·þÎñÆ÷µÄ»º³åÇøÄÚ£¬²»ÐèÒªÔÚÄÚ´æÖе½´¦¿½±´Êý¾Ý¡£
5.×¼±¸Óï¾ä¶ÔÓÚ°²È«ÐÔÒ²Óкô¦£¬Ëü²»ÐèÒªÔÚÓ¦ÓóÌÐòÖжÔÖµ½øÐÐ×ªÒÆºÍ¼ÓÒýºÅ¡£Õâ¸ü¼Ó·½±ã£¬²¢ÇÒ¼õÉÙÁËSQLÔâÊÜ×¢Èë¹¥»÷ºÍÆäËû¹¥»÷µÄ¿ÉÄÜ(ÓÀÔ¶Ò²²»ÄÜÐÅÈÎÓû§µÄÊäÈ룬¼´Ê¹Ê¹ÓÃ×¼±¸Óï¾äÒ²²»ÄÜ)
Ö»ÓÐ×¼±¸Óï¾äÄÜʹÓöþ½øÖÆÐÒ飬ʹÓÃÆÕͨµÄMSYQL_QUERY()º¯ÊýÌá½»²éѯ²»»áʹÓöþ½øÖÆÐÒ飬
×¼±¸Óï¾äµÄ¾ÖÏÞ£º
1.×¼±¸Óï¾äÖ»Õë¶ÔÒ»¸öÁ¬½Ó£¬ËùÒÔÁíÍâµÄÁ¬½Ó²»ÄÜʹÓÃͬÑùµÄ¾ä±ú£¬´¦ÓÚͬÑùµÄÔÒò£¬Ò»¸öÏȶϿªÔÙÖØÐÂÁ¬½ÓµÄ¿Í»§¶Ë»á¶ªÊ§¾ä±ú(Á¬½Ó³Ø»î³ÖÐøÁ¬½Ó»á¼õÇáÕâ¸öÎÊÌâ)
2.×¼±¸Óï¾ä²»ÄÜʹÓÃMYSQL5.0ÒÔǰµÄ°æ±¾»º´æ
3.ʹÓÃ×¼±¸Óï¾ä²¢²»×ÜÊǸßЧ£¬Èç¹ûֻʹÓÃÒ»´Î×¼±¸Ó
Ïà¹ØÎĵµ£º
1£ºMysql ÃüÁî²»¿ÉÒÔÖ´ÐÐ
ÔÒò £ººÇºÇ ±ÈÈç show databases µÄÃüÁî £¬Ö´ÐÐÍêÖ®ºó ɶҲûÓÐ £¬×Ðϸ ÕÒÁËÔÒò £¬Oh my god ÉÙÁË ·ÖºÅ¡£
Ӧд³É£ºshow databases;
2£ºÃüÁîÐÐÖÐÎÄÂÒÂëÎÊÌâ
ÏÖÏó£ºmysqlµÄĬÈϱàÂëÉèÖÃΪutf-8£¬Ò³ÃæÒÔutf-8µÄ±àÂ뷽ʽдÈëµ½Êý¾Ý¿â¡£Óù¤¾ß²é¿´Ò»ÇÐÕý³££¬µ«´ÓmysqlµÄÃüÁîÐжÁÊý¾Ý³öÀ´× ......
Ò»,½ñÌì¸ø´ó¼Ò½²Ò»ÏÂ,×öÁôÑÔµÄÒ»ÖÖ×·¼ÓµÄ·½Ê½Ö÷ÒªÈç¹ûµ±Ç°ÓÐÁôÑÔ,¾Í¸üе±Ç°µÄÁôÑÔÒÔ×·¼ÓµÄ·½Ê½,Èç¹ûûÄÜÁôÑԾͽ«ÈëÒ»ÌõеÄ
mysql:insert into `table` (field) values ('$value') on duplicate key update `field`=concat('value',ifnull(`field`,''));
¾ßÌå±¾ÌõSQLµÄÓ÷¨,Çë²é¿´ÊÖ²á
¶þ,½²Ò»ÏÂͳ¼ÆµÄÓ÷¨,Ö÷Òª½éÉÜÈçº ......
¸ñʽ£ºgrant [PRIVILEGES] on [databaseName.tableName] to [userName]@[host] identified by [password] with grant option;
eg1: grant select on mysql.user to wqh@localhost
eg2:GRANT SELECT,INSERT,UPDATE,DELETE,CREATE ......
mysqlÖÐINSTRº¯ÊýµÄÓ÷¨
INSTR(×Ö¶ÎÃû, ×Ö·û´®)
Õâ¸öº¯Êý·µ»Ø×Ö·û´®ÔÚijһ¸ö×ֶεÄÄÚÈÝÖеÄλÖÃ, ûÓÐÕÒµ½×Ö·û´®·µ»Ø0£¬·ñÔò·µ»ØÎ»Ö㨴Ó1¿ªÊ¼£©
SELECT * from tblTopic ORDER BY INSTR( topicTitle, 'ha' ) > 0 DESC
SELECT INSTR( topicTitle, 'ha' ) from tblTopic
mysqlÖÐʹÓÃinstrÅäºÏINÅÅÐò
½«instr½á¹û×÷Î ......
1¡¢Ñ¡È¡×îÊÊÓõÄ×Ö¶ÎÊôÐÔ
¡¡¡¡MySQL¿ÉÒԺܺõÄÖ§³Ö´óÊý¾ÝÁ¿µÄ´æÈ¡£¬µ«ÊÇÒ»°ã˵À´£¬Êý¾Ý¿âÖеıíԽС£¬ÔÚËüÉÏÃæÖ´ÐеIJéѯҲ¾Í»áÔ½¿ì¡£Òò´Ë£¬ÔÚ´´½¨±íµÄʱºò£¬ÎªÁË»ñµÃ¸üºÃµÄÐÔÄÜ£¬ÎÒÃÇ¿ÉÒÔ½«±íÖÐ×ֶεĿí¶ÈÉèµÃ¾¡¿ÉÄÜС¡£ÀýÈ磬ÔÚ¶¨ÒåÓÊÕþ±àÂëÕâ¸ö×Ö¶Îʱ£¬Èç¹û½«ÆäÉèÖÃΪCHAR(255),ÏÔÈ»¸øÊý¾Ý¿âÔö¼ÓÁ˲»±ØÒªµÄ¿Õ¼ä£¬ÉõÖÁÊ ......