1£º ASCII(str) ¡¡·µ»Ø×Ö·û´®strµÄµÚÒ»¸ö×Ö·ûµÄASCIIÖµ(strÊǿմ®Ê±·µ»Ø0) mysql> select ASCII('2'); ¡¡¡¡-> 50 mysql> select ASCII(2); ¡¡¡¡-> 50 mysql> select ASCII('dete'); ¡¡¡¡-> 100
2£ºORD(str) ¡¡Èç¹û×Ö·û´®str¾äÊ×Êǵ¥×Ö½Ú·µ»ØÓëASCII()º¯Êý·µ»ØµÄÏàֵͬ¡£¡¡Èç¹ûÊÇÒ»¸ö¶à×Ö½Ú×Ö·û,ÒÔ¸ñʽ·µ»Ø((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...] mysql> select ORD('2'); ¡¡¡¡-> 50
3£ºCONV(N,from_base,to_base) ¡¡¶ÔÊý×ÖN½øÖÆ×ª»»,²¢×ª»»Îª×Ö´®·µ»Ø(ÈκβÎÊýΪNULLʱ·µ»ØNULL,½øÖÆ·¶Î§Îª2-36½øÖÆ,µ±to_baseÊǸºÊýʱN×÷ΪÓзûºÅÊý·ñÔò×÷ÎÞ·ûºÅÊý,CONVÒÔ64λµã¾«¶È¹¤×÷) mysql> select CONV("a",16,2); ¡¡¡¡-> '1010' mysql> select CONV("6E",18,8); ¡¡¡¡-> '172' mysql> select CONV(-17,10,-18); ¡¡¡¡-> '-H' mysql> select CONV(10+"10"+'10'+0xa,10,10); ¡¡¡¡-> '40'
4£ºBIN(N) ¡¡°ÑNתΪ¶þ½øÖÆÖµ²¢ÒÔ×Ö´®·µ»Ø(NÊÇBIGINTÊý×Ö,µÈ¼ÛÓÚCONV(N,10,2)) mysql> select BIN(12); ¡¡¡¡-> '1100'
5£ºOCT(N) ¡¡°ÑNתΪ°Ë½øÖÆÖµ²¢ÒÔ×Ö´®·µ»Ø(N ......
1¡¢Ñ¡È¡×îÊÊÓõÄ×Ö¶ÎÊôÐÔ
¡¡¡¡MySQL¿ÉÒԺܺõÄÖ§³Ö´óÊý¾ÝÁ¿µÄ´æÈ¡£¬µ«ÊÇÒ»°ã˵À´£¬Êý¾Ý¿âÖеıíԽС£¬ÔÚËüÉÏÃæÖ´ÐеIJéѯҲ¾Í»áÔ½¿ì¡£Òò´Ë£¬ÔÚ´´½¨±íµÄʱºò£¬ÎªÁË»ñµÃ¸üºÃµÄÐÔÄÜ£¬ÎÒÃÇ¿ÉÒÔ½«±íÖÐ×ֶεĿí¶ÈÉèµÃ¾¡¿ÉÄÜС¡£ÀýÈ磬ÔÚ¶¨ÒåÓÊÕþ±àÂëÕâ¸ö×Ö¶Îʱ£¬Èç¹û½«ÆäÉèÖÃΪCHAR(255),ÏÔÈ»¸øÊý¾Ý¿âÔö¼ÓÁ˲»±ØÒªµÄ¿Õ¼ä£¬ÉõÖÁʹÓÃVARCHARÕâÖÖÀàÐÍÒ²ÊǶàÓàµÄ£¬ÒòΪCHAR(6)¾Í¿ÉÒԺܺõÄÍê³ÉÈÎÎñÁË¡£Í¬ÑùµÄ£¬Èç¹û¿ÉÒԵϰ£¬ÎÒÃÇÓ¦¸ÃʹÓÃMEDIUMINT¶ø²»ÊÇBIGINÀ´¶¨ÒåÕûÐÍ×ֶΡ£
¡¡¡¡ÁíÍâÒ»¸öÌá¸ßЧÂʵķ½·¨ÊÇÔÚ¿ÉÄܵÄÇé¿öÏ£¬Ó¦¸Ã¾¡Á¿°Ñ×Ö¶ÎÉèÖÃΪNOT NULL£¬ÕâÑùÔÚ½«À´Ö´ÐвéѯµÄʱºò£¬Êý¾Ý¿â²»ÓÃÈ¥±È½ÏNULLÖµ¡£
¡¡¡¡¶ÔÓÚijЩÎı¾×ֶΣ¬ÀýÈç“Ê¡·Ý”»òÕß“ÐԱ𔣬ÎÒÃÇ¿ÉÒÔ½«ËüÃǶ¨ÒåΪENUMÀàÐÍ¡£ÒòΪÔÚMySQLÖУ¬ENUMÀàÐͱ»µ±×÷ÊýÖµÐÍÊý¾ÝÀ´´¦Àí£¬¶øÊýÖµÐÍÊý¾Ý±»´¦ÀíÆðÀ´µÄËÙ¶ÈÒª±ÈÎı¾ÀàÐÍ¿ìµÃ¶à¡£ÕâÑù£¬ÎÒÃÇÓÖ¿ÉÒÔÌá¸ßÊý¾Ý¿âµÄÐÔÄÜ¡£
¡¡¡¡2¡¢Ê¹ÓÃÁ¬½Ó£¨JOIN£©À´´úÌæ×Ó²éѯ(Sub-Queries)
¡¡¡¡MySQL´Ó4.1¿ªÊ¼Ö§³ÖSQLµÄ×Ó²éѯ¡£Õâ¸ö¼¼Êõ¿ÉÒÔʹÓÃSELECTÓï¾äÀ´´´½¨Ò»¸öµ¥ÁеIJéѯ½á¹û£¬È»ºó°ÑÕâ¸ö½á¹û×÷Ϊ¹ýÂËÌõ¼þÓÃÔÚÁíÒ»¸ö²éѯÖС£ÀýÈ磬ÎÒÃÇÒª½«¿Í»§»ù±¾Ð ......
Unixʱ¼ä´Á×îСµ¥Î»ÊÇÃ룬¿ªÊ¼Ê±¼äΪ¸ñÁÖÍþÖαê׼ʱ¼ä1970-01-01 00:00:00
ConvertIntDateTime·½·¨µÄ»ù±¾Ë¼Â·ÊÇͨ¹ý»ñÈ¡±¾µØÊ±Çø±íʾUnixk¿ªÊ¼Ê±¼ä£¬¼ÓÉÏUnixʱ¼äÖµ£¨¼´¹ýÈ¥µÄÃëÊý£©.
ConvertDateTimeInt·½·¨µÄ»ù±¾Ë¼Â·ÊÇͨ¹ý¿Ì¶ÈÊý²î£¬Ôٰѿ̶ÈÊýת»»ÎªÃëÊý£¬µ±È»ÒªËµÃ÷µÄÊÇ£¬ÎÒÕâÀï·µ»ØµÄÊÇdoubleÀàÐÍ£¬ÒâÒåÉϲ¢·ÇÊÇÕæÕýµÄUnixʱ¼ä´Á¸ñʽ¡£
Òª»ñÈ¡ÕæÕýUnixʱ¼ä´ÁµÄ£¬Ö»»ñÈ¡ÕûÊý²¿·Ö¾Í¿ÉÒÔÁË¡£
dangranusing System;
using System.Collections.Generic;
using System.Text;
namespace WWFramework.DateTimes
{
/// <summary>
/// ʱ¼äÏà¹Øº¯Êý
/// </summary>
public static class Function
{
/// <summary>
/// ½«Unixʱ¼ä´Áת»»ÎªDateTimeÀàÐÍʱ¼ä
/// </summary>
/// <param name="d"> ......
Unixʱ¼ä´Á×îСµ¥Î»ÊÇÃ룬¿ªÊ¼Ê±¼äΪ¸ñÁÖÍþÖαê׼ʱ¼ä1970-01-01 00:00:00
ConvertIntDateTime·½·¨µÄ»ù±¾Ë¼Â·ÊÇͨ¹ý»ñÈ¡±¾µØÊ±Çø±íʾUnixk¿ªÊ¼Ê±¼ä£¬¼ÓÉÏUnixʱ¼äÖµ£¨¼´¹ýÈ¥µÄÃëÊý£©.
ConvertDateTimeInt·½·¨µÄ»ù±¾Ë¼Â·ÊÇͨ¹ý¿Ì¶ÈÊý²î£¬Ôٰѿ̶ÈÊýת»»ÎªÃëÊý£¬µ±È»ÒªËµÃ÷µÄÊÇ£¬ÎÒÕâÀï·µ»ØµÄÊÇdoubleÀàÐÍ£¬ÒâÒåÉϲ¢·ÇÊÇÕæÕýµÄUnixʱ¼ä´Á¸ñʽ¡£
Òª»ñÈ¡ÕæÕýUnixʱ¼ä´ÁµÄ£¬Ö»»ñÈ¡ÕûÊý²¿·Ö¾Í¿ÉÒÔÁË¡£
dangranusing System;
using System.Collections.Generic;
using System.Text;
namespace WWFramework.DateTimes
{
/// <summary>
/// ʱ¼äÏà¹Øº¯Êý
/// </summary>
public static class Function
{
/// <summary>
/// ½«Unixʱ¼ä´Áת»»ÎªDateTimeÀàÐÍʱ¼ä
/// </summary>
/// <param name="d"> ......
Ò»¸öÍøÓÑÔÚ̳×ÓÉÏÎʵ½µÄÎÊÌ⣬˵ÓÃMinGW GCC±àÒëÔËÐÐÒ»¸öÁ¬½ÓMySQLÊý¾Ý¿âµÄ³ÌÐòʱÓöµ½´íÎó£º
undefined reference to `mysql_init@4'
undefined reference to `mysql_real_connect@32'
undefined reference to `mysql_close@4'
ÎÒËìÈ¥MySQL¹ÙÍøÏÂÁ˸ö×îеÄWindows C Connector£¬È»ºó°´Õý³£Ë¼Â·Ð´Á˸ö×î¼òµ¥µÄÁ¬½Ó²âÊÔ³ÌÐò£¬¹ûÈ»³öÏÖÁËͬÑùµÄ´íÎó¡£
ºóÀ´ÔÚÍøÉϲéÁËÏ£¬Ò²¿´ÁËÏÂMysql¹ÙÍøÉϱðÈ˵ÄÌÖÂÛ£¬¾Ý³ÆMySQL¹Ù·½ÏÂÔØµÄWindows C¿ª·¢°üÖ»ÄÜÔÉú̬֧³ÖCL±àÒëÆ÷£¬¶øÓÃGCCÒ²²¢·Ç²»¿É£¬Ö»ÊÇÐèÒª×öһЩ¶îÍâµÄ¹¤×÷¡£ÏȽ«ºóÀ´ÊÔÑé³É¹¦µÄ²½Öè±Ê¼ÇÓÚ´Ë£¬Ö÷Òª²Î¿¼ÓÐhttp://dev.mysql.com/doc/refman/5.0/en/windows-client-compiling.html¡£
ÏÈÏÂÔØÒ»ÏÂMinGW¹¤¾ß°ü£¬ÏÂÔØµØÖ·ÊÇhttp://prdownloads.sourceforge.net/mingw/mingw-utils-0.2.tar.gz?download
½âѹ£¬½«´Ë¹¤¾ß°üÖеÄbinĿ¼¼ÓÈëϵͳ»·¾³±äÁ¿µÄPath±äÁ¿¡£
ÔÚMysql¿ª·¢°üµÄlibĿ¼Ï£¬¼´libmysql.libºÍlibmysql.dllµÄËùÔÚĿ¼£¬ÔËÐÐ
reimp -d libmysql.lib
µÃµ½µ¼³ ......
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.ÒòΪ·þÎñÆ÷»º´æÁËÒ»²¿·ÖÖ ......
mysql 5.0´æ´¢¹ý³Ìѧϰ×ܽá
Ò».´´½¨´æ´¢¹ý³Ì
1.»ù±¾Óï·¨£º
create procedure sp_name()
begin
………
end
2.²ÎÊý´«µÝ
¶þ.µ÷Óô洢¹ý³Ì
1.»ù±¾Óï·¨£ºcall sp_name()
×¢Ò⣺´æ´¢¹ý³ÌÃû³ÆºóÃæ±ØÐë¼ÓÀ¨ºÅ£¬ÄÄŸô洢¹ý³ÌûÓвÎÊý´«µÝ
Èý.ɾ³ý´æ´¢¹ý³Ì
1.»ù±¾Óï·¨£º
drop procedure sp_name//
2.×¢ÒâÊÂÏî
(1)²»ÄÜÔÚÒ»¸ö´æ´¢¹ý³ÌÖÐɾ³ýÁíÒ»¸ö´æ´¢¹ý³Ì£¬Ö»Äܵ÷ÓÃÁíÒ»¸ö´æ´¢¹ý³Ì
ËÄ.Çø¿é£¬Ìõ¼þ£¬Ñ»·
1.Çø¿é¶¨Ò壬³£ÓÃ
begin
……
end;
Ò²¿ÉÒÔ¸øÇø¿éÆð±ðÃû£¬È磺
lable:begin
………..
end lable;
¿ÉÒÔÓÃleave lable;Ìø³öÇø¿é£¬Ö´ÐÐÇø¿éÒÔºóµÄ´úÂë
2.Ìõ¼þÓï¾ä
if Ìõ¼þ then
statement
else
statement
end if;
3.Ñ»·Óï¾ä
(1).whileÑ»·
[label:] WHILE expression DO
statements
END WHILE [label] ;
(2).loopÑ»·
[label:] LOOP
statements
END LOOP [label];
(3).repeat untilÑ»·
[label:] REPEAT
statements
UNTIL expression
END REPEAT [label] ;
Îå.ÆäËû³£ÓÃÃüÁî
1.show procedure status
ÏÔʾÊý¾Ý¿âÖÐËùÓд洢µÄ´ ......