MySQLÖÐÎIJο¼ÊÖ²áÒëÕߣºêÌ×Ó (clyan@sohu.com£© Ö÷Ò³£ºhttp://linuxdb.yeah.net
µÚÒ»ÕÂ, ǰһÕÂ, ÏÂÒ»ÕÂ, ×îºóÒ»Õ£¬Ä¿Â¼.
Ò»¸ö×Ö·û´®ÊÇÒ»¸ö×Ö·ûÐòÁУ¬Óɵ¥ÒýºÅ(¡°'¡±)»òË«ÒýºÅ(¡°"¡±)×Ö·û(ºóÕßÖ»ÓÐÄã²»ÔÚANSIģʽÔËÐÐ)°üΧ¡£ÀýÈ磺
'a string' "another string"
ÔÚ×Ö·û´®ÄÚ£¬Ä³¸ö˳ÐòÓÐÌØÊâµÄÒâÒå¡£ÕâЩ˳ÐòµÄÿһ¸öÒÔÒ»Ìõ·´Ð±Ïß(¡°\¡±)¿ªÊ¼£¬³ÆÎª×ªÒå×Ö·û¡£MySQLʶ±ðÏÂÁÐתÒå×Ö·û£º
\0 NUL)×Ö·û¡£ \n \t \r \b \' \" \\ \% \_ ×¢Ò⣬Èç¹ûÄãÔÚijЩÕýÎÄ»·¾³ÖÐʹÓá°\%¡±»ò¡°\%_¡±£¬ÕâЩ½«·µ»Ø×Ö·û´®¡°\%¡±ºÍ¡°\_¡±¶ø²»ÊÇ¡°%¡±ºÍ¡°_¡±¡£
Óм¸ÖÖ·½·¨ÔÚÒ»¸ö×Ö·û´®ÄÚ°üÀ¨ÒýºÅ£º
ÏÂÃæÏÔʾµÄSELECTÑÝʾÒýºÅºÍתÒåÈçºÎ¹¤×÷£º
mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello'; +-------+---------+-----------+--------+--------+ | hello | "hello" | ""hello"" | hel'lo | 'hello | +-------+---------+-----------+--------+--------+ mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello"; +-------+---------+-----------+--------+--------+ | hello | 'hello' | ''hello'' | hel"lo | "hello | +-------+---------+-----------+--------+--------+ mysql> SELECT "This\nIs\nFour\nlines"; +--------------------+ | This Is Four lines | +--------------------+
Èç¹ûÄãÏëÒª°Ñ¶þ½øÖÆÊý¾Ý²åÈëµ½Ò»¸öBLOBÁУ¬ÏÂÁÐ×Ö·û±ØÐëÓÉתÒåÐòÁбíʾ£º
NUL\ ' " Èç¹ûÄãдC´úÂ룬Äã¿ÉÒÔʹÓÃC APIº¯Êýmysql_escape_string()À´ÎªINSERTÓï¾äתÒå×Ö·û¡£¼û20.3 C API º¯Êý¸ÅÊö¡£ÔÚ PerlÖУ¬Äã¿ÉÒÔʹÓÃDBI°üÖеÄquote·½·¨±ä»»ÌØÊâµÄ×Ö·ûµ½ÕýÈ·µÄתÒåÐòÁС£¼û20.5.2 DBI½Ó¿Ú¡£
ÄãÓ¦¸ÃÔÚÈκοÉÄܰüº¬ÉÏÊöÈκÎÌØÊâ×Ö·ûµÄ×Ö·û´®ÉÏʹÓÃתÒ庯Êý£¡
ÕûÊý±íʾΪһ¸öÊý×Ö˳Ðò¡£¸¡µãÊýʹÓá°.¡±×÷Ϊһ¸öÊ®½øÖÆ·Ö¸ô·û¡£ÕâÁ½ÖÖÀàÐ͵ÄÊý×Ö¿ÉÒÔǰÖá°-¡±±íÃ÷Ò»¸ö¸ºÖµ¡£
ÓÐЧÕûÊýµÄÀý×Ó£º
1221 0 -32
ÓÐЧ¸¡µãÊýµÄÀý×Ó£º
294.42 -32032.6809e+10 148.00
Ò»¸öÕûÊý¿ÉÒÔÔÚ¸¡µãÉÏÏÂÎÄʹÓã»Ëü½âÊÍΪµÈÖµµÄ¸¡µãÊý¡£
MySQLÖ§³ÖÊ®Áù½øÖÆÖµ¡£ÔÚÊý×ÖÉÏÏÂÎÄ£¬ËüÃDZíÏÖÀàËÆÓÚÒ»¸öÕûÊý(64λ¾«¶È)¡£ÔÚ×Ö·û´®ÉÏÏÂÎÄ£¬ËüÃDZíÏÖÀàËÆÓÚÒ»¸ö¶þ½øÖÆ×Ö·û´®£¬ÕâÀïÿһ¶ÔÊ®Áù½øÖÆÊý×Ö±»±ä»»ÎªÒ»¸ö×Ö·û¡£
mysql> SELECT 0xa+0
-> 10
mysql> select 0x5061756c;
-> Paul
Ê®Áù½øÖÆ×Ö·û´®¾³£±»ODBCʹÓ㬸ø³öBLOBÁеÄÖµ¡£
NULLÖµNULLÖµÒâζ×Å¡°ÎÞÊý¾Ý¡±²¢ÇÒ²»Í¬ÓÚÀýÈçÊý×ÖÀàÐ͵Ä0Ϊ»ò×Ö·û´®ÀàÐ͵ĿÕ×Ö·û´®¡£¼û18.15 NULLÖµÎÊÌâ¡£
µ±Ê¹ÓÃÎı¾Îļþµ¼Èë»òµ¼³ö¸ñʽ(LOAD DATA INFILE, SELECT
... INTO OUTFILE)ʱ£¬NULL¿ÉÒÔÓÃ\N±íʾ¡£¼û7.16 LOAD DATA INFILE¾ä·¨¡£
Êý¾Ý¿â¡¢±í¡¢Ë÷Òý¡¢ÁкͱðÃûµÄÃû×Ö¶¼×ñÊØMySQLͬÑùµÄ¹æÔò:
×¢Ò⣬´ÓMySQL3.23.6¿ªÊ¼¹æÔò¸Ä±äÁË£¬´ËʱÎÒÃÇÒýÈëÁËÓÃ'ÒýÓõıêʶ·û(Êý¾Ý¿â¡¢±íºÍÁÐÃüÃû)£¨Èç¹ûÄãÒÔANSIģʽÔËÐУ¬"Ò²½«ÓÃÓÚÒýÓñêʶ·û£©¡£
| ±êʶ·û | ×î´ó³¤¶È | ÔÊÐíµÄ×Ö·û |
| Êý¾Ý¿â | 64 | ÔÚÒ»¸öĿ¼ÃûÔÊÐíµÄÈκÎ×Ö·û£¬³ýÁË/. |
| ±í | 64 | ÔÚÎļþÃûÖÐÔÊÐíµÄÈκÎ×Ö·û£¬³ýÁË/»ò. |
| ÁÐ | 64 | ËùÓÐ×Ö·û |
| ±ðÃû | 255 | ËùÓÐ×Ö·û |
×¢Ò⣬³ýÁËÒÔÉÏ£¬ÄãÔÚÒ»¸ö±êʶ·ûÖв»ÄÜÓÐASCII(0)»òASCII(255)¡£
×¢Ò⣬Èç¹û±êʶ·ûÊÇÒ»¸öÏÞÖÆ´Ê»ò°üº¬ÌØÊâ×Ö·û£¬µ±ÄãʹÓÃËüʱ£¬Äã±ØÐë×ÜÊÇÓÃ`ÒýÓÃËü£º
SELECT * from `select` where `select`.id > 100;
ÔÚ MySQLµÄÏÈǰ°æ±¾£¬ÃüÃû¹æÔòÈçÏ£º
½¨ÒéÄ㲻ʹÓÃÏó1eÕâÑùµÄÃû×Ö£¬ÒòΪһ¸ö±í´ïʽÈç1e+1ÊǶþÒåÐԵġ£Ëü¿ÉÒÔ½âÊÍΪ±í´ïʽ1e
+ 1»òÊý×Ö1e+1¡£
ÔÚMySQLÖУ¬ÄãÄÜʹÓÃÏÂÁбí¸ñµÄÈκÎÒ»ÖÖÒýÓÃÁУº
| ÁÐÒýÓà | º¬Òå |
col_name |
À´×ÔÓÚÈÎÒâ±íµÄÁÐcol_name£¬ÓÃÓÚ°üº¬¸Ã±íµÄÒ»¸öÁеIJéѯÖÐ |
tbl_name.col_name |
À´×Ôµ±Ç°µÄÊý¾Ý¿âµÄ±ítbl_nameµÄÁÐcol_name |
db_name.tbl_name.col_name |
ÐÐÁÐcol_name´Ó±í¸ñtbl_nameÊý¾Ý¿âdb_name¡£Õâ¸öÐÎʽÔÚMySQL3.22»òÒÔºó°æ±¾¿ÉÓá£
|
`column_name` |
ÊÇÒ»¸ö¹Ø¼ü´Ê»ò°üº¬ÌØÊâ×Ö·ûµÄÁС£ |
ÔÚÒ»ÌõÓï¾äµÄÁÐÒýÓÃÖУ¬Äã²»±ØÖ¸¶¨Ò»¸ötbl_name»òdb_name.tbl_nameǰ׺£¬³ý·ÇÒýÓûáÓжþÒåÐÔ¡£ÀýÈ磬¼Ù¶¨±ít1ºÍt2£¬Ã¿¸ö¾ù°üº¬ÁÐc£¬²¢ÇÒÄãÓÃÒ»¸öʹÓÃt1ºÍt2µÄSELECTÓï¾ä¼ìË÷c¡£ÔÚÕâÖÖÇé¿öÏ£¬cÓжþÒåÐÔ£¬ÒòΪËüÔÚʹÓñíµÄÓï¾äÖв»ÊÇΨһµÄ£¬Òò´ËÄã±ØÐëͨ¹ýд³öt1.c»òt2.cÀ´Ö¸Ã÷ÄãÏëÒªÄĸö±í¡£Í¬Ñù£¬Èç¹ûÄã´ÓÊý¾Ý¿âdb1ÖÐÒ»¸ö±ítºÍÔÚÊý¾Ý¿âdb2µÄÒ»¸ö±ít¼ìË÷£¬Äã±ØÐëÓÃdb1.t.col_nameºÍdb2.t.col_nameÒýÓÃÕâЩÊý¾Ý±íµÄÁС£
¾ä·¨.tbl_nameÒâζ×ÅÔÚµ±Ç°µÄÊý¾Ý¿âÖеıítbl_name£¬¸Ã¾ä·¨ÎªÁËODBCµÄ¼æÈÝÐÔ±»½ÓÊÜ£¬ÒòΪһЩODBC³ÌÐòÓÃÒ»¸ö¡°.¡±×Ö·û×÷ΪÊý¾Ý¿â±íÃûµÄǰ׺¡£
ÔÚMySQLÖУ¬Êý¾Ý¿âºÍ±í¶ÔÓ¦ÓÚÔÚÄÇЩĿ¼ÏµÄĿ¼ºÍÎļþ£¬Òò¶ø£¬ÄÚÔڵIJÙ×÷ϵͳµÄÃô¸ÐÐÔ¾ö¶¨Êý¾Ý¿âºÍ±íÃüÃûµÄ´óСдÃô¸ÐÐÔ¡£ÕâÒâζ×ÅÊý¾Ý¿âºÍ±íÃûÔÚUnixÉÏÊÇÇø·Ö´óСдµÄ£¬¶øÔÚWin32ÉϺöÂÔ´óСд¡£
×¢Ò⣺ÔÚWin32ÉÏ£¬¾¡¹ÜÊý¾Ý¿âºÍ±íÃûÊǺöÂÔ´óСдµÄ£¬Äã²»Ó¦¸ÃÔÚͬһ¸ö²éѯÖÐʹÓò»Í¬µÄ´óСдÀ´ÒýÓÃÒ»¸ö¸ø¶¨µÄÊý¾Ý¿âºÍ±í¡£ÏÂÁвéѯ½«²»¹¤×÷£¬ÒòΪËü×÷Ϊmy_tableºÍ×÷ΪMY_TABLEÒýÓÃÒ»¸ö±í£º
mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;
ÁÐÃûÔÚËùÓÐÇé¿ö϶¼ÊǺöÂÔ´óСдµÄ¡£
±íµÄ±ðÃûÊÇÇø·Ö´óСдµÄ¡£ÏÂÁвéѯ½«²»¹¤×÷£¬:
ÒòΪËüÓÃaºÍAÒýÓñðÃû£º
mysql> SELECT col_name FROM tbl_name AS a
WHERE a.col_name = 1 OR A.col_name = 2;
ÁеıðÃûÊǺöÂÔ´óСдµÄ¡£
MySQLÖ§³ÖÏß³ÌÌØ¶¨µÄ±äÁ¿£¬ÓÃ@variablename¾ä·¨¡£Ò»¸ö±äÁ¿Ãû¿ÉÒÔÓɵ±Ç°×Ö·û¼¯µÄÊý×Ö×Öĸ×Ö·ûºÍ¡°_¡±¡¢¡°$¡±ºÍ¡°.¡±×é³É¡£È±Ê¡×Ö·û¼¯ÊÇISO-8859-1
Latin1£»Õâ¿ÉÒÔͨ¹ýÖØÐ±àÒëMySQL¸Ä±ä¡£¼û9.1.1 ÓÃÓÚÊý¾ÝºÍÅÅÐòµÄ×Ö·û¼¯¡£
±äÁ¿²»±Ø±»³õʼ»¯¡£È±Ê¡µØ£¬ËûÃǰüº¬NULL²¢ÄÜ´æ´¢ÕûÊý¡¢ÊµÊý»òÒ»¸ö×Ö·û´®Öµ¡£µ±Ïß³ÌÍ˳öʱ£¬¶ÔÓÚÒ»¸öÏ̵߳ÄËùÓбäÁ¿×Ô¶¯µØ±»ÊÍ·Å¡£
Äã¿ÉÒÔÓÃSET¾ä·¨ÉèÖÃÒ»¸ö±äÁ¿£º
SET @variable= { integer expression | real expression | string expression }
[,@variable= ...].
ÄãÒ²¿ÉÒÔÓÃ@variable:=expr¾ä·¨ÔÚÒ»¸ö±í´ïʽÖÐÉèÖÃÒ»¸ö±äÁ¿£º
select @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3; +----------------------+------+------+------+ | @t1:=(@t2:=1)+@t3:=4 | @t1 | @t2 | @t3 | +----------------------+------+------+------+ | 5 | 5 | 1 | 4 | +----------------------+------+------+------+
£¨ÕâÀÎÒÃDz»µÃ²»Ê¹ÓÃ:=¾ä·¨£¬ÒòΪ=ÊÇΪ±È½Ï±£ÁôµÄ£©
MySQLÖ§³Ö´óÁ¿µÄÁÐÀàÐÍ£¬Ëü¿ÉÒÔ±»·ÖΪ3ÀࣺÊý×ÖÀàÐÍ¡¢ÈÕÆÚºÍʱ¼äÀàÐÍÒÔ¼°×Ö·û´®(×Ö·û)ÀàÐÍ¡£±¾½ÚÊ×Ïȸø³ö¿ÉÓÃÀàÐ͵ÄÒ»¸ö¸ÅÊö£¬²¢ÇÒ×ܽáÿ¸öÁÐÀàÐ͵Ĵ洢ÐèÇó£¬È»ºóÌṩÿ¸öÀàÖеÄÀàÐÍÐÔÖʵĸüÏêϸµÄÃèÊö¡£¸ÅÊöÓÐÒâ¼ò»¯£¬¸üÏêϸµÄ˵Ã÷Ó¦¸Ã¿¼Âǵ½ÓйØÌض¨ÁÐÀàÐ͵ĸ½¼ÓÐÅÏ¢£¬ÀýÈçÄãÄÜΪÆäÖ¸¶¨ÖµµÄÔÊÐí¸ñʽ¡£
ÓÉMySQLÖ§³ÖµÄÁÐÀàÐÍÁÐÔÚÏÂÃæ¡£ÏÂÁдúÂë×ÖĸÓÃÓÚÃèÊöÖУº
M D M-2¡£
·½À¨ºÅ(¡°[¡±ºÍ¡°]¡±)Ö¸³ö¿ÉÑ¡µÄÀàÐÍÐÞÊηûµÄ²¿·Ö¡£
×¢Ò⣬Èç¹ûÄãÖ¸¶¨Ò»¸öÁËΪZEROFILL£¬MySQL½«Îª¸ÃÁÐ×Ô¶¯µØÔö¼ÓUNSIGNEDÊôÐÔ¡£
TINYINT[(M)] [UNSIGNED] [ZEROFILL] -128µ½127£¬ÎÞ·ûºÅµÄ·¶Î§ÊÇ0µ½255¡£
SMALLINT[(M)] [UNSIGNED] [ZEROFILL] -32768µ½32767£¬ÎÞ·ûºÅµÄ·¶Î§ÊÇ0µ½65535¡£
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] -8388608µ½8388607£¬ÎÞ·ûºÅµÄ·¶Î§ÊÇ0µ½16777215¡£
INT[(M)] [UNSIGNED] [ZEROFILL] -2147483648µ½2147483647£¬ÎÞ·ûºÅµÄ·¶Î§ÊÇ0µ½4294967295¡£
INTEGER[(M)] [UNSIGNED] [ZEROFILL] INTµÄÒ»¸öͬÒå´Ê¡£ BIGINT[(M)] [UNSIGNED] [ZEROFILL] -9223372036854775808µ½9223372036854775807£¬ÎÞ·ûºÅµÄ·¶Î§ÊÇ0µ½18446744073709551615¡£×¢Ò⣬ËùÓÐËãÊõÔËËãÓÃÓзûºÅµÄBIGINT»òDOUBLEÖµÍê³É£¬Òò´ËÄã²»Ó¦¸ÃʹÓôóÓÚ9223372036854775807£¨63λ)µÄÓзûºÅ´óÕûÊý£¬³ýÁËλº¯Êý£¡×¢Ò⣬µ±Á½¸ö²ÎÊýÊÇINTEGERֵʱ£¬-¡¢+ºÍ*½«Ê¹ÓÃBIGINTÔËË㣡ÕâÒâζ×ÅÈç¹ûÄã³Ë2¸ö´óÕûÊý(»òÀ´×ÔÓÚ·µ»ØÕûÊýµÄº¯Êý)£¬Èç¹û½á¹û´óÓÚ9223372036854775807£¬Äã¿ÉÒԵõ½ÒâÍâµÄ½á¹û¡£Ò»¸ö¸¡µãÊý×Ö£¬²»ÄÜÊÇÎÞ·ûºÅµÄ£¬¶ÔÒ»¸öµ¥¾«¶È¸¡µãÊý£¬Æä¾«¶È¿ÉÒÔÊÇ<=24£¬¶ÔÒ»¸öË«¾«¶È¸¡µãÊý£¬ÊÇÔÚ25
ºÍ53Ö®¼ä£¬ÕâЩÀàÐÍÈçFLOATºÍDOUBLEÀàÐÍÂíÉÏÔÚÏÂÃæÃèÊö¡£FLOAT(X)ÓжÔÓ¦µÄFLOATºÍDOUBLEÏàͬµÄ·¶Î§£¬µ«ÊÇÏÔʾ³ß´çºÍСÊýλÊýÊÇ䶨ÒåµÄ¡£ÔÚMySQL3.23ÖУ¬ÕâÊÇÒ»¸öÕæÕýµÄ¸¡µãÖµ¡£ÔÚ¸üÔçµÄMySQL°æ±¾ÖУ¬FLOAT(precision)×ÜÊÇÓÐ2λСÊý¡£¸Ã¾ä·¨ÎªÁËODBC¼æÈÝÐÔ¶øÌṩ¡£
FLOAT[(M,D)] [ZEROFILL] -3.402823466E+38µ½-1.175494351E-38£¬0
ºÍ1.175494351E-38µ½3.402823466E+38¡£MÊÇÏÔʾ¿í¶È¶øDÊÇСÊýµÄλÊý¡£Ã»ÓвÎÊýµÄFLOAT»òÓÐ<24
µÄÒ»¸ö²ÎÊý±íʾһ¸öµ¥¾«Ãܸ¡µãÊý×Ö¡£
DOUBLE[(M,D)] [ZEROFILL] -1.7976931348623157E+308µ½-2.2250738585072014E-308¡¢
0ºÍ2.2250738585072014E-308µ½1.7976931348623157E+308¡£MÊÇÏÔʾ¿í¶È¶øDÊÇСÊýλÊý¡£Ã»ÓÐÒ»¸ö²ÎÊýµÄDOUBLE»òFLOAT(X)£¨25
< = X < = 53£©´ú±íÒ»¸öË«¾«Ãܸ¡µãÊý×Ö¡£ DOUBLE PRECISION[(M,D)] [ZEROFILL] REAL[(M,D)] [ZEROFILL] DOUBLEͬÒå´Ê¡£ DECIMAL[(M[,D])] [ZEROFILL] CHARÁУº¡°Î´Ñ¹Ëõ¡±Òâζ×ÅÊý×Ö×÷Ϊһ¸ö×Ö·û´®±»´æ´¢£¬ÖµµÄÿһλʹÓÃÒ»¸ö×Ö·û¡£Ð¡Êýµã£¬²¢ÇÒ¶ÔÓÚ¸ºÊý£¬¡°-¡±·ûºÅ²»ÔÚMÖмÆËã¡£Èç¹ûDÊÇ0£¬Öµ½«Ã»ÓÐСÊýµã»òСÊý²¿·Ö¡£DECIMALÖµµÄ×î´ó·¶Î§ÓëDOUBLEÏàͬ£¬µ«ÊǶÔÒ»¸ö¸ø¶¨µÄDECIMALÁУ¬Êµ¼ÊµÄ·¶Î§¿ÉÒÔͨ¹ýMºÍDµÄÑ¡Ôñ±»ÏÞÖÆ¡£Èç¹ûD±»Ê¡ÂÔ£¬Ëü±»ÉèÖÃΪ0¡£Èç¹ûM±»Ê¡µô£¬Ëü±»ÉèÖÃΪ10¡£×¢Ò⣬ÔÚMySQL3.22ÀM²ÎÊý°üÀ¨·ûºÅºÍСÊýµã¡£
NUMERIC(M,D) [ZEROFILL] DECIMALµÄÒ»¸öͬÒå´Ê¡£ DATE '1000-01-01'µ½'9999-12-31'¡£MySQLÒÔ'YYYY-MM-DD'¸ñʽÀ´ÏÔʾDATEÖµ£¬µ«ÊÇÔÊÐíÄãʹÓÃ×Ö·û´®»òÊý×Ö°ÑÖµ¸³¸øDATEÁС£
DATETIME '1000-01-01 00:00:00'µ½'9999-12-31
23:59:59'¡£MySQLÒÔ'YYYY-MM-DD HH:MM:SS'¸ñʽÀ´ÏÔʾDATETIMEÖµ£¬µ«ÊÇÔÊÐíÄãʹÓÃ×Ö·û´®»òÊý×Ö°ÑÖµ¸³¸øDATETIMEµÄÁС£
TIMESTAMP[(M)] '1970-01-01 00:00:00'µ½2037ÄêµÄijʱ¡£MySQLÒÔYYYYMMDDHHMMSS¡¢YYMMDDHHMMSS¡¢YYYYMMDD»òYYMMDD¸ñʽÀ´ÏÔʾTIMESTAMPÖµ£¬È¡¾öÓÚÊÇ·ñMÊÇ14£¨»òÊ¡ÂÔ)¡¢12¡¢8»ò6£¬µ«ÊÇÔÊÐíÄãʹÓÃ×Ö·û´®»òÊý×Ö°ÑÖµ¸³¸øTIMESTAMPÁС£Ò»¸öTIMESTAMPÁжÔÓڼǼһ¸öINSERT»òUPDATE²Ù×÷µÄÈÕÆÚºÍʱ¼äÊÇÓÐÓõģ¬ÒòΪÈç¹ûÄã²»×Ô¼º¸øËü¸³Öµ£¬Ëü×Ô¶¯µØ±»ÉèÖÃΪ×î½ü²Ù×÷µÄÈÕÆÚºÍʱ¼ä¡£ÄãÒÔ¿ÉÒÔͨ¹ý¸³¸øËüÒ»¸öNULLÖµÉèÖÃËüΪµ±Ç°µÄÈÕÆÚºÍʱ¼ä¡£¼û7.3.6 ÈÕÆÚºÍʱ¼äÀàÐÍ¡£ TIME '-838:59:59'µ½'838:59:59'¡£MySQLÒÔ'HH:MM:SS'¸ñʽÀ´ÏÔʾTIMEÖµ£¬µ«ÊÇÔÊÐíÄãʹÓÃ×Ö·û´®»òÊý×Ö°ÑÖµ¸³¸øTIMEÁС£
YEAR[(2|4)] 1901µ½2155£¬ºÍ0000£¨4λÄê¸ñʽ£©£¬Èç¹ûÄãʹÓÃ2룬1970-2069(
70-69)¡£MySQLÒÔYYYY¸ñʽÀ´ÏÔʾYEARÖµ£¬µ«ÊÇÔÊÐíÄã°ÑʹÓÃ×Ö·û´®»òÊý×ÖÖµ¸³¸øYEARÁС££¨YEARÀàÐÍÔÚMySQL3.22ÖÐÊÇÐÂÀàÐÍ¡££© CHAR(M) [BINARY] MµÄ·¶Î§ÊÇ1
¡« 255¸ö×Ö·û¡£µ±Öµ±»¼ìË÷ʱ£¬¿Õ¸ñβ²¿±»É¾³ý¡£CHARÖµ¸ù¾Ýȱʡ×Ö·û¼¯ÒÔ´óСд²»Çø·ÖµÄ·½Ê½ÅÅÐòºÍ±È½Ï£¬³ý·Ç¸ø³öBINARY¹Ø¼ü´Ê¡£NATIONAL
CHAR£¨¶ÌÐÎʽNCHAR)ÊÇANSI SQLµÄ·½Ê½À´¶¨ÒåCHARÁÐÓ¦¸ÃʹÓÃȱʡ×Ö·û¼¯¡£ÕâÊÇMySQLµÄȱʡ¡£CHARÊÇCHARACTERµÄÒ»¸öËõд¡£
[NATIONAL] VARCHAR(M) [BINARY] VARCHARÖµ¸ù¾Ýȱʡ×Ö·û¼¯ÒÔ´óСд²»Çø·ÖµÄ·½Ê½ÅÅÐòºÍ±È½Ï£¬³ý·Ç¸ø³öBINARY¹Ø¼ü´ÊÖµ¡£¼û7.7.1 ÒþʽÁÐÖ¸¶¨±ä»¯¡£ VARCHARÊÇCHARACTER
VARYINGÒ»¸öËõд¡£ TINYBLOB TINYTEXT BLOB»òTEXTÁУ¬×î´ó³¤¶ÈΪ255(2^8-1)¸ö×Ö·û¡£¼û7.7.1 ÒþʽÁÐÖ¸¶¨±ä»¯¡£ BLOB TEXT BLOB»òTEXTÁУ¬×î´ó³¤¶ÈΪ65535(2^16-1)¸ö×Ö·û¡£¼û7.7.1 ÒþʽÁÐÖ¸¶¨±ä»¯¡£ MEDIUMBLOB MEDIUMTEXT BLOB»òTEXTÁУ¬×î´ó³¤¶ÈΪ16777215(2^24-1)¸ö×Ö·û¡£¼û7.7.1 ÒþʽÁÐÖ¸¶¨±ä»¯¡£ LONGBLOB LONGTEXT BLOB»òTEXTÁУ¬×î´ó³¤¶ÈΪ4294967295(2^32-1)¸ö×Ö·û¡£¼û7.7.1 ÒþʽÁÐÖ¸¶¨±ä»¯ ENUM('value1','value2',...) 'value1'¡¢'value2',
...,»òNULL¡£Ò»¸öENUM×î¶àÄÜÓÐ65535²»Í¬µÄÖµ¡£
SET('value1','value2',...) 'value1',
'value2', ...Ñ¡³ö¡£Ò»¸öSET×î¶àÄÜÓÐ64¸ö³ÉÔ±¡£
¶ÔÓÚÿ¸öÓÉMySQLÖ§³ÖµÄÁÐÀàÐ͵Ĵ洢ÐèÇóÔÚÏÂÃæ°´ÀàÁгö¡£
| ÁÐÀàÐÍ | ÐèÒªµÄ´æ´¢Á¿ |
TINYINT |
1 ×Ö½Ú |
SMALLINT |
2 ¸ö×Ö½Ú |
MEDIUMINT |
3 ¸ö×Ö½Ú |
INT |
4 ¸ö×Ö½Ú |
INTEGER |
4 ¸ö×Ö½Ú |
BIGINT |
8 ¸ö×Ö½Ú |
FLOAT(X) |
4 Èç¹û X < = 24 »ò 8 Èç¹û 25 < = X < = 53 |
FLOAT |
4 ¸ö×Ö½Ú |
DOUBLE |
8 ¸ö×Ö½Ú |
DOUBLE PRECISION |
8 ¸ö×Ö½Ú |
REAL |
8 ¸ö×Ö½Ú |
DECIMAL(M,D) |
M×Ö½Ú(D+2 , Èç¹ûM < D) |
NUMERIC(M,D) |
M×Ö½Ú(D+2 , Èç¹ûM < D) |
| ÁÐÀàÐÍ | ÐèÒªµÄ´æ´¢Á¿ |
DATE |
3 ¸ö×Ö½Ú |
DATETIME |
8 ¸ö×Ö½Ú |
TIMESTAMP |
4 ¸ö×Ö½Ú |
TIME |
3 ¸ö×Ö½Ú |
YEAR |
1 ×Ö½Ú |
| ÁÐÀàÐÍ | ÐèÒªµÄ´æ´¢Á¿ |
CHAR(M) |
M×Ö½Ú£¬1 <= M <= 255 |
VARCHAR(M) |
L+1 ×Ö½Ú, ÔÚ´ËL <= MºÍ1 <= M <= 255
|
TINYBLOB, TINYTEXT |
L+1 ×Ö½Ú, ÔÚ´ËL< 2 ^ 8 |
BLOB, TEXT |
L+2 ×Ö½Ú, ÔÚ´ËL< 2 ^ 16 |
MEDIUMBLOB, MEDIUMTEXT |
L+3 ×Ö½Ú, ÔÚ´ËL< 2 ^ 24 |
LONGBLOB, LONGTEXT |
L+4 ×Ö½Ú, ÔÚ´ËL< 2 ^ 32 |
ENUM('value1','value2',...) |
1 »ò 2 ¸ö×Ö½Ú, È¡¾öÓÚö¾ÙÖµµÄÊýÄ¿(×î´óÖµ65535£© |
SET('value1','value2',...) |
1£¬2£¬3£¬4»ò8¸ö×Ö½Ú, È¡¾öÓÚ¼¯ºÏ³ÉÔ±µÄÊýÁ¿(×î¶à64¸ö³ÉÔ±£© |
VARCHARºÍBLOBºÍTEXTÀàÐÍÊDZ䳤ÀàÐÍ£¬¶ÔÓÚÆä´æ´¢ÐèÇóÈ¡¾öÓÚÁÐÖµµÄʵ¼Ê³¤¶È(ÔÚÇ°ÃæµÄ±í¸ñÖÐÓÃL±íʾ)£¬¶ø²»ÊÇÈ¡¾öÓÚÀàÐ͵Ä×î´ó¿ÉÄܳߴ硣ÀýÈ磬һ¸öVARCHAR(10)ÁÐÄܱ£´æ×î´ó³¤¶ÈΪ10¸ö×Ö·ûµÄÒ»¸ö×Ö·û´®£¬Êµ¼ÊµÄ´æ´¢ÐèÒªÊÇ×Ö·û´®µÄ³¤¶È(L)£¬¼ÓÉÏ1¸ö×Ö½ÚÒԼǼ×Ö·û´®µÄ³¤¶È¡£¶ÔÓÚ×Ö·û´®'abcd'£¬LÊÇ4¶ø´æ´¢ÒªÇóÊÇ5¸ö×Ö½Ú¡£
BLOBºÍTEXTÀàÐÍÐèÒª1£¬2£¬3»ò4¸ö×Ö½ÚÀ´¼Ç¼ÁÐÖµµÄ³¤¶È£¬ÕâÈ¡¾öÓÚÀàÐ͵Ä×î´ó¿ÉÄܳ¤¶È¡£
Èç¹ûÒ»¸ö±í°üÀ¨Èκα䳤µÄÁÐÀàÐÍ£¬¼Ç¼¸ñʽ½«Ò²ÊDZ䳤µÄ¡£×¢Ò⣬µ±Ò»¸ö±í±»´´½¨Ê±£¬MySQL¿ÉÄÜÔÚijЩÌõ¼þϽ«Ò»¸öÁдÓÒ»¸ö±ä³¤ÀàÐ͸ıäΪһ¸ö¶¨³¤ÀàÐÍ»òÏà·´¡£¼û7.7.1 ÒþʽÁÐÖ¸¶¨±ä»¯¡£
Ò»¸öENUM¶ÔÏóµÄ´óСÓɲ»Í¬Ã¶¾ÙÖµµÄÊýÁ¿¾ö¶¨¡£1×Ö½Ú±»ÓÃÓÚö¾Ù£¬×î´óµ½255¸ö¿ÉÄܵÄÖµ£»2¸ö×Ö½ÚÓÃÓÚö¾Ù£¬×î´óµ½65535
Öµ¡£
Ò»¸öSET¶ÔÏóµÄ´óСÓɲ»Í¬µÄ¼¯ºÏ³ÉÔ±µÄÊýÁ¿¾ö¶¨¡£Èç¹û¼¯ºÏ´óСÊÇN£¬¶ÔÏóÕ¼¾Ý(N+7)/8¸ö×Ö½Ú£¬ËÄÉáÎåÈëΪ1£¬2£¬3£¬4»ò8
¸ö×Ö½Ú¡£Ò»¸öSET×î¶àÄÜÓÐ64¸ö³ÉÔ±¡£
MySQLÖ§³ÖËùÓеÄANSI/ISO SQL92µÄÊý×ÖÀàÐÍ¡£ÕâЩÀàÐͰüÀ¨×¼È·Êý×ÖµÄÊý¾ÝÀàÐÍ(NUMERIC,
DECIMAL, INTEGER,ºÍSMALLINT)£¬Ò²°üÀ¨½üËÆÊý×ÖµÄÊý¾ÝÀàÐÍ(FLOAT,
REAL,ºÍDOUBLE PRECISION)¡£¹Ø¼ü´ÊINTÊÇINTEGERµÄÒ»¸öͬÒå´Ê£¬¶ø¹Ø¼ü´ÊDECÊÇDECIMALÒ»¸öͬÒå´Ê¡£
NUMERICºÍDECIMALÀàÐͱ»MySQLʵÏÖΪͬÑùµÄÀàÐÍ£¬ÕâÔÚSQL92±ê×¼ÔÊÐí¡£ËûÃDZ»ÓÃÓÚ±£´æÖµ£¬¸ÃÖµµÄ׼ȷ¾«¶ÈÊǼ«ÆäÖØÒªµÄÖµ£¬ÀýÈçÓë½ðÇ®ÓйصÄÊý¾Ý¡£µ±ÉùÃ÷Ò»¸öÀàÊÇÕâЩÀàÐÍ֮һʱ£¬¾«¶ÈºÍ¹æÄ£µÄÄܱ»(²¢ÇÒͨ³£ÊÇ)Ö¸¶¨£»ÀýÈ磺
salary DECIMAL(9,2)
ÔÚÕâ¸öÀý×ÓÖУ¬9(precision)´ú±í½«±»ÓÃÓÚ´æ´¢ÖµµÄ×ܵÄСÊýλÊý£¬¶ø2(scale)´ú±í½«±»ÓÃÓڴ洢СÊýµãºóµÄλÊý¡£Òò´Ë£¬ÔÚÕâÖÖÇé¿öÏ£¬Äܱ»´æ´¢ÔÚsalaryÁÐÖеÄÖµµÄ·¶Î§ÊÇ´Ó-9999999.99µ½9999999.99¡£ÔÚANSI/ISO
SQL92ÖУ¬¾ä·¨DECIMAL(p)µÈ¼ÛÓÚDECIMAL(p,0)¡£Í¬Ñù£¬¾ä·¨DECIMALµÈ¼ÛÓÚDECIMAL(p,0)£¬ÕâÀïʵÏÖ±»ÔÊÐí¾ö¶¨Öµp¡£MySQLµ±Ç°²»Ö§³ÖDECIMAL/NUMERICÊý¾ÝÀàÐ͵ÄÕâЩ±äÖÖÐÎʽµÄÈÎÒ»ÖÖ¡£ÕâÒ»°ã˵À´²»ÊÇÒ»¸öÑÏÖØµÄÎÊÌ⣬ÒòΪÕâЩÀàÐ͵ÄÖ÷ÒªÒæ´¦µÃ×ÔÓÚÃ÷ÏԵؿØÖƾ«¶ÈºÍ¹æÄ£µÄÄÜÁ¦¡£
DECIMALºÍNUMERICÖµ×÷Ϊ×Ö·û´®´æ´¢£¬¶ø²»ÊÇ×÷Ϊ¶þ½øÖƸ¡µãÊý£¬ÒԱ㱣´æÄÇЩֵµÄСÊý¾«¶È¡£Ò»¸ö×Ö·ûÓÃÓÚÖµµÄÿһλ¡¢Ð¡Êýµã(Èç¹ûscale>0)ºÍ¡°-¡±·ûºÅ(¶ÔÓÚ¸ºÖµ)¡£Èç¹ûscaleÊÇ0£¬DECIMALºÍNUMERICÖµ²»°üº¬Ð¡Êýµã»òСÊý²¿·Ö¡£
DECIMALºÍNUMERICÖµµÃ×î´óµÄ·¶Î§ÓëDOUBLEÒ»Ñù£¬µ«ÊǶÔÓÚÒ»¸ö¸ø¶¨µÄDECIMAL»òNUMERICÁУ¬Êµ¼ÊµÄ·¶Î§¿ÉÓÉÖÆÓɸø¶¨ÁеÄprecision»òscaleÏÞÖÆ¡£µ±ÕâÑùµÄÁи³¸øÁËСÊýµãºóÃæµÄ볬¹ýÖ¸¶¨scaleËùÔÊÐíµÄλµÄÖµ£¬¸ÃÖµ¸ù¾ÝscaleËÄÉáÎåÈë¡£µ±Ò»¸öDECIMAL»òNUMERICÁб»¸³¸øÁËÆä´óС³¬¹ýÖ¸¶¨(»òȱʡµÄ£©precisionºÍscaleÒþº¬µÄ·¶Î§µÄÖµ£¬MySQL´æ´¢±íʾÄǸö·¶Î§µÄÏàÓ¦µÄ¶ËµãÖµ¡£
×÷Ϊ¶ÔANSI/ISO SQL92±ê×¼µÄÀ©Õ¹£¬MySQLÒ²Ö§³ÖÉϱíËùÁеÄÕûÐÍÀàÐÍTINYINT¡¢MEDIUMINTºÍBIGINT¡£ÁíÒ»¸öÀ©Õ¹ÊÇMySQLÖ§³Ö¿ÉÑ¡µØÖ¸¶¨Ò»¸öÕûÐÍÖµÏÔʾµÄ¿í¶È£¬ÓÃÀ¨ºÅ¸úÔÚ»ù±¾¹Ø¼ü´ÊÖ®ºó(ÀýÈ磬INT(4))¡£Õâ¸ö¿ÉÑ¡µÄ¿í¶ÈÖ¸¶¨±»ÓÃÓÚÆä¿í¶ÈСÓÚÁÐÖ¸¶¨¿í¶ÈµÄÖµµÃ×óÌî²¹ÏÔʾ£¬µ«ÊDz»ÏÞÖÆÄÜÔÚÁÐÖб»´æ´¢µÄÖµµÄ·¶Î§£¬Ò²²»ÏÞÖÆÖµ½«±»ÏÔʾµÄλÊý£¬Æä¿í¶È³¬¹ýÁÐÖ¸¶¨µÄ¿í¶È¡£µ±Óë¿ÉÑ¡µÄÀ©Õ¹ÊôÐÔZEROFILLÒ»ÆðʹÓÃʱ£¬È±Ê¡µÄ¿Õ¸ñÌî²¹ÓÃÁã´úÌæ¡£ÀýÈ磬¶ÔÓÚÉùÃ÷ΪINT(5)
ZEROFILLµÄÁУ¬Ò»¸öΪ4µÄÖµ×÷Ϊ00004±»¼ìË÷¡£×¢Ò⣬Èç¹ûÄãÔÚÒ»¸öÕûÐÍÁд洢³¬¹ýÏÔʾ¿í¶ÈµÄ¸ü´óÖµ£¬µ±MySQL¶ÔÓÚijЩ¸´ÔÓµÄÁª½á(join)Éú³ÉÁÙʱ±íʱ£¬Äã¿ÉÄÜ»áÓöµ½ÎÊÌ⣬ÒòΪÔÚÕâЩÇé¿öÏ£¬MySQLÏàÐÅÊý¾ÝȷʵÊʺÏÔÀ´µÄÁпí¶È¡£
ËùÓеÄÕûÐÍÀàÐÍ¿ÉÒÔÓÐÒ»¸ö¿ÉÑ¡(·Ç±ê×¼µÄ)ÊôÐÔUNSIGNED¡£µ±ÄãÏëÒªÔÚÁÐÖнöÔÊÐíÕýÊý²¢ÇÒÄãÐèÒªÒ»¸öÉÔ´óÒ»µãµÄÁз¶Î§£¬¿ÉÒÔʹÓÃÎÞ·ûºÅÖµ¡£
FLOATÀàÐͱ»ÓÃÀ´±êʾ½üËÆÊý×ÖµÄÊý¾ÝÀàÐÍ¡£ANSI/ISO SQL92±ê×¼ÔÊÐíÒ»¸ö¿ÉÑ¡µÄ¾«¶È˵Ã÷(µ«²»ÊÇÖ¸ÊýµÄ·¶Î§)£¬¸úÔڹؼü´ÊFLOATºóÃæµÄÀ¨ºÅÄÚλÊý¡£MySQLʵÏÖÒ²Ö§³ÖÕâ¸ö¿ÉÑ¡µÄ¾«¶È˵Ã÷¡£µ±¹Ø¼ü´ÊFLOAT±»ÓÃÓÚÒ»¸öÁÐÀàÐͶøÃ»Óо«¶È˵Ã÷ʱ£¬MySQLʹÓÃ4¸ö×Ö½Ú´æ´¢Öµ¡£Ò»¸ö±äÖֵľ䷨Ҳ±»Ö§³Ö£¬ÔÚFLOAT¹Ø¼ü´ÊºóÃæµÄÀ¨ºÅ¸ø³ö2¸öÊý×Ö¡£ÓÃÕâ¸öÑ¡ÏµÚÒ»¸öÊý×Ö¼ÌÐø±íʾÔÚ×Ö½Ú¼ÆËãµÄÖµ´æ´¢ÐèÇ󣬶øµÚ¶þ¸öÊý×ÖÖ¸¶¨Òª±»´æ´¢µÄºÍÏÔʾ¸úËæÐ¡ÊýµãºóµÄλÊý(¾ÍÏóDECIMALºÍNUMERIC)¡£µ±MySQLÒªÇóΪÕâÑùÒ»¸öÁУ¬Ò»¸öСÊýµãºóµÄСÊý볬¹ýÁÐÖ¸¶¨µÄÖµ£¬´æ´¢ÖµÊ±£¬¸ÃÖµ±»ËÄÉáÎåÈ룬ȥµô¶îÍâµÄλ¡£
REALºÍDOUBLE PRECISIONÀàÐͲ»½ÓÊܾ«¶È˵Ã÷¡£×÷Ϊ¶Ô
ANSI/ISO SQL92 ±ê×¼µÄÀ©Õ¹£¬MySQLʶ±ð³öDOUBLE×÷ΪDOUBLE
PRECISIONÀàÐ͵ÄÒ»¸öͬÒå´Ê¡£ÓëREAL¾«¶È±ÈÓÃÓÚDOUBLE
PRECISIONµÄ¸üСµÄ±ê×¼ÒªÇóÏà·´£¬MySQLʵÏÖÁËÁ½ÖÖ£¬×÷Ϊ8×Ö½ÚË«¾«¶È¸¡µãÖµ(µ±ÔËÐв»ÊÇ¡°Ansiģʽ¡±Ê±)¡£ÎªÁË×î´óµÄÒÆÖ²ÐÔ£¬½üËÆÊý×ÖµÄÊý¾ÝÖµµÄ´æ´¢ËùÐè´úÂëÓ¦¸ÃʹÓÃûÓо«¶È»òСÊýλÊý˵Ã÷µÄFLOAT»òDOUBLE
PRECISION¡£
µ±ÒªÇóÔÚÊý×ÖµÄÁд洢³¬³ö¸ÃÁÐÀàÐÍÔÊÐíµÄ·¶Î§µÄֵʱ£¬MySQL¼ôÇиÃÖµµ½·¶Î§ÄÚµÄÕýÈ·¶ËµãÖµ²¢ÇÒ´æ´¢¼ôÇкóµÄ½á¹ûÖµ¡£
ÀýÈ磬һ¸öINTÁеķ¶Î§ÊÇ-2147483648µ½2147483647¡£Èç¹ûÄãÊÔͼ²åÈë-9999999999µ½Ò»¸öINTÁÐÖУ¬Öµ±»¼ôÇе½·¶Î§µÄµÍ²¿¶Ëµã£¬²¢´æ´¢-2147483648¡£Í¬Ñù£¬Èç¹ûÄãÊÔͼ²åÈë9999999999£¬2147483647±»´æ´¢¡£
Èç¹ûINTÁÐÊÇUNSIGNED£¬Áеķ¶Î§µÄ´óСÊÇÏàͬµÄ£¬µ«ÊÇËüµÄ¶ËµãÒÆµ½ÁË0ºÍ4294967295¡£Èç¹ûÄãÊÔͼ´æ´¢-9999999999ºÍ9999999999£¬ÔÚÁб»´æ´¢µÄÖµ±äΪ0ºÍ4294967296¡£
¶ÔÓÚALTER TABLE¡¢LOAD DATA INFILE¡¢UPDATEºÍ¶àÐÐINSERTÓï¾ä£¬ÓÉÓÚ¼ôÇÐËù·¢ÉúµÄ±ä»»×÷Ϊ¡°¾¯¸æ¡±±»±¨¸æ¡£
ÈÕÆÚºÍʱ¼äÀàÐÍÊÇDATETIME¡¢DATE¡¢TIMESTAMP¡¢TIMEºÍYEAR¡£ÕâЩµÄÿһ¸ö¶¼ÓкϷ¨ÖµµÄÒ»¸ö·¶Î§£¬¶ø¡°Á㡱µ±ÄãÖ¸¶¨È·Êµ²»ºÏ·¨µÄֵʱ±»Ê¹Óá£×¢Ò⣬MySQLÔÊÐíÄã´æ´¢Ä³¸ö¡°²»ÑϸñµØ¡±ºÏ·¨µÄÈÕÆÚÖµ£¬ÀýÈç1999-11-31£¬ÔÒòÎÒÃÇÈÏΪËüÊÇÓ¦ÓóÌÐòµÄÔðÈÎÀ´´¦ÀíÈÕÆÚ¼ì²é£¬¶ø²»ÊÇSQL·þÎñÆ÷¡£ÎªÁËʹÈÕÆÚ¼ì²é¸ü¡°¿ì¡±£¬MySQL½ö¼ì²éÔ·ÝÔÚ0-12µÄ·¶Î§£¬ÌìÔÚ0-31µÄ·¶Î§¡£ÉÏÊö·¶Î§ÕâÑù±»¶¨ÒåÊÇÒòΪMySQLÔÊÐíÄãÔÚÒ»¸öDATE»òDATETIMEÁÐÖд洢ÈÕÆÚ£¬ÕâÀïµÄÌì»òÔÂÊÇÁã¡£Õâ¶Ô´æ´¢Äã²»ÖªµÀ׼ȷµÄÈÕÆÚµÄÒ»¸öÉúÈÕµÄÓ¦ÓóÌÐòÀ´ËµÊǼ«ÆäÓÐÓõģ¬ÔÚÕâÖÖÇé¿öÏ£¬Äã¼òµ¥µØ´æ´¢ÈÕÆÚÏó1999-00-00»ò1999-01-00¡££¨µ±È»Äã²»ÄÜÆÚÍû´Óº¯ÊýÈçDATE_SUB()»òDATE_ADD()µÃµ½ÀàËÆÒÔÕâЩÈÕÆÚµÄÕýÈ·Öµ)¡£
µ±ÓÃÈÕÆÚºÍʱ¼ä¹¤×÷ʱ£¬ÕâÀïÊǵÄһЩҪ¼ÇסµÄÒ»°ã¿¼ÂÇ£º
'98-09-04')£¬¶ø²»ÊÇÒÔÆäËûµØ·½³£ÓõÄÔÂ-ÈÕ-Äê»òÈÕ-ÔÂ-ÄêµÄ´ÎÐò(ÀýÈ磬'09-04-98'¡¢'04-09-98')¡£
TIMEÖµ±»¼ôÇÐΪÊʵ±µÄTIME·¶Î§¶ËµãÖµ¡£)ϱíÏÔʾ¶ÔÿÖÖÀàÐ͵ġ°Á㡱ֵµÄ¸ñʽ£º
| ÁÐÀàÐÍ | ¡°Á㡱ֵ |
DATETIME |
'0000-00-00 00:00:00' |
DATE |
'0000-00-00' |
TIMESTAMP |
00000000000000£¨³¤¶ÈÈ¡¾öÓÚÏÔʾ³ß´ç£© |
TIME |
'00:00:00' |
YEAR |
0000 |
'0'»ò0×öµ½,
Õâ¸üÈÝÒ×д¡£ NULL£¬ÒòΪODBC²»ÄÜ´¦ÀíÕâÑùµÄÖµ¡£
MySQL±¾ÉíY2K°²È«µÄ(¼û1.6 2000ÄêÒ»ÖÂÐÔ)£¬µ«Êdzʽ»¸øMySQLµÄÊäÈëÖµ¿ÉÄܲ»ÊÇ¡£Ò»¸ö°üº¬2λÄê·ÝÖµµÄÈκÎÊäÈëÊÇÓɶþÒåÐԵģ¬ÒòΪÊÀ¼ÍÊÇδ֪µÄ¡£ÕâÑùµÄÖµ±ØÐë±»½âÊͳÉ4λÐÎʽ£¬ÒòΪMySQLÄÚ²¿Ê¹ÓÃ4λ´æ´¢Äê·Ý¡£
¶ÔÓÚDATETIME, DATE, TIMESTAMPºÍYEARÀàÐÍ£¬MySQLʹÓÃÏÂÁйæÔòµÄ½âÊͶþÒåÐÔµÄÄê·ÝÖµ£º
00-69µÄÄêÖµ±»±ä»»µ½2000-2069¡£ 70-99µÄÄêÖµ±»±ä»»µ½1970-1999¡£¼ÇµÃÕâЩ¹æÔò½ö½öÌṩ¶ÔÓÚÄãÊý¾ÝµÄº¬ÒåµÄºÏÀí²Â²â¡£Èç¹ûMySQLʹÓÃµÄÆô·¢¹æÔò²»²úÉúÕýÈ·µÄÖµ£¬ÄãÓ¦¸ÃÌṩÎÞ¶þÒåµÄ°üº¬4λÄêÖµµÄÊäÈë¡£
DATETIME, DATEºÍTIMESTAMPÀàÐÍDATETIME, DATEºÍTIMESTAMPÀàÐÍÊÇÏà¹ØµÄ¡£±¾½ÚÃèÊöËûÃǵÄÌØÕ÷£¬ËûÃÇÊÇÈçºÎÀàËÆµÄ¶øÓÖ²»Í¬µÄ¡£
DATETIMEÀàÐÍÓÃÔÚÄãÐèҪͬʱ°üº¬ÈÕÆÚºÍʱ¼äÐÅÏ¢µÄֵʱ¡£MySQL¼ìË÷²¢ÇÒÒÔ'YYYY-MM-DD
HH:MM:SS'¸ñʽÏÔʾDATETIMEÖµ£¬Ö§³ÖµÄ·¶Î§ÊÇ'1000-01-01
00:00:00'µ½'9999-12-31 23:59:59'¡££¨¡°Ö§³Ö¡±Òâζמ¡¹Ü¸üÔçµÄÖµ¿ÉÄܹ¤×÷£¬µ«²»Äܱ£Ö¤ËûÃÇ¿ÉÒÔ¡££©
DATEÀàÐÍÓÃÔÚÄã½öÐèÒªÈÕÆÚֵʱ£¬Ã»ÓÐʱ¼ä²¿·Ö¡£MySQL¼ìË÷²¢ÇÒÒÔ'YYYY-MM-DD'¸ñʽÏÔʾDATEÖµ£¬Ö§³ÖµÄ·¶Î§ÊÇ'1000-01-01'µ½'9999-12-31'¡£
TIMESTAMPÁÐÀàÐÍÌṩһÖÖÀàÐÍ£¬Äã¿ÉÒÔʹÓÃËü×Ô¶¯µØÓõ±Ç°µÄÈÕÆÚºÍʱ¼ä±ê¼ÇINSERT»òUPDATEµÄ²Ù×÷¡£Èç¹ûÄãÓжà¸öTIMESTAMPÁУ¬Ö»ÓеÚÒ»¸ö×Ô¶¯¸üС£
×Ô¶¯¸üеÚÒ»¸öTIMESTAMPÁÐÔÚÏÂÁÐÈκÎÌõ¼þÏ·¢Éú£º
INSERT»òLOAD DATA INFILEÓï¾äÖÐÖ¸¶¨¡£
UPDATEÓï¾äÖÐÖ¸¶¨ÇÒһЩÁíÍâµÄÁиıäÖµ¡££¨×¢ÒâÒ»¸öUPDATEÉèÖÃÒ»¸öÁÐΪËüÒѾÓеÄÖµ£¬Õ⽫²»ÒýÆðTIMESTAMPÁб»¸üУ¬ÒòΪÈç¹ûÄãÉèÖÃÒ»¸öÁÐΪËüµ±Ç°µÄÖµ£¬MySQLΪÁËЧÂʶøºöÂÔ¸ü¸Ä¡££©TIMESTAMPÁÐΪNULL. ³ýµÚÒ»¸öÒÔÍâµÄTIMESTAMPÁÐÒ²¿ÉÒÔÉèÖõ½µ±Ç°µÄÈÕÆÚºÍʱ¼ä£¬Ö»Òª½«ÁÐÉèΪNULL£¬»òNOW()¡£
ͨ¹ýÃ÷È·µØÉèÖÃÏ£ÍûµÄÖµ£¬Äã¿ÉÒÔÉèÖÃÈκÎTIMESTAMPÁÐΪ²»Í¬ÓÚµ±Ç°ÈÕÆÚºÍʱ¼äµÄÖµ£¬¼´Ê¹¶ÔµÚÒ»¸öTIMESTAMPÁÐÒ²ÊÇÕâÑù¡£ÀýÈ磬Èç¹û£¬µ±Äã´´½¨Ò»¸öÐÐʱ£¬ÄãÏëÒªÒ»¸öTIMESTAMP±»ÉèÖõ½µ±Ç°µÄÈÕÆÚºÍʱ¼ä£¬µ«ÔÚÒÔºóÎÞÂÛºÎʱÐб»¸üÐÂʱ¶¼²»¸Ä±ä£¬Äã¿ÉÒÔʹÓÃÕâ¸öÊôÐÔ£º
TIMESTAMPÁÐΪËüµÄµ±Ç°Öµ¡£
ÁíÒ»·½Ã棬Äã¿ÉÄÜ·¢ÏÖ£¬µ±Ðб»´´½¨²¢ÇÒÔ¶ÀëËæºóµÄ¸ü¸Äʱ£¬ºÜÈÝÒ×ÓÃÒ»¸öÄãÓÃNOW()³õʼ»¯µÄDATETIMEÁС£
TIMESTAMPÖµ¿ÉÒÔ´Ó1970µÄijʱµÄ¿ªÊ¼Ò»Ö±µ½2037Ä꣬¾«¶ÈΪһÃ룬ÆäÖµ×÷ΪÊý×ÖÏÔʾ¡£
ÔÚMySQL¼ìË÷²¢ÇÒÏÔʾTIMESTAMPֵȡ¾öÓÚÏÔʾ³ß´çµÄ¸ñʽÈçÏÂ±í¡£¡°ÍêÕû¡±TIMESTAMP¸ñʽÊÇ14룬µ«ÊÇTIMESTAMPÁпÉÒÔÓøü¶ÌµÄÏÔʾ³ß´ç´´Ô죺
| ÁÐÀàÐÍ | ÏÔʾ¸ñʽ |
TIMESTAMP(14) |
YYYYMMDDHHMMSS |
TIMESTAMP(12) |
YYMMDDHHMMSS |
TIMESTAMP(10) |
YYMMDDHHMM |
TIMESTAMP(8) |
YYYYMMDD |
TIMESTAMP(6) |
YYMMDD |
TIMESTAMP(4) |
YYMM |
TIMESTAMP(2) |
YY |
ËùÓеÄTIMESTAMPÁж¼ÓÐͬÑùµÄ´æ´¢´óС£¬²»¿¼ÂÇÏÔʾ³ß´ç¡£×î³£¼ûµÄÏÔʾ³ß´çÊÇ6¡¢8¡¢12¡¢ºÍ14¡£Äã¿ÉÒÔÔÚ±í´´½¨Ê±¼äÖ¸¶¨Ò»¸öÈÎÒâµÄÏÔʾ³ß´ç£¬µ«ÊÇÖµ0»ò±È14´ó±»Ç¿ÖƵ½14¡£ÔÚ´Ó1¡«13·¶Î§µÄÆæÊýÖµ³ß´ç±»Ç¿ÖÆÎªÏÂÒ»¸ö¸ü´óµÄżÊý¡£
ʹÓÃÒ»¸ö³£Óõĸñʽ¼¯µÄÈκÎÒ»¸ö£¬Äã¿ÉÒÔÖ¸¶¨DATETIME¡¢DATEºÍTIMESTAMPÖµ£º
'YYYY-MM-DD HH:MM:SS'»ò'YY-MM-DD HH:MM:SS'¸ñʽµÄÒ»¸ö×Ö·û´®¡£ÔÊÐíÒ»ÖÖ¡°¿íËÉ¡±µÄÓï·¨--Èκαêµã¿ÉÓÃ×÷ÔÚÈÕÆÚ²¿·ÖºÍʱ¼ä²¿·ÖÖ®¼äµÄ·Ö¸ô·û¡£ÀýÈ磬'98-12-31
11:30:45'¡¢'98.12.31 11+30+45'¡¢'98/12/31 11*30*45'ºÍ'98@12@31
11^30^45'Êǵȼ۵ġ£ 'YYYY-MM-DD'»ò'YY-MM-DD'¸ñʽµÄÒ»¸ö×Ö·û´®¡£ÔÊÐíÒ»ÖÖ¡°¿íËÉ¡±µÄÓï·¨¡£ÀýÈ磬'98-12-31',
'98.12.31', '98/12/31'ºÍ'98@12@31'Êǵȼ۵ġ£ 'YYYYMMDDHHMMSS'»ò'YYMMDDHHMMSS'¸ñʽµÄûÓÐÈκηָô·ûµÄÒ»¸ö×Ö·û´®£¬ÀýÈ磬'19970523091528'ºÍ'970523091528'±»½âÊÍΪ'1997-05-23
09:15:28'£¬µ«ÊÇ'971122459015'ÊDz»ºÏ·¨µÄ(ËüÓкÁÎÞÒâÒåµÄ·ÖÖÓ²¿·Ö)ÇÒ±ä³É'0000-00-00
00:00:00'¡£ 'YYYYMMDD'»ò'YYMMDD'¸ñʽµÄûÓÐÈκηָô·ûµÄÒ»¸ö×Ö·û´®£¬Èç¹û×Ö·û´®ÈÏΪÊÇÒ»¸öÈÕÆÚ¡£ÀýÈ磬'19970523'ºÍ'970523'±»½âÊÍ×÷Ϊ'1997-05-23'£¬µ«ÊÇ'971332'ÊDz»ºÏ·¨µÄ(
ËüÓÐÎÞÒâÒåµÄÔºÍÌ첿·Ö)ÇÒ±ä³É'0000-00-00'¡£ YYYYMMDDHHMMSS»òYYMMDDHHMMSS¸ñʽµÄÒ»¸öÊý×Ö£¬Èç¹ûÊý×ÖÈÏΪÊÇÒ»¸öÈÕÆÚ¡£ÀýÈ磬19830905132800ºÍ830905132800±»½âÊÍ×÷Ϊ'1983-09-05
13:28:00'¡£ YYYYMMDD»òYYMMDD¸ñʽµÄÒ»¸öÊý×Ö£¬Èç¹ûÊý×ÖÈÏΪÊÇÒ»¸öÈÕÆÚ¡£ÀýÈ磬19830905ºÍ830905±»½âÊÍ×÷Ϊ'1983-09-05'¡£
DATETIME, DATE»òTIMESTAMPÉÏÏÂÎÄ»·¾³ÖнÓÊܵĺ¯Êý£¬ÀýÈçNOW()»òCURRENT_DATE¡£
²»ºÏ·¨DATETIME, DATE»òTIMESTAMPÖµ±»±ä»»µ½Êʵ±ÀàÐ͵ġ°Á㡱ֵ('0000-00-00
00:00:00', '0000-00-00'»ò00000000000000)¡£
¶ÔÓÚ°üÀ¨µÄÈÕÆÚ²¿·Ö·Ö¸ô·ûµÄÖ¸¶¨Îª×Ö·û´®µÄÖµ£¬²»±ØÒªÎªÐ¡ÓÚ10µÄÔ»òÌìµÄÖµÖ¸¶¨2λÊý×Ö£¬'1979-6-9'Óë'1979-06-09'ÊÇÒ»ÑùµÄ¡£Í¬Ñù,
¶ÔÓÚ°üÀ¨µÄʱ¼ä²¿·Ö·Ö¸ô·ûµÄÖ¸¶¨Îª×Ö·û´®µÄÖµ£¬²»±ØÎªÐ¡ÓÚ10µÄСʱ¡¢Ô»òÃëÖ¸¶¨2λÊý×Ö£¬'1979-10-30
1:2:3'Óë'1979-10-30 01:02:03'ÊÇÒ»ÑùµÄ¡£
Ö¸¶¨ÎªÊý×ÖÓ¦¸ÃÊÇ6¡¢8¡¢12»ò14볤¡£Èç¹ûÊý×ÖÊÇ8»ò14볤£¬Ëü±»¼Ù¶¨ÒÔYYYYMMDD»òYYYYMMDDHHMMSS¸ñʽ²¢ÇÒÄê·ÝÓÉÍ·4λÊý×Ö¸ø³ö¡£Èç¹ûÊý×ÖÊÇ6»ò12볤£¬Ëü±»¼Ù¶¨ÊÇÒÔYYMMDD»òYYMMDDHHMMSS¸ñʽÇÒÄê·ÝÓÉÍ·2λÊý×Ö¸ø³ö¡£²»ÊÇÕâЩ³¤¶ÈÖ®Ò»µÄÊý×Öͨ¹ýÌǰͷµÄÁãµ½×î½Ó½üµÄ³¤¶ÈÀ´½âÊÍ¡£
Ö¸¶¨ÎªÎÞ·Ö¸ô·ûµÄ×Ö·û´®ÓÃËüÃǸø¶¨µÄ³¤¶ÈÀ´½âÊÍ¡£Èç¹û×Ö·û´®³¤¶ÈÊÇ8»ò14¸ö×Ö·û£¬Äê·Ý±»¼Ù¶¨Í·4¸ö×Ö·û¸ø³ö£¬·ñÔòÄê·Ý±»¼Ù¶¨ÓÉÍ·2¸ö×Ö·û¸ø³ö¡£¶ÔÓÚ×Ö·û´®ÖгÊÏֵĶà¸ö²¿·Ö£¬×Ö·û´®´Ó×óµ½Óұ߱»½âÊÍ£¬ÒÔÕÒ³öÄê¡¢Ô¡¢ÈÕ¡¢Ð¡Ê±¡¢·ÖÖÓºÍÃëÖµ£¬ÕâÒâζ×Å£¬Äã²»Ó¦¸ÃʹÓÃÉÙÓÚ
6 ¸ö×Ö·ûµÄ×Ö·û´®¡£ÀýÈ磬Èç¹ûÄãÖ¸¶¨'9903'£¬ÈÏΪ½«´ú±í1999Äê3Ô£¬Äã»á·¢ÏÖMySQL°ÑÒ»¸ö¡°Á㡱ÈÕÆÚ²åÈëµ½ÄãµÄ±íÖУ¬ÕâÊÇÒòΪÄê·ÝºÍÔ·ÝÖµ99ºÍ03£¬µ«ÊÇÈÕÆÚ²¿·Ö¶ªÊ§(Áã)£¬Òò´Ë¸ÃÖµ²»ÊÇÒ»¸öºÏ·¨µÄÈÕÆÚ¡£
TIMESTAMPÁÐʹÓñ»Ö¸¶¨µÄÖµµÄÍêÕû¾«¶ÈµÄ´æ´¢ºÏ·¨µÄÖµ£¬²»¿¼ÂÇÏÔʾ´óС¡£ÕâÓм¸¸öº¬Ò⣺
TIMESTAMP(4)»òTIMESTAMP(2)¡£·ñÔò£¬Öµ½«²»ÊÇÒ»¸öºÏ·¨µÄÈÕÆÚ²¢ÇÒ0½«±»´æ´¢¡£
ALTER TABLEÍØ¿íÒ»¸öÏÁÕµÄTIMESTAMPÁУ¬ÒÔǰ±»¡°Òþ±Î¡±µÄÐÅÏ¢½«±»ÏÔʾ¡£
TIMESTAMPÁв»»áµ¼ÖÂÐÅϢʧȥ£¬³ýÁ˸оõÉÏÖµÔÚÏÔʾʱ£¬½ÏÉÙµÄÐÅÏ¢±»ÏÔʾ³ö¡£
TIMESTAMPÖµ±»´æ´¢ÎªÍêÕû¾«¶È£¬Ö±½Ó²Ù×÷´æ´¢ÖµµÄΨһº¯ÊýÊÇUNIX_TIMESTAMP()£¬ÆäËûº¯Êý²Ù×÷ÔÚ¸ñʽ»¯Á˵ļìË÷µÄÖµÉÏ£¬ÕâÒâζ×ÅÄã²»ÄÜʹÓú¯ÊýÀýÈçHOUR()»òSECOND()£¬³ý·ÇTIMESTAMPÖµµÄÏà¹Ø²¿·Ö±»°üº¬ÔÚ¸ñʽ»¯µÄÖµÖС£ÀýÈ磬һ¸öTIMESTAMPÁеÄHH²¿·Ö²¿±»ÏÔʾ£¬³ý·ÇÏÔʾ´óСÖÁÉÙÊÇ10£¬Òò´ËÔÚ¸ü¶ÌµÄTIMESTAMPÖµÉÏÊÔÊÔʹÓÃHOUR()²úÉúÒ»¸öÎÞÒâÒåµÄ½á¹û¡£
ÔÚijÖ̶ֳÈÉÏ£¬Äã¿ÉÒÔ°ÑÒ»ÖÖÈÕÆÚÀàÐ͵ÄÖµ¸³¸øÒ»¸ö²»Í¬µÄÈÕÆÚÀàÐ͵ĶÔÏó¡£È»¶ø£¬Õâ¿ÉÄÜÖµÓÐһЩ¸Ä±ä»òÐÅÏ¢µÄËðʧ£º
DATEÖµ¸³¸øÒ»¸öDATETIME»òTIMESTAMP¶ÔÏ󣬽á¹ûÖµµÄʱ¼ä²¿·Ö±»ÉèÖÃΪ'00:00:00'£¬ÒòΪDATEÖµ²»°üº¬Ê±¼äÐÅÏ¢¡£
DATETIME»òTIMESTAMPÖµ¸³¸øÒ»¸öDATE¶ÔÏ󣬽á¹ûÖµµÄʱ¼ä²¿·Ö±»É¾³ý£¬ÒòΪDATEÀàÐͲ»´æ´¢Ê±¼äÐÅÏ¢¡£
DATETIME, DATEºÍTIMESTAMPֵȫ¶¼¿ÉÒÔÓÃͬÑùµÄ¸ñʽ¼¯À´Ö¸¶¨£¬µ«ËùÓÐÀàÐͲ»¶¼ÓÐͬÑùµÄÖµ·¶Î§¡£ÀýÈ磬TIMESTAMPÖµ²»ÄܱÈ1970Ôç»ò±È2037ÍøÍí£¬ÕâÒâζ×Å£¬Ò»¸öÈÕÆÚÀýÈç'1968-01-01'£¬µ±×÷Ϊһ¸öDATETIME»òDATEÖµºÏ·¨Ê±£¬Ëü²»ÊÇÒ»¸öÕýÈ·TIMESTAMPÖµ£¬²¢ÇÒÈç¹û¸³Öµ¸øÕâÑùÒ»¸ö¶ÔÏó£¬Ëü½«±»±ä»»µ½0¡£
µ±Ö¸¶¨ÈÕÆÚֵʱ£¬µ±ÐÄijЩȱÏÝ£º
'10:11:12'¿ÉÄÜ¿´ÆðÀ´Ïñʱ¼äÖµ£¬ÒòΪ¡°:¡±·Ö¸ô·û£¬µ«ÊÇÈç¹ûÔÚÒ»¸öÈÕÆÚÖÐʹÓã¬ÉÏÏÂÎĽ«×÷ΪÄê·Ý±»½âÊͳÉ'2010-11-12'¡£Öµ'10:45:15'½«±»±ä»»µ½'0000-00-00'£¬ÒòΪ'45'²»ÊÇÒ»¸öºÏ·¨µÄÔ·ݡ£
00-69·¶Î§µÄÄêÖµ±»±ä»»µ½2000-2069¡£ 70-99ΧµÄÄêÖµ±»±ä»»µ½1970-1999¡£ TIMEÀàÐÍMySQL¼ìË÷²¢ÒÔ'HH:MM:SS'¸ñʽÏÔʾTIMEÖµ(»ò¶Ô´óСʱֵ£¬'HHH:MM:SS'¸ñʽ)¡£TIMEÖµµÄ·¶Î§¿ÉÒÔ´Ó'-838:59:59'µ½'838:59:59'¡£Ð¡Ê±²¿·Ö¿ÉÄܴܺóµÄµÄÔÒòÊÇTIMEÀàÐͲ»½ö¿ÉÒÔ±»Ê¹ÓÃÔÚ±íʾһÌìµÄʱ¼ä(Ëü±ØÐëÊDz»µ½24¸öСʱ)£¬¶øÇÒÓÃÔÚ±íʾÔÚ2¸öʼþÖ®¼ä¾¹ýµÄʱ¼ä»òʱ¼ä¼ä¸ô(Ëü¿ÉÒÔÊDZÈ24¸öСʱ´óЩ£¬»òÉõÖÁÊǸºÖµ)¡£
ÄãÄÜÓöàÖиñʽָ¶¨TIMEÖµ£º
'HH:MM:SS'¸ñʽµÄÒ»¸ö×Ö·û´®¡£¡°¿íËÉ¡±µÄÓï·¨±»ÔÊÐí--Èκαêµã·ûºÅ¿ÉÓÃ×÷ʱ¼ä²¿·ÖµÄ·Ö¸ô·û£¬ÀýÈ磬'10:11:12'ºÍ'10.11.12'Êǵȼ۵ġ£
'HHMMSS'¸ñʽµÄÒ»¸ö×Ö·û´®£¬Èç¹ûËü×÷Ϊһ¸öʱ¼ä½âÊÍ¡£ÀýÈ磬'101112'±»Àí½âΪ'10:11:12'£¬µ«ÊÇ'109712'ÊDz»ºÏ·¨µÄ(ËüÓÐÎÞÒâÒåµÄ·ÖÖÓ²¿·Ö)²¢±ä³É'00:00:00'¡£
HHMMSS¸ñʽµÄÒ»¸öÊý×Ö£¬Èç¹ûËüÄܽâÊÍΪһ¸öʱ¼ä¡£ÀýÈ磬101112±»Àí½âΪ'10:11:12'¡£
TIMEÉÏÏÂÎĽÓÊܵĺ¯Êý£¬ÀýÈçCURRENT_TIME¡£
¶ÔÓÚ×÷Ϊ°üÀ¨Ò»¸öʱ¼ä·Ö¸ô·ûµÄ×Ö·û´®±»Ö¸¶¨µÄTIMEÖµ£¬²»±ØÎªÐ¡ÓÚ10µÄСʱ¡¢·ÖÖÓ»òÃëÖµÖ¸¶¨2λÊý×Ö£¬'8:3:2'Óë'08:03:02'ÊÇÒ»ÑùµÄ¡£
½«¡°¶ÌµÄ¡±TIMEÖµ¸³Öµ¸øÒ»¸öTIMEÐÐÁÐÊÇÒª¸ñÍâСÐÄ¡£MySQLʹÓÃ×îÓÒλ´ú±íÃëµÄ¼ÙÉèÀ´½âÊÍÖµ¡£(MySQL½«TIMEÖµ½âÊÍΪ¾¹ýµÄʱ¼ä£¬¶ø·Ç×÷ΪһÌìµÄʱ¼ä
)ÀýÈ磬Äã¿ÉÄÜÏëµ½'11:12'¡¢'1112'ºÍ1112Òâζ×Å'11:12:00'£¨11µã12·Ö)£¬µ«ÊÇMySQL½âÊÍËûÃÇΪ'00:11:12'£¨11·Ö12Ãë)¡£Í¬Ñù£¬'12'ºÍ12±»½âÊÍΪ'00:00:12'¡£
µ«Êdz¬³öTIME·¶Î§Ö®ÍâµÄÖµÊÇÑùºÏ·¨µÄ£¬Ëü±»¼ôÇе½·¶Î§Êʵ±µÄ¶ËµãÖµ¡£ÀýÈ磬'-850:00:00'ºÍ'850:00:00'±»±ä»»µ½'-838:59:59'ºÍ'838:59:59'¡£
²»ºÏ·¨µÄTIMEÖµ±»±ä»»µ½'00:00:00'¡£×¢Ò⣬¼ÈÈ»'00:00:00'±¾ÉíÊÇÒ»¸öºÏ·¨µÄTIMEÖµ£¬Ã»ÓÐÆäËû·½·¨Çø·Ö±íÖд洢µÄÒ»¸ö'00:00:00'Öµ£¬ÔÀ´µÄÖµÊÇ·ñ±»Ö¸¶¨Îª'00:00:00'»òËüÊÇ·ñÊDz»ºÏ·¨µÄ¡£
YEARÀàÐÍYEARÀàÐÍÊÇÒ»¸ö 1 ×Ö½ÚÀàÐÍÓÃÓÚ±íʾÄê·Ý¡£
MySQL¼ìË÷²¢ÇÒÒÔYYYY¸ñʽÏÔʾYEARÖµ£¬Æä·¶Î§ÊÇ1901µ½2155¡£
ÄãÄÜÓöàÖÖ¸ñʽָ¶¨YEARÖµ£º
'1901'µ½'2155'·¶Î§µÄÒ»¸ö4λ×Ö·û´®¡£ 1901µ½2155·¶Î§µÄÒ»¸ö4λÊý×Ö¡£ '00'µ½'99'·¶Î§µÄÒ»¸ö2λ×Ö·û´®.ÔÚ'00'µ½'69'ºÍ'70'µ½'99'·¶Î§µÄÖµ±»±ä»»µ½ÔÚ2000µ½2069·¶Î§ºÍ1970µ½1999µÄYEARÖµ¡£1µ½99·¶Î§µÄÒ»¸ö2λÊý×Ö¡£ÔÚ·¶Î§1µ½69ºÍ70µ½99µÄÖµ±»±ä»»µ½ÔÚ·¶Î§2001µ½2069ºÍ1970µ½1999µÄYEARµÄÖµ¡£×¢Òâ¶ÔÓÚ2λÊý×ֵķ¶Î§ÂÔ΢²»Í¬ÓÚ2λÊý×Ö×Ö·û´®µÄ·¶Î§£¬ÒòΪÄã²»ÄÜÖ±½ÓÖ¸¶¨Áã×÷Ϊһ¸öÊý×Ö²¢ÇÒ°ÑËü½âÊÍΪ2000¡£Äã±ØÐë×÷Ϊһ¸ö×Ö·û´®'0'»ò'00'Ö¸¶¨Ëü£¬Ëü½«±»½âÊÍΪ0000¡£
YEARÉÏÏÂÎÄ»·¾³ÖнÓÊܵĺ¯Êý£¬ÀýÈçNOW()¡£
²»ºÏ·¨YEARÖµ±»±ä»»µ½0000¡£
×Ö·û´®ÀàÐÍÊÇCHAR¡¢VARCHAR¡¢BLOB¡¢TEXT¡¢ENUMºÍSET¡£
CHARºÍVARCHARÀàÐÍCHARºÍVARCHARÀàÐÍÊÇÀàËÆµÄ£¬µ«ÊÇÔÚËûÃDZ»´æ´¢ºÍ¼ìË÷µÄ·½Ê½²»Í¬¡£
Ò»¸öCHARÁеij¤¶È±»ÐÞÕýΪÔÚÄã´´Ôì±íʱÄãËùÉùÃ÷µÄ³¤¶È¡£³¤¶È¿ÉÒÔÊÇ1ºÍ255Ö®¼äµÄÈκÎÖµ¡££¨ÔÚMySQL
3.23ÖУ¬CHAR³¤¶È¿ÉÒÔÊÇ0¡«255¡£) µ±CHARÖµ±»´æ´¢Ê±£¬ËûÃDZ»ÓÿոñÔÚÓÒ±ßÌî²¹µ½Ö¸¶¨µÄ³¤¶È¡£µ±CHARÖµ±»¼ìË÷ʱ£¬ÍϺóµÄ¿Õ¸ñ±»É¾È¥¡£
ÔÚVARCHARÁÐÖеÄÖµÊDZ䳤×Ö·û´®¡£Äã¿ÉÒÔÉùÃ÷Ò»¸öVARCHARÁÐÊÇÔÚ1ºÍ255Ö®¼äµÄÈκγ¤¶È£¬¾ÍÏñ¶ÔCHARÁС£È»¶ø£¬ÓëCHARÏà·´£¬VARCHARÖµÖ»´æ´¢ËùÐèµÄ×Ö·û£¬Íâ¼ÓÒ»¸ö×ֽڼǼ³¤¶È£¬Öµ²»±»Ìî²¹£»Ïà·´£¬µ±Öµ±»´æ´¢Ê±£¬ÍϺóµÄ¿Õ¸ñ±»É¾È¥¡££¨Õâ¸ö¿Õ¸ñɾ³ý²»Í¬ÓÚANSI
SQL¹æ·¶¡££©
Èç¹ûÄã°ÑÒ»¸ö³¬¹ýÁÐ×î´ó³¤¶ÈµÄÖµ¸³¸øÒ»¸öCHAR»òVARCHARÁУ¬Öµ±»½Ø¶ÏÒÔÊʺÏËü¡£
ϱíÏÔʾÁËÁ½ÖÖÀàÐ͵ÄÁеIJ»Í¬£¬Í¨¹ýÑÝʾ´æ´¢±ä³¤×Ö·û´®Öµµ½CHAR(4)ºÍVARCHAR(4)ÁУº
| Öµ | CHAR(4) |
´æ´¢ÐèÇó | VARCHAR(4) |
´æ´¢ÐèÇó |
'' |
' ' |
4 ¸ö×Ö½Ú | '' |
1 ×Ö½Ú |
'ab' |
'ab ' |
4 ¸ö×Ö½Ú | 'ab' |
3 ¸ö×Ö½Ú |
'abcd' |
'abcd' |
4 ¸ö×Ö½Ú | 'abcd' |
5 ¸ö×Ö½Ú |
'abcdefgh' |
'abcd' |
4 ¸ö×Ö½Ú | 'abcd' |
5 ¸ö×Ö½Ú |
´ÓCHAR(4)ºÍVARCHAR(4)ÁмìË÷µÄÖµÔÚÿÖÖÇé¿ö϶¼ÊÇÒ»ÑùµÄ£¬ÒòΪÍϺóµÄ¿Õ¸ñ´Ó¼ìË÷µÄCHARÁÐÉϱ»É¾³ý¡£
ÔÚCHARºÍVARCHARÁÐÖд洢ºÍ±È½ÏÖµÊÇÒÔ´óСд²»Çø·ÖµÄ·½Ê½½øÐе쬳ý·Çµ±×À×Ó±»´´½¨Ê±£¬BINARYÊôÐÔ±»Ö¸¶¨¡£BINARYÊôÐÔÒâζןÃÁеÄÖµ¸ù¾ÝMySQL·þÎñÆ÷ÕýÔÚÔËÐеĻúÆ÷µÄASCII˳ÐòÒÔ´óÐ¡Ð´Çø·ÖµÄ·½Ê½´æ´¢ºÍ±È½Ï¡£
BINARYÊôÐÔÊÇ¡°Õ³ÐÔ¡±µÄ¡£ÕâÒâζ×Å£¬Èç¹û±ê¼ÇÁËBINARYµÄÁÐÓÃÓÚÒ»¸ö±í´ïʽÖУ¬Õû¸öµÄ±í´ïʽ×÷Ϊһ¸öBINARYÖµ±»±È½Ï¡£
MySQLÔÚ±í´´½¨Ê±¿ÉÒÔÒþº¬µØ¸Ä±äÒ»¸öCHAR»òVARCHARÁеÄÀàÐÍ¡£¼û7.7.1 Òþº¬µÄµÄÁÐ˵Ã÷¸Ä±ä¡£
BLOBºÍTEXTÀàÐÍÒ»¸öBLOBÊÇÒ»¸öÄܱ£´æ¿É±äÊýÁ¿µÄÊý¾ÝµÄ¶þ½øÖƵĴó¶ÔÏó¡£4¸öBLOBÀàÐÍTINYBLOB¡¢BLOB¡¢MEDIUMBLOBºÍLONGBLOB½ö½öÔÚËûÃÇÄܱ£´æÖµµÄ×î´ó³¤¶È·½ÃæÓÐËù²»Í¬¡£¼û7.3.1 ÁÐÀàÐÍ´æ´¢ÐèÇó¡£
4¸öTEXTÀàÐÍTINYTEXT¡¢TEXT¡¢MEDIUMTEXTºÍLONGTEXT¶ÔÓ¦ÓÚ4¸öBLOBÀàÐÍ£¬²¢ÇÒÓÐͬÑùµÄ×î´ó³¤¶ÈºÍ´æ´¢ÐèÇó¡£ÔÚBLOBºÍTEXTÀàÐÍÖ®¼äµÄΨһ²î±ðÊǶÔBLOBÖµµÄÅÅÐòºÍ±È½ÏÒÔ´óСдÃô¸Ð·½Ê½Ö´ÐУ¬¶ø¶ÔTEXTÖµÊÇ´óСд²»Ãô¸ÐµÄ¡£»»¾ä»°Ëµ£¬Ò»¸öTEXTÊÇÒ»¸ö´óСд²»Ãô¸ÐµÄBLOB¡£
Èç¹ûÄã°ÑÒ»¸ö³¬¹ýÁÐÀàÐÍ×î´ó³¤¶ÈµÄÖµ¸³¸øÒ»¸öBLOB»òTEXTÁУ¬Öµ±»½Ø¶ÏÒÔÊʺÏËü¡£
ÔÚ´ó¶àÊý·½Ã棬Äã¿ÉÒÔÈÏΪһ¸öTEXTÐÐÁÐÊÇÄãËùÏ£Íû´óµÄÒ»¸öVARCHARÁС£Í¬Ñù£¬Äã¿ÉÒÔÈÏΪһ¸öBLOBÁÐÊÇÒ»¸öVARCHAR
BINARYÁС£²î±ðÊÇ£º
BLOBºÍTEXTÁÐÉÏË÷Òý¡£¸ü¾ÉµÄMySQL°æ±¾²»Ö§³ÖÕâ¸ö¡£
BLOBºÍTEXTÁÐûÓÐÍϺó¿Õ¸ñµÄɾ³ý£¬ÒòΪ¶ÔVARCHARÁÐÓÐɾ³ý¡£
BLOBºÍTEXTÁв»ÄÜÓÐDEFAULTÖµ¡£
MyODBC¶¨ÒåBLOBΪLONGVARBINARY£¬TEXTֵΪLONGVARCHAR¡£
ÒòΪBLOBºÍTEXTÖµ¿ÉÒÔÊǷdz£³¤µÄ£¬µ±Ê¹ÓÃËûÃÇʱ£¬Äã¿ÉÄÜÓöµ½Ò»Ð©ÏÞÖÆ£º
BLOB»òTEXTÁÐÉÏʹÓÃGROUP BY»òORDER
BY£¬Äã±ØÐ뽫ÁÐÖµ±ä»»³ÉÒ»¸ö¶¨³¤¶ÔÏó¡£ÕâÑù×öµÄ±ê×¼·½·¨ÊÇÓÃSUBSTRINGº¯Êý¡£ÀýÈ磺
mysql> select comment from tbl_name,substring(comment,20) as substr ORDER BY substr;
Èç¹ûÄã²»ÕâÑù×ö£¬ÔÚÅÅÐòʱ£¬Ö»ÓÐÁеÄÊ×max_sort_length¸ö×Ö½Ú±»Ê¹Óã¬È±Ê¡µÄmax_sort_lengthÊÇ1024£»Õâ¸öÖµÄÜÔÚÆô¶¯mysqld·þÎñÆ÷ʱʹÓÃ-OÑ¡Ôñ¸Ä±ä¡£Äã¿ÉÒÔÔÚ°üº¬BLOB»òTEXTÖµµÃÒ»¸ö±í´ïʽÉÏ·Ö×é(group)£¬Í¨¹ýÖ¸¶¨ÁеÄλÖûòʹÓÃÒ»¸ö±ðÃû£º
mysql> select id,substring(blob_col,1,100) from tbl_name
GROUP BY 2;
mysql> select id,substring(blob_col,1,100) as b from tbl_name
GROUP BY b;
BLOB»òTEXT¶ÔÏóµÄ×î´ó³ß´çÓÉÆäÀàÐ;ö¶¨£¬µ«ÊÇÄãÄÜÔÚ¿Í»§Óë·þÎñÆ÷Ö®¼äÊÇʵ¼Ê´«ÊäµÄ×î´óÖµÓÉ¿ÉÓõÄÄÚ´æÊýÁ¿ºÍͨѶ»º³åÇøµÄ´óСÀ´¾ö¶¨¡£ÄãÄܸıäÏûÏ¢»º³åÇø´óС£¬µ«ÊÇÄã±ØÐëÔÚ·þÎñÆ÷ºÍ¿Í»§Á½¶Ë×ö¡£¼û10.2.3 µ÷½Ú·þÎñÆ÷²ÎÊý¡£ ×¢Ò⣬ÿ¸öBLOB»òTEXTÖµÄÚ²¿ÓÉÒ»¸ö¶ÀÁ¢·ÖÅäµÄ¶ÔÏó±íʾ¡£ÕâÓëËùÓÐµÄÆäËûÁÐÀàÐÍÏà·´£¬ËüÃÇÊÇÔÚ´ò¿ª±íʱ£¬°´Áб»·ÖÅäÒ»´Î´æ´¢¡£
ENUMÀàÐÍÒ»¸öENUMÊÇÒ»¸ö×Ö·û¶ÔÏ󣬯äֵͨ³£´ÓÒ»¸öÔÚ±í´´½¨Ê±Ã÷È·±»ÁоٵÄÔÊÐíÖµµÄÒ»ÕűíÖÐÑ¡Ôñ¡£
ÔÚÏÂÁеÄij¸öÇéÐÎÏ£¬ÖµÒ²¿ÉÒÔ¿Õ×Ö·û´®("")»òNULL£º
ENUM£¨¼´£¬Ò»¸ö²»ÔÚÔÊÐíµÄÖµÁбíÖеÄ×Ö·û´®)£¬¿Õ×Ö·û´®×÷Ϊһ¸öÌØÊâ´íÎóµÄÖµ±»²åÈë¡£
ENUM±»ÉùÃ÷ΪNULL£¬NULLÒ²ÊÇÁеĺϷ¨Öµ£¬²¢ÇÒȱʡֵÊÇNULL¡£Èç¹ûÒ»¸öENUM±»ÉùÃ÷ΪNOT
NULL£¬È±Ê¡ÖµÊÇÔÊÐíÖµµÄÁбíµÄµÚÒ»³ÉÔ±¡£ ÿö¾ÙÖµÓÐÒ»¸ö±àºÅ£º
SELECTÓï¾äÕÒ³ö±»¸³¸øÎÞЧENUMÖµµÄÐУº
mysql> SELECT * FROM tbl_name WHERE enum_col=0;
NULLÖµµÄ±àºÅÊÇNULL¡£ ÀýÈ磬ָ¶¨ÎªENUM("one", "two", "three")µÄÁпÉÒÔÓÐÏÔʾÔÚÏÂÃæµÄÖµµÄÈκÎÒ»¸ö¡£Ã¿¸öÖµµÄ±àºÅÒ²±»ÏÔʾ£º
| Öµ | ±àºÅ |
NULL |
NULL |
"" |
0 |
"one" |
1 |
"two" |
2 |
"three" |
3 |
ö¾Ù¿ÉÒÔÓÐ×î´ó65535¸ö³ÉÔ±¡£
µ±Äã°ÑÖµ¸³¸øÒ»¸öENUMÁÐʱ£¬×ÖĸµÄ´óСдÊÇÎ޹ؽôÒªµÄ¡£È»¶ø£¬ÒÔºó´ÓÁÐÖмìË÷µÄÖµ´óСдƥÅäÔÚ±í´´½¨Ê±ÓÃÀ´Ö¸¶¨ÔÊÐíÖµµÄÖµµÄ´óСд¡£
Èç¹ûÄãÔÚÒ»¸öÊý×ÖµÄÉÏÏÂÎÄ»·¾³ÖмìË÷Ò»¸öENUM£¬ÁÐÖµµÄ±àºÅ±»·µ»Ø¡£Èç¹ûÄã´æ´¢Ò»¸öÊý×Öµ½Ò»¸öENUMÖУ¬Êý×Ö±»µ±×÷Ò»¸ö±êºÅ£¬²¢ÇÒ´æ´¢µÄÖµÊǸñàºÅµÄö¾Ù³ÉÔ±¡£
ENUMÖµ¸ù¾ÝÁÐ˵Ã÷ÁоٵÄö¾Ù³ÉÔ±µÄ´ÎÐò±»ÅÅÐò¡££¨»»¾ä»°Ëµ£¬ENUMÖµ¸ù¾ÝËûÃǵıàºÅÊý×Ö±»ÅÅÐò)
ÀýÈ磬¶ÔENUM("a", "b")£¬"a"ÅÅÔÚ"b"Ç°Ãæ£¬µ«ÊǶÔENUM("b",
"a")£¬"b"ÅÅÔÚ"a"Ç°Ãæ¡£¿Õ×Ö·û´®ÅÅÐò·Ç¿Õ×Ö·û´®Ö®Ç°£¬²¢ÇÒNULLÅÅÔÚËùÓÐÆäËûö¾Ùֵ֮ǰ¡£
Èç¹ûÄãÏëÒªµÃµ½Ò»¸öENUMÁеÄËùÓпÉÄܵÄÖµ£¬ÄãÓ¦¸ÃʹÓãºSHOW
COLUMNS FROM table_name LIKE enum_column_name²¢ÇÒ·ÖÎöÔÚµÚ¶þÁеÄENUM¶¨Òå¡£
SETÀàÐÍÒ»¸öSETÊÇ¿ÉÒÔÓÐÁã»ò¶à¸öÖµµÄÒ»¸ö×Ö·û´®¶ÔÏ󣬯äÿһ¸ö±ØÐë´Ó±í´´½¨Ôì±»Ö¸¶¨Á˵ÄÔÊÐíÖµµÄÒ»ÕÅÁбíÖб»Ñ¡Ôñ¡£Óɶà¸ö¼¯ºÏ³ÉÔ±×é³ÉµÄSETÁÐͨ¹ýÓÉÓɶººÅ·Ö¸ô(¡°,¡±)µÄ³ÉÔ±±»Ö¸¶¨£¬ÆäÍÆÂÛÊǸÃSET³ÉÔ±Öµ²»Äܰüº¬¶ººÅ±¾Éí¡£
ÀýÈç, Ò»¸öÖ¸¶¨ÎªSET("one", "two") NOT NULLµÄÁпÉÒÔÓÐÕâЩֵµÄÈκÎÒ»¸ö£º
""
"one"
"two"
"one,two"
Ò»¸öSETÄÜÓÐ×î¶à64¸ö²»Í¬µÄ³ÉÔ±¡£
MySQLÓÃÊý×ÖÖµ´æ´¢SETÖµ£¬´æ´¢ÖµµÄµÍ½×λ¶ÔÓ¦ÓÚµÚÒ»¸ö¼¯ºÏ³ÉÔ±¡£Èç¹ûÄãÔÚÊý×ÖÉÏÏÂÎÄÖмìË÷Ò»¸öSETÖµ£¬¼ìË÷µÄÖµ°ÑλÉèÖÃλ¶ÔÓ¦×é³ÉÁÐÖµµÄ¼¯ºÏ³ÉÔ±¡£Èç¹ûÒ»¸öÊý×Ö±»´æ´¢½øÒ»¸öSETÁУ¬ÔÚÊý×ֵĶþ½øÖƱíʾÖÐÉèÖõÄλ¾ö¶¨ÁËÔÚÁÐÖеļ¯ºÏ³ÉÔ±¡£¼Ù¶¨Ò»¸öÁб»Ö¸¶¨ÎªSET("a","b","c","d")£¬ÄÇô³ÉÔ±ÓÐÏÂÁÐλֵ£º
SET ³ÉÔ± |
Ê®½øÖƵÄÖµ | ¶þ½øÖƵÄÖµ |
a |
1 |
0001 |
b |
2 |
0010 |
c |
4 |
0100 |
d |
8 |
1000 |
Èç¹ûÄã¸ø¸ÃÁи³Öµ9£¬¼´¶þ½øÖƵÄ1001£¬ÕâÑùµÚÒ»¸öºÍµÚËĸöSETÖµ³ÉÔ±"a"ºÍ"d"±»Ñ¡Ôñ²¢ÇÒ½á¹ûÖµÊÇ"a,d"¡£
¶ÔÓÚ°üº¬³¬¹ýÒ»¸öSET³ÉÔ±µÄÖµ£¬µ±Äã²åÈëֵʱ£¬ÎÞËùνÒÔʲô˳ÐòÁоÙÖµ£¬Ò²ÎÞËùν¸ø¶¨µÄÖµÁоÙÁ˶àÉٴΡ£µ±ÒÔºó¼ìË÷ֵʱ£¬ÔÚÖµÖеÄÿ¸ö³ÉÔ±½«³öÏÖÒ»´Î£¬¸ù¾ÝËûÃÇÔÚ±í´´½¨Ê±±»Ö¸¶¨µÄ˳ÐòÁгö³ÉÔ±¡£ÀýÈ磬Èç¹ûÁÐÖ¸¶¨ÎªSET("a","b","c","d")£¬ÄÇô"a,d"¡¢"d,a"ºÍ"d,a,a,d,d"ÔÚ¼ìË÷ʱ½«¾ù×÷Ϊ"a,d"³öÏÖ¡£
SETÖµÒÔÊý×Ö´ÎÐò±»ÅÅÐò¡£NULLÖ¸ÅÅÔÚ·ÇNULL
SETֵ֮ǰ¡£
ͨ³££¬ÄãʹÓÃLIKE²Ù×÷·û»òFIND_IN_SET()º¯ÊýÖ´ÐÐÔÚÒ»¸öSETÉϵÄÒ»¸öSELECT£º
mysql> SELECT * FROM tbl_name WHERE set_col LIKE '%value%';
mysql> SELECT * FROM tbl_name WHERE FIND_IN_SET('value',set_col)>0;
µ«ÊÇÏÂÁÐÒ²»á¹¤×÷£º
mysql> SELECT * FROM tbl_name WHERE set_col = 'val1,val2'; mysql> SELECT * FROM tbl_name WHERE set_col & 1;
ÕâЩÓï¾äµÄµÚÒ»¸öÓï¾äѰÕÒÒ»¸ö¾«È·µÄÆ¥Åä¡£µÚ¶þ¸öѰÕÒ°üº¬µÚÒ»¸ö¼¯ºÏ³ÉÔ±µÄÖµ¡£
Èç¹ûÄãÏëÒªµÃµ½Ò»¸öSETÁеÄËùÓпÉÄܵÄÖµ£¬ÄãÓ¦¸ÃʹÓãºSHOW
COLUMNS FROM table_name LIKE set_column_name²¢ÇÒ·ÖÎöÔÚµÚ¶þÁеÄSET¶¨Òå¡£
ΪÁË×îÓÐЧµØÊ¹Óô洢¿Õ¼ä£¬ÊÔ×ÅÔÚËùÓеÄÇé¿öÏÂʹÓÃ×ȷµÄÀàÐÍ¡£ÀýÈ磬Èç¹ûÒ»¸öÕûÊýÁб»ÓÃÓÚÔÚÖ®¼ä1ºÍ99999µÄÖµ£¬
MEDIUMINT UNSIGNEDÊÇ×îºÃµÄÀàÐÍ¡£
»õ±ÒÖµµÄ¾«È·±íʾÊÇÒ»¸ö³£¼ûµÄÎÊÌâ¡£ÔÚMySQL£¬ÄãÓ¦¸ÃʹÓÃDECIMALÀàÐÍ£¬Ëü×÷Ϊһ¸ö×Ö·û´®±»´æ´¢£¬²»»á·¢Éú¾«È·ÐÔµÄËðʧ¡£Èç¹û¾«È·ÐÔ²»ÊÇÌ«ÖØÒª£¬DOUBLEÀàÐÍÒ²ÊÇ×ã¹»ºÃµÄ¡£
¶Ô¸ß¾«¶È£¬Äã×ÜÊÇÄܱ任µ½ÒÔÒ»¸öBIGINT´æ´¢µÄ¶¨µãÀàÐÍ¡£ÕâÔÊÐíÄãÓÃÕûÊý×öËùÓеļÆË㣬²¢ÇÒ½öÔÚ±ØÒªÊ±½«½á¹ûת»»»Ø¸¡µãÖµ¡£¼û10.6 Ñ¡ÔñÒ»¸ö±íÀàÐÍ¡£
ËùÓеÄMySQLÁÐÀàÐÍÄܱ»Ë÷Òý¡£ÔÚÏà¹ØµÄÁÐÉϵÄʹÓÃË÷ÒýÊǸĽøSELECT²Ù×÷ÐÔÄܵÄ×îºÃ·½·¨¡£
Ò»¸ö±í×î¶à¿ÉÓÐ16¸öË÷Òý¡£×î´óË÷Òý³¤¶ÈÊÇ256¸ö×Ö½Ú£¬¾¡¹ÜÕâ¿ÉÒÔÔÚ±àÒëMySQLʱ±»¸Ä±ä¡£
¶ÔÓÚCHARºÍVARCHARÁУ¬Äã¿ÉÒÔË÷ÒýÁеÄǰ׺¡£Õâ¸ü¿ì²¢ÇÒ±ÈË÷ÒýÕû¸öÁÐÐèÒª½ÏÉٵĴÅÅ̿ռ䡣ÔÚCREATE
TABLEÓï¾äÖÐË÷ÒýÁÐǰ׺µÄÓï·¨¿´ÆðÀ´ÏñÕâÑù£º
KEY index_name (col_name(length))
ÏÂÃæµÄÀý×ÓΪnameÁеÄÍ·10¸ö×Ö·û´´½¨Ò»¸öË÷Òý£º
mysql> CREATE TABLE test (
name CHAR(200) NOT NULL,
KEY index_name (name(10)));
¶ÔÓÚBLOBºÍTEXTÁУ¬Äã±ØÐëË÷ÒýÁеÄǰ׺£¬Äã²»ÄÜË÷ÒýÁеÄÈ«²¿¡£
MySQLÄÜÔÚ¶à¸öÁÐÉÏ´´½¨Ë÷Òý¡£Ò»¸öË÷Òý¿ÉÒÔÓÉ×î¶à15¸öÁÐ×é³É¡££¨ÔÚCHARºÍVARCHARÁÐÉÏ£¬ÄãÒ²¿ÉÒÔʹÓÃÁеÄǰ׺×÷Ϊһ¸öË÷ÒýµÄ²¿·Ö)¡£
Ò»¸ö¶àÖØÁÐË÷Òý¿ÉÒÔÈÏΪÊǰüº¬Í¨¹ýºÏ²¢(concatenate)Ë÷ÒýÁÐÖµ´´½¨µÄÖµµÄÒ»¸öÅÅÐòÊý×é¡£
µ±ÄãΪÔÚÒ»¸öWHERE×Ó¾äË÷ÒýµÄµÚÒ»ÁÐÖ¸¶¨ÒÑÖªµÄÊýÁ¿Ê±£¬MySQLÒÔÕâÖÖ·½Ê½Ê¹ÓöàÖØÁÐË÷ÒýʹµÃ²éѯ·Ç³£¿ìËÙ£¬¼´Ê¹Ä㲻ΪÆäËûÁÐÖ¸¶¨Öµ¡£
¼Ù¶¨Ò»ÕűíʹÓÃÏÂÁÐ˵Ã÷´´½¨£º
mysql> CREATE TABLE test (
id INT NOT NULL,
last_name CHAR(30) NOT NULL,
first_name CHAR(30) NOT NULL,
PRIMARY KEY (id),
INDEX name (last_name,first_name));
ÄÇôË÷ÒýnameÊÇÒ»¸öÔÚlast_nameºÍfirst_nameÉϵÄË÷Òý£¬Õâ¸öË÷Òý½«±»ÓÃÓÚÔÚlast_name»òlast_nameºÍfirst_nameµÄÒ»¸öÒÑÖª·¶Î§ÄÚÖ¸¶¨ÖµµÄ²éѯ£¬Òò´Ë£¬nameË÷Òý½«Ê¹ÓÃÔÚÏÂÁвéѯÖУº
mysql> SELECT * FROM test WHERE last_name="Widenius";
mysql> SELECT * FROM test WHERE last_name="Widenius"
AND first_name="Michael";
mysql> SELECT * FROM test WHERE last_name="Widenius"
AND (first_name="Michael" OR first_name="Monty");
mysql> SELECT * FROM test WHERE last_name="Widenius"
AND first_name >="M" AND first_name < "N";
È»¶ø£¬nameË÷Òý½«²»ÓÃÔÚÏÂÁÐѯÎÊÖУº
mysql> SELECT * FROM test WHERE first_name="Michael";
mysql> SELECT * FROM test WHERE last_name="Widenius"
OR first_name="Michael";
¹ØÓÚMySQLʹÓÃË÷Òý¸Ä½øÐÔÄܵķ½Ê½µÄ¸ü¶àµÄÐÅÏ¢£¬¼û10.4 ʹÓÃMySQLË÷Òý¡£
ΪÁ˸úÈÝÒ×µØÊ¹ÓÃΪÆäËû¹©Ó¦É̵ÄSQLʵÏÖ±àдµÄ´úÂ룬ϱíÏÔʾÁËMySQLÓ³ÉäµÄÁÐÀàÐÍ¡£ÕâЩӳÉäʹµÃ´ÓÆäËûÊý¾Ý¿âÒýÇæÒÆ¶¯±í¶¨Òåµ½MySQL¸üÈÝÒ×£º
| ÆäËû¹©Ó¦ÉÌÀàÐÍ | MySQLÀàÐÍ |
BINARY(NUM) |
CHAR(NUM) BINARY |
CHAR VARYING(NUM) |
VARCHAR(NUM) |
FLOAT4 |
FLOAT |
FLOAT8 |
DOUBLE |
INT1 |
TINYINT |
INT2 |
SMALLINT |
INT3 |
MEDIUMINT |
INT4 |
INT |
INT8 |
BIGINT |
LONG VARBINARY |
MEDIUMBLOB |
LONG VARCHAR |
MEDIUMTEXT |
MIDDLEINT |
MEDIUMINT |
VARBINARY(NUM) |
VARCHAR(NUM) BINARY |
ÁÐÀàÐÍÓ³Éä·¢ÉúÔÚ±í´´½¨Ê±¡£Èç¹ûÄãÓÃÆäËû¹©Ó¦ÉÌʹÓõÄÀàÐÍ´´½¨±í£¬ÄÇô·¢³öÒ»¸öDESCRIBE
tbl_nameÓï¾ä£¬MySQLʹÓõȼ۵ÄMySQLÀàÐͱ¨¸æ±í½á¹¹¡£
SELECTºÍWHERE×Ó¾äÖеĺ¯ÊýÔÚÒ»¸öSQLÓï¾äÖеÄselect_expression»òwhere_definition¿ÉÓÉʹÓÃÏÂÃæÃèÊöµÄº¯ÊýµÄÈκαí´ïʽ×é³É¡£
°üº¬NULLµÄÒ»¸ö±í´ïʽ×ÜÊDzúÉúÒ»¸öNULLÖµ£¬·ñÔò³ý·Ç±í´ïʽËù°üº¬µÄ²Ù×÷·ûºÍº¯ÊýÔÚÎĵµÖÐ˵Ã÷¡£
×¢Ò⣺ÔÚÒ»¸öº¯ÊýÃûºÍ¸úËæËüµÄÀ¨ºÅÖ®¼ä²»ÐíûÓпոñ¡£Õâ°ïÖúMySQL·ÖÎöÆ÷Çø·Öº¯Êýµ÷Óú;ßÓÐÏàͬÃû×ֵĶԱí»òÁеÄÒýÓ㬾¡¹ÜÔÊÐíÔÚ²ÎÊýÖÜΧÓпոñ¡£
ΪÁ˼ò½à£¬Àý×ÓÒÔËõдÐÎʽÏÔʾ´Ómysql³ÌÐòÊä³ö¡£Òò´Ë£º
mysql> select MOD(29,9); 1 rows in set (0.00 sec) +-----------+ | mod(29,9) | +-----------+ | 2 | +-----------+
±»ÏÔʾΪÕâÑù£º
mysql> select MOD(29,9);
-> 2
( ... ) mysql> select 1+2*3;
-> 7
mysql> select (1+2)*3;
-> 9
Ò»°ãµÄËãÊõ²Ù×÷·ûÊÇ¿ÉÓõġ£×¢ÒâÔÚ-¡¢+ºÍ*Çé¿öÏ£¬Èç¹ûÁ½¸ö²ÎÊýÊÇÕûÊý£¬½á¹ûÓÃBIGINT£¨64룩¾«¶È¼ÆË㣡
+ mysql> select 3+5;
-> 8
- mysql> select 3-5;
-> -2
* mysql> select 3*5;
-> 15
mysql> select 18014398509481984*18014398509481984.0;
-> 324518553658426726783156020576256.0
mysql> select 18014398509481984*18014398509481984;
-> 0
×îºóÒ»¸ö±í´ïʽµÄ½á¹ûÊDz»ÕýÈ·µÄ£¬ÒòΪÕûÊý³Ë»ýµÄ½á¹û³¬¹ýÓÃBIGINT¼ÆËãµÄ64λ·¶Î§¡£
/ mysql> select 3/5;
-> 0.60
±»Áã³ý²úÉúÒ»¸öNULL½á¹û£º
mysql> select 102/(1-1);
-> NULL
Ò»¸ö³ý·¨ÓÃBIGINTËãÊõ¼ÆË㣬ֻҪÔÚËüµÄ½á¹û±»×ª»»µ½Ò»¸öÕûÊýµÄÉÏÏÂÎÄÖÐÖ´ÐУ¡
MySQLΪλ²Ù×÷ʹÓÃBIGINT£¨64λ)Ëã·¨£¬Òò´ËÕâЩ²Ù×÷·ûÓÐ×î´ó64λµÄÒ»¸ö·¶Î§¡£
| mysql> select 29 | 15;
-> 31
& mysql> select 29 & 15;
-> 13
<< BIGINT)Êý×Ö¡£ mysql> select 1 << 2
-> 4
>> BIGINT)Êý×Ö¡£ mysql> select 4 >> 2
-> 1
~ mysql> select 5 & ~1
-> 4
BIT_COUNT(N) NÉ趨µÄλµÄÊýÁ¿¡£ mysql> select BIT_COUNT(29);
-> 4
ËùÓеÄÂß¼º¯Êý·µ»Ø1£¨TRUE£©»ò0£¨FALSE£©¡£
NOT ! 0£¬·µ»Ø1£¬·ñÔò·µ»Ø0¡£ÀýÍ⣺
NOT NULL·µ»ØNULL¡£ mysql> select NOT 1;
-> 0
mysql> select NOT NULL;
-> NULL
mysql> select ! (1+1);
-> 0
mysql> select ! 1+1;
-> 1
×îºóµÄÀý×Ó·µ»Ø1£¬ÒòΪ±í´ïʽ×÷Ϊ(!1)+1¼ÆËã¡£
OR || 0²¢ÇÒ²»NULL£¬·µ»Ø1¡£
mysql> select 1 || 0;
-> 1
mysql> select 0 || 0;
-> 0
mysql> select 1 || NULL;
-> 1
AND && 0»òNULL£¬·µ»Ø0£¬·ñÔò·µ»Ø1¡£
mysql> select 1 && NULL;
-> 0
mysql> select 1 && 0;
-> 0
±È½Ï²Ù×÷µÃ³öÖµ1£¨TRUE£©¡¢0£¨FALSE£©»òNULLµÈ½á¹û¡£ÕâЩº¯Êý¹¤×÷ÔËÓÃÔÚÊý×ÖºÍ×Ö·û´®ÉÏ¡£µ±ÐèҪʱ£¬×Ö·û´®×Ô¶¯µØ±»±ä»»µ½Êý×ÖÇÒÊý×Öµ½×Ö·û´®(ÈçÔÚPerl)¡£
MySQLʹÓÃÏÂÁйæÔòÖ´ÐбȽϣº
NULL£¬±È½ÏµÄ½á¹ûÊÇNULL£¬³ýÁË<=>²Ù×÷·û¡£
TIMESTAMP»òDATETIMEÁжøÆäËû²ÎÊýÊÇÒ»¸ö³£Êý£¬ÔڱȽÏÖ´ÐÐǰ£¬³£Êý±»×ª»»ÎªÒ»¸öʱ¼ä±ê¼Ç¡£ÕâÑù×öÊÇΪÁ˶ÔODBC¸üÓѺá£
ȱʡµØ£¬×Ö·û´®Ê¹Óõ±Ç°µÄ×Ö·û¼¯ÒÔ´óСдÃô¸ÐµÄ·½Ê½½øÐÐ(ȱʡΪISO-8859-1 Latin1£¬Ëü¶ÔÓ¢ÓïÔËÓõúܳöÉ«)¡£
ÏÂÃæµÄÀý×ÓÑÝʾÁ˶ÔÓڱȽϲÙ×÷×Ö·û´®µ½Êý×ÖµÄת»»£º
mysql> SELECT 1 > '6x';
-> 0
mysql> SELECT 7 > '6x';
-> 1
mysql> SELECT 0 > 'x6';
-> 0
mysql> SELECT 0 = 'x6';
-> 1
= mysql> select 1 = 0;
-> 0
mysql> select '0' = 0;
-> 1
mysql> select '0.0' = 0;
-> 1
mysql> select '0.01' = 0;
-> 0
mysql> select '.01' = 0.01;
-> 1
<> != mysql> select '.01' <> '0.01';
-> 1
mysql> select .01 <> '0.01';
-> 0
mysql> select 'zapp' <> 'zappp';
-> 1
<= mysql> select 0.1 <= 2;
-> 1
< mysql> select 2 <= 2;
-> 1
>= mysql> select 2 >= 2;
-> 1
> mysql> select 2 > 2;
-> 0
<=> mysql> select 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
-> 1 1 0
IS NULL IS NOT NULL NULL mysql> select 1 IS NULL, 0 IS NULL, NULL IS NULL:
-> 0 0 1
mysql> select 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;
expr BETWEEN min AND max expr¶Ô´óÓÚ»òµÈÓÚminÇÒexprÊÇСÓÚ»òµÈÓÚmax£¬BETWEEN·µ»Ø1£¬·ñÔòËü·µ»Ø0¡£Èç¹ûËùÓеIJÎÊýÀàÐÍÊÇÒ»ÑùµÃ£¬ÕâµÈ¼ÛÓÚ±í´ïʽ(min
<= expr AND expr <= max)¡£µÚÒ»¸ö²ÎÊý(expr)¾ö¶¨±È½ÏÈçºÎ±»Ö´ÐС£Èç¹ûexprÊÇÒ»¸ö´óСд²»Ãô¸ÐµÄ×Ö·û´®±í´ïʽ£¬½øÐÐÒ»¸ö´óСд²»Ãô¸ÐµÄ×Ö·û´®±È½Ï¡£Èç¹ûexprÊÇÒ»¸ö´óСдÃô¸ÐµÄ×Ö·û´®±í´ïʽ£¬½øÐÐÒ»¸ö´óСдÃô¸ÐµÄ×Ö·û´®±È½Ï¡£Èç¹ûexprÊÇÒ»¸öÕûÊý±í´ïʽ£¬½øÐÐÕûÊý±È½Ï¡£·ñÔò£¬½øÐÐÒ»¸ö¸¡µã(ʵÊý)±È½Ï¡£
mysql> select 1 BETWEEN 2 AND 3;
-> 0
mysql> select 'b' BETWEEN 'a' AND 'c';
-> 1
mysql> select 2 BETWEEN 2 AND '3';
-> 1
mysql> select 2 BETWEEN 2 AND 'x-3';
-> 0
expr IN (value,...) exprÊÇÔÚIN±íÖеÄÈκÎÖµ£¬·µ»Ø1£¬·ñÔò·µ»Ø0¡£Èç¹ûËùÓеÄÖµÊdz£Êý£¬ÄÇôËùÓеÄÖµ¸ù¾ÝexprÀàÐͱ»¼ÆËãºÍÅÅÐò£¬È»ºóÏîÄ¿µÄËÑË÷ÊÇÓöþ½øÖƵÄËÑË÷Íê³É¡£ÕâÒâζ×ÅÈç¹ûINÖµ±íÈ«²¿Óɳ£Êý×é³É£¬INÊǺܿìµÄ¡£Èç¹ûexprÊÇÒ»¸ö´óСдÃô¸ÐµÄ×Ö·û´®±í´ïʽ£¬×Ö·û´®±È½ÏÒÔ´óСдÃô¸Ð·½Ê½Ö´ÐС£
mysql> select 2 IN (0,3,5,'wefwf');
-> 0
mysql> select 'wefwf' IN (0,3,5,'wefwf');
-> 1
expr NOT IN (value,...) NOT (expr IN (value,...))Ïàͬ¡£ ISNULL(expr) exprÊÇNULL£¬ISNULL()·µ»Ø1£¬·ñÔòËü·µ»Ø0¡£
mysql> select ISNULL(1+1);
-> 0
mysql> select ISNULL(1/0);
-> 1
COALESCE(list) NULLµÄµ¥Ôª¡£ mysql> select COALESCE(NULL,1);
-> 1
mysql> select COALESCE(NULL,NULL,NULL);
-> NULL
INTERVAL(N,N1,N2,N3,...) N< N1£¬·µ»Ø0£¬Èç¹ûN<
N2£¬·µ»Ø1µÈµÈ¡£ËùÓеIJÎÊý±»µ±×÷ÕûÊý¡£ÎªÁ˺¯ÊýÄÜÕýÈ·µØ¹¤×÷£¬ËüÒªÇóN1<N2<N3<
...<Nn¡£ÕâÊÇÒòΪʹÓöþ½øÖÆËÑË÷(ºÜ¿ì)¡£ mysql> select INTERVAL(23, 1, 15, 17, 30, 44, 200);
-> 3
mysql> select INTERVAL(10, 1, 10, 100, 1000);
-> 2
mysql> select INTERVAL(22, 23, 30, 44, 200);
-> 0
ͨ³££¬Èç¹ûÔÚ×Ö·û´®±È½ÏÖеÄÈκαí´ïʽÊÇÇø·Ö´óСдµÄ£¬±È½ÏÒÔ´óСдÃô¸ÐµÄ·½Ê½Ö´ÐС£
expr LIKE pat [ESCAPE 'escape-char'] 1£¨TRUE£©»ò0£¨FALSE£©¡£ÓÃLIKE£¬Äã¿ÉÒÔÔÚģʽÖÐʹÓÃÏÂÁÐ2¸öͨÅä·û×Ö·û£º
% |
Æ¥ÅäÈκÎÊýÄ¿µÄ×Ö·û£¬ÉõÖÁÁã¸ö×Ö·û |
_ |
¾«È·Æ¥ÅäÒ»¸ö×Ö·û |
mysql> select 'David!' LIKE 'David_';
-> 1
mysql> select 'David!' LIKE '%D%v%';
-> 1
ΪÁ˲âÊÔÒ»¸öͨÅä·ûµÄÎÄ×ÖʵÀý£¬ÓÃתÒå×Ö·ûµÄ¼ÓÔÚ×Ö·ûÇ°Ãæ¡£Èç¹ûÄã²»Ö¸¶¨ESCAPE×Ö·û£¬¼Ù¶¨Îª¡°\¡±£º
\% |
Æ¥ÅäÒ»%×Ö·û |
\_ |
Æ¥ÅäÒ»_×Ö·û |
mysql> select 'David!' LIKE 'David\_';
-> 0
mysql> select 'David_' LIKE 'David\_';
-> 1
ΪÁËÖ¸¶¨Ò»¸ö²»Í¬µÄתÒå×Ö·û£¬Ê¹ÓÃESCAPE×Ӿ䣺
mysql> select 'David_' LIKE 'David|_' ESCAPE '|';
-> 1
LIKEÔÊÐíÓÃÔÚÊý×ֵıí´ïʽÉÏ£¡£¨ÕâÊÇMySQL¶ÔANSI
SQL LIKEµÄÒ»¸öÀ©³ä¡£)
mysql> select 10 LIKE '1%';
-> 1
×¢Ò⣺ÒòΪMySQLÔÚ×Ö·û´®ÖÐʹÓÃCתÒåÓï·¨(ÀýÈ磬¡°\n¡±)£¬Äã±ØÐëÔÚÄãµÄLIKE×Ö·û´®ÖÐÖØ¸´ÈκΡ°\¡±¡£ÀýÈ磬ΪÁ˲éÕÒ¡°\n¡±£¬Ö¸¶¨ËüΪ¡°
\\n¡±£¬ÎªÁ˲éÕÒ¡°\¡±£¬Ö¸¶¨ËüΪ¡°\\\\¡±£¨·´Ð±Ïß±»·ÖÎöÆ÷°þÈ¥Ò»´Î£¬ÁíÒ»´ÎÊÇÔÚģʽƥÅäÍê³Éʱ£¬ÁôÏÂÒ»Ìõµ¥¶ÀµÄ·´Ð±Ïß±»Æ¥Åä)¡£
expr NOT LIKE pat [ESCAPE 'escape-char'] NOT (expr LIKE pat [ESCAPE 'escape-char'])Ïàͬ¡£
expr REGEXP pat expr RLIKE pat expr¶ÔÒ»¸öģʽpatµÄģʽƥÅ䡣ģʽ¿ÉÒÔÊÇÒ»¸öÀ©³äµÄÕýÔò±í´ïʽ¡£¼ûMySQL ÕýÔò±í´ïʽ¾ä·¨µÄ H ÃèÊö.Èç¹ûexprÆ¥Åäpat£¬·µ»Ø1£¬·ñÔò·µ»Ø0¡£RLIKEÊÇREGEXPµÄÒ»¸öͬÒå´Ê£¬ÌṩÁËÓëmSQLµÄ¼æÈÝÐÔ¡£×¢Ò⣺ÒòΪMySQLÔÚ×Ö·û´®ÖÐʹÓÃCתÒåÓï·¨(ÀýÈ磬¡°\n¡±),
Äã±ØÐëÔÚÄãµÄREGEXP×Ö·û´®Öظ´ÈκΡ°\¡±¡£ÔÚMySQL3.23.4ÖУ¬REGEXP¶ÔÓÚÕý³£µÄ(²»ÊǶþ½øÖÆ)×Ö·û´®ÊǺöÂÔ´óСд¡£
mysql> select 'Monty!' REGEXP 'm%y%%';
-> 0
mysql> select 'Monty!' REGEXP '.*';
-> 1
mysql> select 'new*\n*line' REGEXP 'new\\*.\\*line';
-> 1
mysql> select "a" REGEXP "A", "a" REGEXP BINARY "A";
-> 1 0
REGEXPºÍRLIKEʹÓõ±Ç°µÄ×Ö·û¼¯(ȱʡΪISO-8859-1
Latin1)¡£ expr NOT REGEXP pat expr NOT RLIKE pat NOT (expr REGEXP pat)Ïàͬ¡£ STRCMP(expr1,expr2) STRCMP()»ØÀ´0£¬Èç¹ûµÚÒ»²ÎÊý¸ù¾Ýµ±Ç°µÄÅÅÐò´ÎÐòСÓÚµÚ¶þ¸ö£¬·µ»Ø-1£¬·ñÔò·µ»Ø1¡£
mysql> select STRCMP('text', 'text2');
-> -1
mysql> select STRCMP('text2', 'text');
-> 1
mysql> select STRCMP('text', 'text');
-> 0
BINARY BINARY²Ù×÷·ûÇ¿ÖÆ¸úËæËüºóÃæµÄ×Ö·û´®ÎªÒ»¸ö¶þ½øÖÆ×Ö·û´®¡£¼´Ê¹ÁÐû±»¶¨ÒåΪBINARY»òBLOB£¬ÕâÊÇÒ»¸öÇ¿ÖÆÁбȽÏÇø·Ö´óСдµÄ¼òÒ×·½·¨¡£
mysql> select "a" = "A";
-> 1
mysql> select BINARY "a" = "A";
-> 0
BINARYÔÚMySQL 3.23.0Öб»ÒýÈë¡£
IFNULL(expr1,expr2) expr1²»ÊÇNULL£¬IFNULL()·µ»Øexpr1£¬·ñÔòËü·µ»Øexpr2¡£IFNULL()·µ»ØÒ»¸öÊý×Ö»ò×Ö·û´®Öµ£¬È¡¾öÓÚËü±»Ê¹ÓõÄÉÏÏÂÎÄ»·¾³¡£
mysql> select IFNULL(1,0);
-> 1
mysql> select IFNULL(0,10);
-> 0
mysql> select IFNULL(1/0,10);
-> 10
mysql> select IFNULL(1/0,'yes');
-> 'yes'
IF(expr1,expr2,expr3) expr1ÊÇTRUE(expr1<>0ÇÒexpr1<>NULL)£¬ÄÇôIF()·µ»Øexpr2£¬·ñÔòËü·µ»Øexpr3¡£IF()·µ»ØÒ»¸öÊý×Ö»ò×Ö·û´®Öµ£¬È¡¾öÓÚËü±»Ê¹ÓõÄÉÏÏÂÎÄ¡£
mysql> select IF(1>2,2,3);
-> 3
mysql> select IF(1<2,'yes','no');
-> 'yes'
mysql> select IF(strcmp('test','test1'),'yes','no');
-> 'no'
expr1×÷ΪÕûÊýÖµ±»¼ÆË㣬ËüÒâζ×ÅÈç¹ûÄãÕýÔÚ²âÊÔ¸¡µã»ò×Ö·û´®Öµ£¬ÄãÓ¦¸ÃʹÓÃÒ»¸ö±È½Ï²Ù×÷À´×ö¡£
mysql> select IF(0.1,1,0);
-> 0
mysql> select IF(0.1<>0,1,0);
-> 1
ÔÚÉÏÃæµÄµÚÒ»ÖÖÇé¿öÖУ¬IF(0.1)·µ»Ø0£¬ÒòΪ0.1±»±ä»»µ½ÕûÊýÖµ,
µ¼Ö²âÊÔIF(0)¡£Õâ¿ÉÄܲ»ÊÇÄãÆÚÍûµÄ¡£ÔÚµÚ¶þÖÖÇé¿öÖУ¬±È½Ï²âÊÔÔÀ´µÄ¸¡µãÖµ¿´ËüÊÇ·ñÊÇ·ÇÁ㣬±È½ÏµÄ½á¹û±»ÓÃ×÷Ò»¸öÕûÊý¡£
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...]
[ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result]
END result£¬ÆäÖÐvalue=compare-value¡£µÚ¶þ¸ö°æ±¾ÖÐÈç¹ûµÚÒ»¸öÌõ¼þÎªÕæ£¬·µ»Øresult¡£Èç¹ûûÓÐÆ¥ÅäµÄresultÖµ£¬ÄÇô½á¹ûÔÚELSEºóµÄresult±»·µ»Ø¡£Èç¹ûûÓÐELSE²¿·Ö£¬ÄÇôNULL±»·µ»Ø¡£
mysql> SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END;
-> "one"
mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END;
-> "true"
mysql> SELECT CASE BINARY "B" when "a" then 1 when "b" then 2 END;
-> NULL
ËùÓеÄÊýѧº¯ÊýÔÚÒ»¸ö³ö´íµÄÇé¿öÏ·µ»ØNULL¡£
- mysql> select - 2;
×¢Ò⣬Èç¹ûÕâ¸ö²Ù×÷·ûÓëÒ»¸öBIGINTʹÓ㬷µ»ØÖµÊÇÒ»¸öBIGINT£¡ÕâÒâζ×ÅÄãÓ¦¸Ã±ÜÃâÔÚÕûÊýÉÏʹÓÃ-£¬ÄÇ¿ÉÄÜÓÐÖµ-2^63£¡
ABS(X) XµÄ¾ø¶ÔÖµ¡£ mysql> select ABS(2);
-> 2
mysql> select ABS(-32);
-> 32
SIGN(X) -1¡¢0»ò1£¬È¡¾öÓÚXÊÇ·ñÊǸºÊý¡¢Áã»òÕýÊý¡£
mysql> select SIGN(-32);
-> -1
mysql> select SIGN(0);
-> 0
mysql> select SIGN(234);
-> 1
MOD(N,M) % %²Ù×÷·û)¡£·µ»ØN±»M³ýµÄÓàÊý¡£
mysql> select MOD(234, 10);
-> 4
mysql> select 253 % 7;
-> 1
mysql> select MOD(29,9);
-> 2
Õâ¸öº¯Êý¿É°²È«ÓÃÓÚBIGINTÖµ¡£
FLOOR(X) XµÄ×î´óÕûÊýÖµ¡£ mysql> select FLOOR(1.23);
-> 1
mysql> select FLOOR(-1.23);
-> -2
×¢Òâ·µ»ØÖµ±»±ä»»ÎªÒ»¸öBIGINT£¡
CEILING(X) XµÄ×îСÕûÊýÖµ¡£ mysql> select CEILING(1.23);
-> 2
mysql> select CEILING(-1.23);
-> -1
ROUND(X) XµÄËÄÉáÎåÈëµÄÒ»¸öÕûÊý¡£ mysql> select ROUND(-1.23);
-> -1
mysql> select ROUND(-1.58);
-> -2
mysql> select ROUND(1.58);
-> 2
ROUND(X,D) XµÄËÄÉáÎåÈëµÄÓÐDΪСÊýµÄÒ»¸öÊý×Ö¡£Èç¹ûDΪ0£¬½á¹û½«Ã»ÓÐСÊýµã»òСÊý²¿·Ö¡£
mysql> select ROUND(1.298, 1);
-> 1.3
mysql> select ROUND(1.298, 0);
-> 1
EXP(X) e£¨×ÔÈ»¶ÔÊýµÄµ×£©µÄX´Î·½¡£ mysql> select EXP(2);
-> 7.389056
mysql> select EXP(-2);
-> 0.135335
LOG(X) XµÄ×ÔÈ»¶ÔÊý¡£ mysql> select LOG(2);
-> 0.693147
mysql> select LOG(-2);
-> NULL
LOG10(X) XµÄÒÔ10Ϊµ×µÄ¶ÔÊý¡£ mysql> select LOG10(2);
-> 0.301030
mysql> select LOG10(100);
-> 2.000000
mysql> select LOG10(-100);
-> NULL
POW(X,Y) POWER(X,Y) XµÄY´ÎÃÝ¡£ mysql> select POW(2,2);
-> 4.000000
mysql> select POW(2,-2);
-> 0.250000
SQRT(X) XµÄƽ·½¸ù¡£ mysql> select SQRT(4);
-> 2.000000
mysql> select SQRT(20);
-> 4.472136
PI() mysql> select PI();
-> 3.141593
COS(X) XµÄÓàÏÒ, ÔÚÕâÀïXÒÔ»¡¶È¸ø³ö¡£ mysql> select COS(PI());
-> -1.000000
SIN(X) XµÄÕýÏÒÖµ£¬ÔÚ´ËXÒÔ»¡¶È¸ø³ö¡£ mysql> select SIN(PI());
-> 0.000000
TAN(X) XµÄÕýÇÐÖµ£¬ÔÚ´ËXÒÔ»¡¶È¸ø³ö¡£ mysql> select TAN(PI()+1);
-> 1.557408
ACOS(X) X·´ÓàÏÒ£¬¼´ÆäÓàÏÒÖµÊÇX¡£Èç¹ûX²»ÔÚ-1µ½1µÄ·¶Î§£¬·µ»ØNULL¡£
mysql> select ACOS(1);
-> 0.000000
mysql> select ACOS(1.0001);
-> NULL
mysql> select ACOS(0);
-> 1.570796
ASIN(X) X·´ÕýÏÒÖµ£¬¼´ÆäÕýÏÒÖµÊÇX¡£LÈç¹ûX²»ÔÚ-1µ½1µÄ·¶Î§£¬·µ»ØNULL¡£
mysql> select ASIN(0.2);
-> 0.201358
mysql> select ASIN('foo');
-> 0.000000
ATAN(X) XµÄ·´ÕýÇÐÖµ£¬¼´ÆäÕýÇÐÖµÊÇX¡£ mysql> select ATAN(2);
-> 1.107149
mysql> select ATAN(-2);
-> -1.107149
ATAN2(X,Y) XºÍYµÄ·´ÕýÇС£ËüÀàËÆÓÚ¼ÆËãY/XµÄ·´ÕýÇУ¬³ýÁËÁ½¸ö²ÎÊýµÄ·ûºÅ±»ÓÃÀ´¾ö¶¨½á¹ûµÄÏóÏÞ¡£
mysql> select ATAN(-2,2);
-> -0.785398
mysql> select ATAN(PI(),0);
-> 1.570796
COT(X) XµÄÓàÇС£ mysql> select COT(12);
-> -1.57267341
mysql> select COT(0);
-> NULL
RAND() RAND(N) 0µ½1.0ÄÚµÄËæ»ú¸¡µãÖµ¡£Èç¹ûÒ»¸öÕûÊý²ÎÊýN±»Ö¸¶¨£¬Ëü±»ÓÃ×÷ÖÖ×ÓÖµ¡£
mysql> select RAND();
-> 0.5925
mysql> select RAND(20);
-> 0.1811
mysql> select RAND(20);
-> 0.1811
mysql> select RAND();
-> 0.2079
mysql> select RAND();
-> 0.7888
Äã²»ÄÜÔÚÒ»¸öORDER BY×Ó¾äÓÃRAND()ֵʹÓÃÁУ¬ÒòΪORDER
BY½«Öظ´¼ÆËãÁжà´Î¡£È»¶øÔÚMySQL3.23ÖУ¬Äã¿ÉÒÔ×ö£º
SELECT * FROM table_name ORDER BY RAND()£¬ÕâÊÇÓÐÀûÓڵõ½Ò»¸öÀ´×ÔSELECT
* FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000µÄ¼¯ºÏµÄËæ»úÑù±¾¡£×¢ÒâÔÚÒ»¸öWHERE×Ó¾äÀïµÄÒ»¸öRAND()½«ÔÚÿ´ÎWHERE±»Ö´ÐÐÊ±ÖØÐÂÆÀ¹À¡£
LEAST(X,Y,...) INTEGERÉÏÏÂÎÄ£¬»òËùÓеIJÎÊý¶¼ÊÇÕûÊýÖµ£¬ËûÃÇ×÷ΪÕûÊý±È½Ï¡£
REALÉÏÏÂÎÄ£¬»òËùÓеIJÎÊýÊÇʵÊýÖµ£¬ËûÃÇ×÷ΪʵÊý±È½Ï¡£
mysql> select LEAST(2,0);
-> 0
mysql> select LEAST(34.0,3.0,5.0,767.0);
-> 3.0
mysql> select LEAST("B","A","C");
-> "A"
GREATEST(X,Y,...) LEASTÒ»ÑùµÄ¹æÔò½øÐбȽϡ£
mysql> select GREATEST(2,0);
-> 2
mysql> select GREATEST(34.0,3.0,5.0,767.0);
-> 767.0
mysql> select GREATEST("B","A","C");
-> "C"
ÔÚMySQLÔÚ 3.22.5 ÒÔǰµÄ°æ±¾, ÄãÄÜʹÓÃMAX()¶ø²»ÊÇGREATEST.
DEGREES(X) X£¬´Ó»¡¶È±ä»»Îª½Ç¶È¡£ mysql> select DEGREES(PI());
-> 180.000000
RADIANS(X) X£¬´Ó½Ç¶È±ä»»Îª»¡¶È¡£ mysql> select RADIANS(90);
-> 1.570796
TRUNCATE(X,D) X£¬½Ø¶ÏΪDλСÊý¡£Èç¹ûDΪ0£¬½á¹û½«Ã»ÓÐСÊýµã»òСÊý²¿·Ö¡£
mysql> select TRUNCATE(1.223,1);
-> 1.2
mysql> select TRUNCATE(1.999,1);
-> 1.9
mysql> select TRUNCATE(1.999,0);
-> 1
Èç¹û½á¹ûµÄ³¤¶È´óÓÚ·þÎñÆ÷²ÎÊýmax_allowed_packet£¬×Ö·û´®Öµº¯Êý·µ»ØNULL¡£¼û10.2.3 µ÷½Ú·þÎñÆ÷²ÎÊý¡£
¶ÔÓÚÕë¶Ô×Ö·û´®Î»ÖõIJÙ×÷£¬µÚÒ»¸öλÖñ»±ê¼ÇΪ1¡£
ASCII(str) strµÄ×î×óÃæ×Ö·ûµÄASCII´úÂëÖµ¡£Èç¹ûstrÊÇ¿Õ×Ö·û´®£¬·µ»Ø0¡£Èç¹ûstrÊÇNULL£¬·µ»ØNULL¡£
mysql> select ASCII('2');
-> 50
mysql> select ASCII(2);
-> 50
mysql> select ASCII('dx');
-> 100
ORD(str) ((first
byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]·µ»Ø×Ö·ûµÄASCII´úÂëÖµÀ´·µ»Ø¶à×Ö½Ú×Ö·û´úÂë¡£Èç¹û×î×óÃæµÄ×Ö·û²»ÊÇÒ»¸ö¶à×Ö½Ú×Ö·û¡£·µ»ØÓëASCII()º¯Êý·µ»ØµÄÏàֵͬ¡£mysql> select ORD('2');
-> 50
CONV(N,from_base,to_base) NµÄ×Ö·û´®Êý×Ö£¬´Ófrom_base»ù±ä»»Îªto_base»ù£¬Èç¹ûÈκβÎÊýÊÇNULL£¬·µ»ØNULL¡£²ÎÊýN½âÊÍΪһ¸öÕûÊý£¬µ«ÊÇ¿ÉÒÔÖ¸¶¨ÎªÒ»¸öÕûÊý»òÒ»¸ö×Ö·û´®¡£×îС»ùÊÇ2ÇÒ×î´óµÄ»ùÊÇ36¡£Èç¹ûto_baseÊÇÒ»¸ö¸ºÊý£¬N±»ÈÏΪÊÇÒ»¸öÓзûºÅÊý£¬·ñÔò£¬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'
BIN(N) NµÄÒ»¸ö×Ö·û´®±íʾ£¬ÔÚ´ËNÊÇÒ»¸ö³¤ÕûÊý(BIGINT)Êý×Ö£¬ÕâµÈ¼ÛÓÚCONV(N,10,2)¡£Èç¹ûNÊÇNULL£¬·µ»ØNULL¡£
mysql> select BIN(12);
-> '1100'
OCT(N) NµÄÒ»¸ö×Ö·û´®µÄ±íʾ£¬ÔÚ´ËNÊÇÒ»¸ö³¤ÕûÐÍÊý×Ö£¬ÕâµÈ¼ÛÓÚCONV(N,10,8)¡£Èç¹ûNÊÇNULL£¬·µ»ØNULL¡£
mysql> select OCT(12);
-> '14'
HEX(N) NÒ»¸ö×Ö·û´®µÄ±íʾ£¬ÔÚ´ËNÊÇÒ»¸ö³¤ÕûÐÍ(BIGINT)Êý×Ö£¬ÕâµÈ¼ÛÓÚCONV(N,10,16)¡£Èç¹ûNÊÇNULL£¬·µ»ØNULL¡£
mysql> select HEX(255);
-> 'FF'
CHAR(N,...) CHAR()½«²ÎÊý½âÊÍΪÕûÊý²¢ÇÒ·µ»ØÓÉÕâЩÕûÊýµÄASCII´úÂë×Ö·û×é³ÉµÄÒ»¸ö×Ö·û´®¡£NULLÖµ±»Ìø¹ý¡£
mysql> select CHAR(77,121,83,81,'76');
-> 'MySQL'
mysql> select CHAR(77,77.3,'77.3');
-> 'MMM'
CONCAT(str1,str2,...) NULL£¬·µ»ØNULL¡£¿ÉÒÔÓг¬¹ý2¸öµÄ²ÎÊý¡£Ò»¸öÊý×Ö²ÎÊý±»±ä»»ÎªµÈ¼ÛµÄ×Ö·û´®ÐÎʽ¡£
mysql> select CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> select CONCAT('My', NULL, 'QL');
-> NULL
mysql> select CONCAT(14.3);
-> '14.3'
LENGTH(str) OCTET_LENGTH(str) CHAR_LENGTH(str) CHARACTER_LENGTH(str) strµÄ³¤¶È¡£ mysql> select LENGTH('text');
-> 4
mysql> select OCTET_LENGTH('text');
-> 4
LOCATE(substr,str) POSITION(substr IN str) substrÔÚ×Ö·û´®strµÚÒ»¸ö³öÏÖµÄλÖã¬Èç¹ûsubstr²»ÊÇÔÚstrÀïÃæ£¬·µ»Ø0.
mysql> select LOCATE('bar', 'foobarbar');
-> 4
mysql> select LOCATE('xbar', 'foobar');
-> 0
¸Ãº¯ÊýÊǶà×Ö½Ú¿É¿¿µÄ¡£
LOCATE(substr,str,pos) substrÔÚ×Ö·û´®strµÚÒ»¸ö³öÏÖµÄλÖ㬴ÓλÖÃpos¿ªÊ¼¡£Èç¹ûsubstr²»ÊÇÔÚstrÀïÃæ£¬·µ»Ø0¡£mysql> select LOCATE('bar', 'foobarbar',5);
-> 7
INSTR(str,substr) substrÔÚ×Ö·û´®strÖеĵÚÒ»¸ö³öÏÖµÄλÖá£ÕâÓëÓÐ2¸ö²ÎÊýÐÎʽµÄLOCATE()Ïàͬ£¬³ýÁ˲ÎÊý±»µßµ¹¡£
mysql> select INSTR('foobarbar', 'bar');
-> 4
mysql> select INSTR('xbar', 'foobar');
-> 0
LPAD(str,len,padstr) str£¬×óÃæÓÃ×Ö·û´®padstrÌî²¹Ö±µ½strÊÇlen¸ö×Ö·û³¤¡£
mysql> select LPAD('hi',4,'??');
-> '??hi'
RPAD(str,len,padstr) str£¬ÓÒÃæÓÃ×Ö·û´®padstrÌî²¹Ö±µ½strÊÇlen¸ö×Ö·û³¤¡£
mysql> select RPAD('hi',5,'?');
-> 'hi???'
LEFT(str,len) strµÄ×î×óÃælen¸ö×Ö·û¡£mysql> select LEFT('foobarbar', 5);
-> 'fooba'
RIGHT(str,len) strµÄ×îÓÒÃælen¸ö×Ö·û¡£ mysql> select RIGHT('foobarbar', 4);
-> 'rbar'
SUBSTRING(str,pos,len) SUBSTRING(str FROM pos FOR len) MID(str,pos,len) str·µ»ØÒ»¸ölen¸ö×Ö·ûµÄ×Ó´®£¬´ÓλÖÃpos¿ªÊ¼¡£Ê¹ÓÃFROMµÄ±äÖÖÐÎʽÊÇANSI
SQL92Óï·¨¡£ mysql> select SUBSTRING('Quadratically',5,6);
-> 'ratica'
SUBSTRING(str,pos) SUBSTRING(str FROM pos) strµÄÆðʼλÖÃpos·µ»ØÒ»¸ö×Ó´®¡£ mysql> select SUBSTRING('Quadratically',5);
-> 'ratically'
mysql> select SUBSTRING('foobarbar' FROM 4);
-> 'barbar'
SUBSTRING_INDEX(str,delim,count) strµÄµÚcount¸ö³öÏֵķָô·ûdelimÖ®ºóµÄ×Ó´®¡£Èç¹ûcountÊÇÕýÊý£¬·µ»Ø×îºóµÄ·Ö¸ô·ûµ½×ó±ß(´Ó×ó±ßÊý)
µÄËùÓÐ×Ö·û¡£Èç¹ûcountÊǸºÊý£¬·µ»Ø×îºóµÄ·Ö¸ô·ûµ½ÓұߵÄËùÓÐ×Ö·û(´ÓÓÒ±ßÊý)¡£
mysql> select SUBSTRING_INDEX('www.mysql.com', '.', 2);
-> 'www.mysql'
mysql> select SUBSTRING_INDEX('www.mysql.com', '.', -2);
-> 'mysql.com'
LTRIM(str) str¡£ mysql> select LTRIM(' barbar');
-> 'barbar'
RTRIM(str) str¡£ mysql> select RTRIM('barbar ');
-> 'barbar'
¸Ãº¯Êý¶Ô¶à×Ö½ÚÊǿɿ¿µÄ¡£
TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str) str£¬ÆäËùÓÐremstrǰ׺»òºó׺±»É¾³ýÁË¡£Èç¹ûûÓÐÐÞÊηûBOTH¡¢LEADING»òTRAILING¸ø³ö£¬BOTH±»¼Ù¶¨¡£Èç¹ûremstrû±»Ö¸¶¨£¬¿Õ¸ñ±»É¾³ý¡£
mysql> select TRIM(' bar ');
-> 'bar'
mysql> select TRIM(LEADING 'x' FROM 'xxxbarxxx');
-> 'barxxx'
mysql> select TRIM(BOTH 'x' FROM 'xxxbarxxx');
-> 'bar'
mysql> select TRIM(TRAILING 'xyz' FROM 'barxxyz');
-> 'barx'
SOUNDEX(str) strµÄÒ»¸öͬÒô×Ö·û´®¡£ÌýÆðÀ´¡°´óÖÂÏàͬ¡±µÄ2¸ö×Ö·û´®Ó¦¸ÃÓÐÏàͬµÄͬÒô×Ö·û´®¡£Ò»¸ö¡°±ê×¼¡±µÄͬÒô×Ö·û´®³¤ÊÇ4¸ö×Ö·û£¬µ«ÊÇSOUNDEX()º¯Êý·µ»ØÒ»¸öÈÎÒⳤµÄ×Ö·û´®¡£Äã¿ÉÒÔÔÚ½á¹ûÉÏʹÓÃSUBSTRING()µÃµ½Ò»¸ö¡°±ê×¼¡±µÄ
ͬÒô´®¡£ËùÓзÇÊý×Ö×Öĸ×Ö·ûÔÚ¸ø¶¨µÄ×Ö·û´®Öб»ºöÂÔ¡£ËùÓÐÔÚA-ZÖ®ÍâµÄ×Ö·û¹ú¼Ê×Öĸ±»µ±×÷ÔªÒô¡£
mysql> select SOUNDEX('Hello');
-> 'H400'
mysql> select SOUNDEX('Quadratically');
-> 'Q36324'
SPACE(N) N¸ö¿Õ¸ñ×Ö·û×é³ÉµÄÒ»¸ö×Ö·û´®¡£ mysql> select SPACE(6);
-> ' '
REPLACE(str,from_str,to_str) str£¬Æä×Ö·û´®from_strµÄËùÓгöÏÖÓÉ×Ö·û´®to_str´úÌæ¡£
mysql> select REPLACE('www.mysql.com', 'w', 'Ww');
-> 'WwWwWw.mysql.com'
REPEAT(str,count) countTimes´ÎµÄ×Ö·û´®str×é³ÉµÄÒ»¸ö×Ö·û´®¡£Èç¹ûcount
<= 0£¬·µ»ØÒ»¸ö¿Õ×Ö·û´®¡£Èç¹ûstr»òcountÊÇNULL£¬·µ»ØNULL¡£
mysql> select REPEAT('MySQL', 3);
-> 'MySQLMySQLMySQL'
REVERSE(str) str¡£ mysql> select REVERSE('abc');
-> 'cba'
INSERT(str,pos,len,newstr) str£¬ÔÚλÖÃposÆðʼµÄ×Ó´®ÇÒlen¸ö×Ö·û³¤µÃ×Ó´®ÓÉ×Ö·û´®newstr´úÌæ¡£
mysql> select INSERT('Quadratic', 3, 4, 'What');
-> 'QuWhattic'
ELT(N,str1,str2,str3,...) N= 1£¬·µ»Østr1£¬Èç¹ûN= 2£¬·µ»Østr2£¬µÈµÈ¡£Èç¹ûNСÓÚ1»ò´óÓÚ²ÎÊý¸öÊý£¬·µ»ØNULL¡£ELT()ÊÇFIELD()·´ÔËËã¡£
mysql> select ELT(1, 'ej', 'Heja', 'hej', 'foo');
-> 'ej'
mysql> select ELT(4, 'ej', 'Heja', 'hej', 'foo');
-> 'foo'
FIELD(str,str1,str2,str3,...) strÔÚstr1, str2, str3, ...Çåµ¥µÄË÷Òý¡£Èç¹ûstrûÕÒµ½£¬·µ»Ø0¡£FIELD()ÊÇELT()·´ÔËËã¡£
mysql> select FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');
-> 2
mysql> select FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');
-> 0
FIND_IN_SET(str,strlist) strÔÚÓÉN×Ó´®×é³ÉµÄ±ístrlistÖ®ÖУ¬·µ»ØÒ»¸ö1µ½NµÄÖµ¡£Ò»¸ö×Ö·û´®±íÊDZ»¡°,¡±·Ö¸ôµÄ×Ó´®×é³ÉµÄÒ»¸ö×Ö·û´®¡£Èç¹ûµÚÒ»¸ö²ÎÊýÊÇÒ»¸ö³£Êý×Ö·û´®²¢ÇÒµÚ¶þ¸ö²ÎÊýÊÇÒ»ÖÖÀàÐÍΪSETµÄÁУ¬FIND_IN_SET()º¯Êý±»ÓÅ»¯¶øÊ¹ÓÃλÔËË㣡Èç¹ûstr²»ÊÇÔÚstrlistÀïÃæ»òÈç¹ûstrlistÊÇ¿Õ×Ö·û´®£¬·µ»Ø0¡£Èç¹ûÈκÎÒ»¸ö²ÎÊýÊÇNULL£¬·µ»ØNULL¡£Èç¹ûµÚÒ»¸ö²ÎÊý°üº¬Ò»¸ö¡°,¡±£¬¸Ãº¯Êý½«¹¤×÷²»Õý³£¡£
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2
MAKE_SET(bits,str1,str2,...) bits¼¯ºÏÖеĵÄ×Ö·û´®×é³É¡£str1¶ÔÓ¦ÓÚλ0£¬str2¶ÔӦλ1£¬µÈµÈ¡£ÔÚstr1,
str2, ...ÖеÄNULL´®²»Ìí¼Óµ½½á¹ûÖС£ mysql> SELECT MAKE_SET(1,'a','b','c');
-> 'a'
mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world');
-> 'hello,world'
mysql> SELECT MAKE_SET(0,'a','b','c');
-> ''
EXPORT_SET(bits,on,off,[separator,[number_of_bits]]) mysql> select EXPORT_SET(5,'Y','N',',',4)
-> Y,N,Y,N
LCASE(str) LOWER(str) str£¬¸ù¾Ýµ±Ç°×Ö·û¼¯Ó³Éä(ȱʡÊÇISO-8859-1
Latin1)°ÑËùÓеÄ×Ö·û¸Ä±ä³ÉСд¡£¸Ãº¯Êý¶Ô¶à×Ö½ÚÊǿɿ¿µÄ¡£ mysql> select LCASE('QUADRATICALLY');
-> 'quadratically'
UCASE(str) UPPER(str) str£¬¸ù¾Ýµ±Ç°×Ö·û¼¯Ó³Éä(ȱʡÊÇISO-8859-1
Latin1)°ÑËùÓеÄ×Ö·û¸Ä±ä³É´óд¡£¸Ãº¯Êý¶Ô¶à×Ö½ÚÊǿɿ¿µÄ¡£ mysql> select UCASE('Hej');
-> 'HEJ'
LOAD_FILE(file_name) max_allowed_packet¡£Èç¹ûÎļþ²»´æÔÚ»òÓÉÓÚÉÏÃæÔÒòÖ®Ò»²»Äܱ»¶Á³ö£¬º¯Êý·µ»ØNULL¡£
mysql> UPDATE table_name
SET blob_column=LOAD_FILE("/tmp/picture")
WHERE id=1;
MySQL±ØÒªÊ±×Ô¶¯±ä»»Êý×ÖΪ×Ö·û´®£¬²¢ÇÒ·´¹ýÀ´Ò²Èç´Ë£º
mysql> SELECT 1+"1";
-> 2
mysql> SELECT CONCAT(2,' test');
-> '2 test'
Èç¹ûÄãÏëÒªÃ÷È·µØ±ä»»Ò»¸öÊý×Öµ½Ò»¸ö×Ö·û´®£¬°ÑËü×÷Ϊ²ÎÊý´«µÝµ½CONCAT()¡£
Èç¹û×Ö·û´®º¯ÊýÌṩһ¸ö¶þ½øÖÆ×Ö·û´®×÷Ϊ²ÎÊý£¬½á¹û×Ö·û´®Ò²ÊÇÒ»¸ö¶þ½øÖÆ×Ö·û´®¡£±»±ä»»µ½Ò»¸ö×Ö·û´®µÄÊý×Ö±»µ±×÷ÊÇÒ»¸ö¶þ½øÖÆ×Ö·û´®¡£Õâ½öÓ°Ïì±È½Ï¡£
¶ÔÓÚÿ¸öÀàÐÍÓµÓеÄÖµ·¶Î§ÒÔ¼°²¢ÇÒÖ¸¶¨ÈÕÆÚºÎʱ¼äÖµµÄÓÐЧ¸ñʽµÄÃèÊö¼û7.3.6 ÈÕÆÚºÍʱ¼äÀàÐÍ¡£
ÕâÀïÊÇÒ»¸öʹÓÃÈÕÆÚº¯ÊýµÄÀý×Ó¡£ÏÂÃæµÄ²éѯѡÔñÁËËùÓмǼ£¬Æädate_colµÄÖµÊÇÔÚ×îºó30ÌìÒÔÄÚ£º
mysql> SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
DAYOFWEEK(date) dateµÄÐÇÆÚË÷Òý(1=ÐÇÆÚÌ죬2=ÐÇÆÚÒ»,
¡¡7=ÐÇÆÚÁù)¡£ÕâЩË÷ÒýÖµ¶ÔÓ¦ÓÚODBC±ê×¼¡£ mysql> select DAYOFWEEK('1998-02-03');
-> 3
WEEKDAY(date) dateµÄÐÇÆÚË÷Òý(0=ÐÇÆÚÒ»£¬1=ÐÇÆÚ¶þ,
¡¡6= ÐÇÆÚÌì)¡£ mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5
mysql> select WEEKDAY('1997-11-05');
-> 2
DAYOFMONTH(date) dateµÄÔ·ÝÖÐÈÕÆÚ£¬ÔÚ1µ½31·¶Î§ÄÚ¡£
mysql> select DAYOFMONTH('1998-02-03');
-> 3
DAYOFYEAR(date) dateÔÚÒ»ÄêÖеÄÈÕÊý, ÔÚ1µ½366·¶Î§ÄÚ¡£
mysql> select DAYOFYEAR('1998-02-03');
-> 34
MONTH(date) dateµÄÔ·ݣ¬·¶Î§1µ½12¡£ mysql> select MONTH('1998-02-03');
-> 2
DAYNAME(date) dateµÄÐÇÆÚÃû×Ö¡£ mysql> select DAYNAME("1998-02-05");
-> 'Thursday'
MONTHNAME(date) dateµÄÔ·ÝÃû×Ö¡£ mysql> select MONTHNAME("1998-02-05");
-> 'February'
QUARTER(date) dateÒ»ÄêÖеļ¾¶È£¬·¶Î§1µ½4¡£ mysql> select QUARTER('98-04-01');
-> 2
WEEK(date) WEEK(date,first) dateµÄÖÜÊý£¬·¶Î§ÔÚ0µ½52¡£2¸ö²ÎÊýÐÎʽWEEK()ÔÊÐíÄãÖ¸¶¨ÐÇÆÚÊÇ·ñ¿ªÊ¼ÓÚÐÇÆÚÌì»òÐÇÆÚÒ»¡£Èç¹ûµÚ¶þ¸ö²ÎÊýÊÇ0£¬ÐÇÆÚ´ÓÐÇÆÚÌ쿪ʼ£¬Èç¹ûµÚ¶þ¸ö²ÎÊýÊÇ1£¬´ÓÐÇÆÚÒ»¿ªÊ¼¡£
mysql> select WEEK('1998-02-20');
-> 7
mysql> select WEEK('1998-02-20',0);
-> 7
mysql> select WEEK('1998-02-20',1);
-> 8
YEAR(date) dateµÄÄê·Ý£¬·¶Î§ÔÚ1000µ½9999¡£mysql> select YEAR('98-02-03');
-> 1998
HOUR(time) timeµÄСʱ£¬·¶Î§ÊÇ0µ½23¡£mysql> select HOUR('10:05:03');
-> 10
MINUTE(time) timeµÄ·ÖÖÓ£¬·¶Î§ÊÇ0µ½59¡£mysql> select MINUTE('98-02-03 10:05:03');
-> 5
SECOND(time) timeµÄÃëÊý£¬·¶Î§ÊÇ0µ½59¡£mysql> select SECOND('10:05:03');
-> 3
PERIOD_ADD(P,N) N¸öÔµ½½×¶ÎP£¨ÒÔ¸ñʽYYMM»òYYYYMM)¡£ÒÔ¸ñʽYYYYMM·µ»ØÖµ¡£×¢Òâ½×¶Î²ÎÊýP²»ÊÇÈÕÆÚÖµ¡£
mysql> select PERIOD_ADD(9801,2);
-> 199803
PERIOD_DIFF(P1,P2) P1ºÍP2Ö®¼äÔÂÊý£¬P1ºÍP2Ó¦¸ÃÒÔ¸ñʽYYMM»òYYYYMM¡£×¢Ò⣬ʱÆÚ²ÎÊýP1ºÍP2²»ÊÇÈÕÆÚÖµ¡£
mysql> select PERIOD_DIFF(9802,199703);
-> 11
DATE_ADD(date,INTERVAL expr type) DATE_SUB(date,INTERVAL expr type) ADDDATE(date,INTERVAL expr type) SUBDATE(date,INTERVAL expr type) ADDDATE()ºÍSUBDATE()ÊÇDATE_ADD()ºÍDATE_SUB()µÄͬÒå´Ê¡£ÔÚMySQL
3.23ÖУ¬Äã¿ÉÒÔʹÓÃ+ºÍ-¶ø²»ÊÇDATE_ADD()ºÍDATE_SUB()¡££¨¼ûÀý×Ó£©dateÊÇÒ»¸öÖ¸¶¨¿ªÊ¼ÈÕÆÚµÄDATETIME»òDATEÖµ£¬exprÊÇÖ¸¶¨¼Óµ½¿ªÊ¼ÈÕÆÚ»ò´Ó¿ªÊ¼ÈÕÆÚ¼õÈ¥µÄ¼ä¸ôÖµÒ»¸ö±í´ïʽ£¬exprÊÇÒ»¸ö×Ö·û´®£»Ëü¿ÉÒÔÒÔÒ»¸ö¡°-¡±¿ªÊ¼±íʾ¸º¼ä¸ô¡£typeÊÇÒ»¸ö¹Ø¼ü´Ê£¬Ö¸Ã÷±í´ïʽӦ¸ÃÈçºÎ±»½âÊÍ¡£EXTRACT(type
FROM date)º¯Êý´ÓÈÕÆÚÖзµ»Ø¡°type¡±¼ä¸ô¡£Ï±íÏÔʾÁËtypeºÍexpr²ÎÊýÔõÑù±»¹ØÁª£º
typeÖµ |
º¬Òå | ÆÚÍûµÄexpr¸ñʽ |
SECOND |
Ãë | SECONDS |
MINUTE |
·ÖÖÓ | MINUTES |
HOUR |
ʱ¼ä | HOURS |
DAY |
Ìì | DAYS |
MONTH |
ÔÂ | MONTHS |
YEAR |
Äê | YEARS |
MINUTE_SECOND |
·ÖÖÓºÍÃë | "MINUTES:SECONDS" |
HOUR_MINUTE |
СʱºÍ·ÖÖÓ | "HOURS:MINUTES" |
DAY_HOUR |
ÌìºÍСʱ | "DAYS HOURS" |
YEAR_MONTH |
ÄêºÍÔ | "YEARS-MONTHS" |
HOUR_SECOND |
Сʱ, ·ÖÖÓ£¬ | "HOURS:MINUTES:SECONDS" |
DAY_MINUTE |
Ìì, Сʱ, ·ÖÖÓ | "DAYS HOURS:MINUTES" |
DAY_SECOND |
Ìì, Сʱ, ·ÖÖÓ, Ãë | "DAYS HOURS:MINUTES:SECONDS" |
MySQLÔÚexpr¸ñʽÖÐÔÊÐíÈκαêµã·Ö¸ô·û¡£±íʾÏÔʾµÄÊǽ¨ÒéµÄ·Ö¸ô·û¡£Èç¹ûdate²ÎÊýÊÇÒ»¸öDATEÖµ²¢ÇÒÄãµÄ¼ÆËã½ö½ö°üº¬YEAR¡¢MONTHºÍDAY²¿·Ö(¼´£¬Ã»ÓÐʱ¼ä²¿·Ö)£¬½á¹ûÊÇÒ»¸öDATEÖµ¡£·ñÔò½á¹ûÊÇÒ»¸öDATETIMEÖµ¡£
mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
-> 1998-01-01 00:00:00
mysql> SELECT INTERVAL 1 DAY + "1997-12-31";
-> 1998-01-01
mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
-> 1997-12-31 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 SECOND);
-> 1998-01-01 00:00:00
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 DAY);
-> 1998-01-01 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL "1:1" MINUTE_SECOND);
-> 1998-01-01 00:01:00
mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
INTERVAL "1 1:1:1" DAY_SECOND);
-> 1997-12-30 22:58:59
mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
INTERVAL "-1 10" DAY_HOUR);
-> 1997-12-30 14:00:00
mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
-> 1997-12-02
mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
-> 1999
mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
-> 199907
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
-> 20102
Èç¹ûÄãÖ¸¶¨Ì«¶ÌµÄ¼ä¸ôÖµ(²»°üÀ¨type¹Ø¼ü´ÊÆÚÍûµÄ¼ä¸ô²¿·Ö)£¬MySQL¼ÙÉèÄãÊ¡µôÁ˼ä¸ôÖµµÄ×î×óÃæ²¿·Ö¡£ÀýÈ磬Èç¹ûÄãÖ¸¶¨Ò»¸ötypeÊÇDAY_SECOND£¬Öµexpr±»Ï£ÍûÓÐÌ졢Сʱ¡¢·ÖÖÓºÍÃ벿·Ö¡£Èç¹ûÄãÏó"1:10"ÕâÑùÖ¸¶¨Öµ£¬MySQL¼ÙÉèÈÕ×ÓºÍСʱ²¿·ÖÊǶªÊ§µÄ²¢ÇÒÖµ´ú±í·ÖÖÓºÍÃë¡£»»¾ä»°Ëµ£¬"1:10"
DAY_SECONDÒÔËüµÈ¼ÛÓÚ"1:10" MINUTE_SECONDµÄ·½Ê½½âÊÍ£¬Õâ¶ÔÄÇMySQL½âÊÍTIMEÖµ±íʾ¾¹ýµÄʱ¼ä¶ø·Ç×÷ΪһÌìµÄʱ¼äµÄ·½Ê½ÓжþÒåÐÔ¡£Èç¹ûÄãʹÓÃȷʵ²»ÕýÈ·µÄÈÕÆÚ£¬½á¹ûÊÇNULL¡£Èç¹ûÄãÔö¼ÓMONTH¡¢YEAR_MONTH»òYEAR²¢ÇÒ½á¹ûÈÕÆÚ´óÓÚÐÂÔ·ݵÄ×î´óÖµÌìÊý£¬ÈÕ×ÓÔÚÐÂÔÂÓÃ×î´óµÄÌìµ÷Õû¡£
mysql> select DATE_ADD('1998-01-30', Interval 1 month);
-> 1998-02-28
×¢Ò⣬´ÓÇ°ÃæµÄÀý×ÓÖдÊINTERVALºÍtype¹Ø¼ü´Ê²»ÊÇÇø·Ö´óСдµÄ¡£
TO_DAYS(date) date£¬·µ»ØÒ»¸öÌìÊý(´Ó0ÄêµÄÌìÊý)¡£ mysql> select TO_DAYS(950501);
-> 728779
mysql> select TO_DAYS('1997-10-07');
-> 729669
FROM_DAYS(N) N£¬·µ»ØÒ»¸öDATEÖµ¡£ mysql> select FROM_DAYS(729669);
-> '1997-10-07'
DATE_FORMAT(date,format) format×Ö·û´®¸ñʽ»¯dateÖµ¡£ÏÂÁÐÐÞÊηû¿ÉÒÔ±»ÓÃÔÚformat×Ö·û´®ÖУº
%M |
ÔÂÃû×Ö(January¡¡December) |
%W |
ÐÇÆÚÃû×Ö(Sunday¡¡Saturday) |
%D |
ÓÐÓ¢Óïǰ׺µÄÔ·ݵÄÈÕÆÚ(1st, 2nd, 3rd,
µÈµÈ¡££© |
%Y |
Äê, Êý×Ö, 4 λ |
%y |
Äê, Êý×Ö, 2 λ |
%a |
ËõдµÄÐÇÆÚÃû×Ö(Sun¡¡Sat) |
%d |
Ô·ÝÖеÄÌìÊý, Êý×Ö(00¡¡31) |
%e |
Ô·ÝÖеÄÌìÊý, Êý×Ö(0¡¡31) |
%m |
ÔÂ, Êý×Ö(01¡¡12) |
%c |
ÔÂ, Êý×Ö(1¡¡12) |
%b |
ËõдµÄÔ·ÝÃû×Ö(Jan¡¡Dec) |
%j |
Ò»ÄêÖеÄÌìÊý(001¡¡366) |
%H |
Сʱ(00¡¡23) |
%k |
Сʱ(0¡¡23) |
%h |
Сʱ(01¡¡12) |
%I |
Сʱ(01¡¡12) |
%l |
Сʱ(1¡¡12) |
%i |
·ÖÖÓ, Êý×Ö(00¡¡59) |
%r |
ʱ¼ä,12 Сʱ(hh:mm:ss [AP]M) |
%T |
ʱ¼ä,24 Сʱ(hh:mm:ss) |
%S |
Ãë(00¡¡59) |
%s |
Ãë(00¡¡59) |
%p |
AM»òPM |
%w |
Ò»¸öÐÇÆÚÖеÄÌìÊý(0=Sunday ¡¡6=Saturday £© |
%U |
ÐÇÆÚ(0¡¡52), ÕâÀïÐÇÆÚÌìÊÇÐÇÆÚµÄµÚÒ»Ìì |
%u |
ÐÇÆÚ(0¡¡52), ÕâÀïÐÇÆÚÒ»ÊÇÐÇÆÚµÄµÚÒ»Ìì |
%% |
Ò»¸öÎÄ×Ö¡°%¡±¡£ |
ËùÓÐµÄÆäËû×Ö·û²»×ö½âÊͱ»¸´ÖƵ½½á¹ûÖС£
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
-> 'Saturday October 1997'
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
-> '22:23:00'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
'%D %y %a %d %m %b %j');
-> '4th 97 Sat 04 10 Oct 277'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
'%H %k %I %r %T %S %w');
-> '22 22 10 10:23:00 PM 22:23:00 00 6'
MySQL3.23ÖУ¬ÔÚ¸ñʽÐÞÊηû×Ö·ûǰÐèÒª%¡£ÔÚMySQL¸üÔçµÄ°æ±¾ÖУ¬%ÊÇ¿ÉÑ¡µÄ¡£
TIME_FORMAT(time,format) DATE_FORMAT()º¯ÊýÒ»ÑùʹÓ㬵«ÊÇformat×Ö·û´®Ö»Äܰüº¬´¦ÀíСʱ¡¢·ÖÖÓºÍÃëµÄÄÇЩ¸ñʽÐÞÊηû¡£ÆäËûÐÞÊηû²úÉúÒ»¸öNULLÖµ»ò0¡£
CURDATE() CURRENT_DATE 'YYYY-MM-DD'»òYYYYMMDD¸ñʽ·µ»Ø½ñÌìÈÕÆÚÖµ£¬È¡¾öÓÚº¯ÊýÊÇÔÚÒ»¸ö×Ö·û´®»¹ÊÇÊý×ÖÉÏÏÂÎı»Ê¹Óá£
mysql> select CURDATE();
-> '1997-12-15'
mysql> select CURDATE() + 0;
-> 19971215
CURTIME() CURRENT_TIME 'HH:MM:SS'»òHHMMSS¸ñʽ·µ»Øµ±Ç°Ê±¼äÖµ£¬È¡¾öÓÚº¯ÊýÊÇÔÚÒ»¸ö×Ö·û´®»¹ÊÇÔÚÊý×ÖµÄÉÏÏÂÎı»Ê¹Óá£
mysql> select CURTIME();
-> '23:50:26'
mysql> select CURTIME() + 0;
-> 235026
NOW() SYSDATE() CURRENT_TIMESTAMP 'YYYY-MM-DD HH:MM:SS'»òYYYYMMDDHHMMSS¸ñʽ·µ»Øµ±Ç°µÄÈÕÆÚºÍʱ¼ä£¬È¡¾öÓÚº¯ÊýÊÇÔÚÒ»¸ö×Ö·û´®»¹ÊÇÔÚÊý×ÖµÄÉÏÏÂÎı»Ê¹Óá£
mysql> select NOW();
-> '1997-12-15 23:50:26'
mysql> select NOW() + 0;
-> 19971215235026
UNIX_TIMESTAMP() UNIX_TIMESTAMP(date) '1970-01-01 00:00:00'GMT¿ªÊ¼µÄÃëÊý)¡£Èç¹ûUNIX_TIMESTAMP()ÓÃÒ»¸ödate²ÎÊý±»µ÷Óã¬Ëü·µ»Ø´Ó'1970-01-01
00:00:00' GMT¿ªÊ¼µÄÃëÊýÖµ¡£date¿ÉÒÔÊÇÒ»¸öDATE×Ö·û´®¡¢Ò»¸öDATETIME×Ö·û´®¡¢Ò»¸öTIMESTAMP»òÒÔYYMMDD»òYYYYMMDD¸ñʽµÄ±¾µØÊ±¼äµÄÒ»¸öÊý×Ö¡£
mysql> select UNIX_TIMESTAMP();
-> 882226357
mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');
-> 875996580
µ±UNIX_TIMESTAMP±»ÓÃÓÚÒ»¸öTIMESTAMPÁУ¬º¯Êý½«Ö±½Ó½ÓÊÜÖµ£¬Ã»ÓÐÒþº¬µÄ¡°string-to-unix-timestamp¡±±ä»»¡£
FROM_UNIXTIME(unix_timestamp) 'YYYY-MM-DD HH:MM:SS'»òYYYYMMDDHHMMSS¸ñʽ·µ»Øunix_timestamp²ÎÊýËù±íʾµÄÖµ£¬È¡¾öÓÚº¯ÊýÊÇÔÚÒ»¸ö×Ö·û´®»¹ÊÇ»òÊý×ÖÉÏÏÂÎÄÖб»Ê¹Óá£
mysql> select FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
mysql> select FROM_UNIXTIME(875996580) + 0;
-> 19971004222300
FROM_UNIXTIME(unix_timestamp,format) format×Ö·û´®¸ñʽ»¯¡£format¿ÉÒÔ°üº¬ÓëDATE_FORMAT()º¯ÊýÁгöµÄÌõĿͬÑùµÄÐÞÊηû¡£
mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),
'%Y %D %M %h:%i:%s %x');
-> '1997 23rd December 03:43:30 x'
SEC_TO_TIME(seconds) seconds²ÎÊý£¬±ä»»³ÉСʱ¡¢·ÖÖÓºÍÃ룬ֵÒÔ'HH:MM:SS'»òHHMMSS¸ñʽ»¯£¬È¡¾öÓÚº¯ÊýÊÇÔÚÒ»¸ö×Ö·û´®»¹ÊÇÔÚÊý×ÖÉÏÏÂÎÄÖб»Ê¹Óá£
mysql> select SEC_TO_TIME(2378);
-> '00:39:38'
mysql> select SEC_TO_TIME(2378) + 0;
-> 3938
TIME_TO_SEC(time) time²ÎÊý£¬×ª»»³ÉÃë¡£ mysql> select TIME_TO_SEC('22:23:00');
-> 80580
mysql> select TIME_TO_SEC('00:39:38');
-> 2378
DATABASE() mysql> select DATABASE();
-> 'test'
USER() SYSTEM_USER() SESSION_USER() mysql> select USER();
-> 'davida@localhost'
ÔÚMySQL 3.22.11»òÒÔºó°æ±¾ÖУ¬Õâ°üÀ¨Óû§ÃûºÍ¿Í»§Ö÷»úÃû¡£Äã¿ÉÒÔÏóÕâÑùÖ»ÌáÈ¡Óû§Ãû²¿·Ö(ÖµÊÇ·ñ°üÀ¨Ö÷»úÃû²¿·Ö¾ù¿É¹¤×÷)£º
mysql> select substring_index(USER(),"@",1);
-> 'davida'
PASSWORD(str) str¼ÆËãÒ»¸ö¿ÚÁî×Ö·û´®¡£¸Ãº¯Êý±»ÓÃÓÚΪÁËÔÚuserÊÚȨ±íµÄPasswordÁÐÖд洢¿ÚÁî¶ø¼ÓÃÜMySQL¿ÚÁî¡£
mysql> select PASSWORD('badpwd');
-> '7f84554057dd964b'
PASSWORD()¼ÓÃÜÊÇ·Ç¿ÉÄæµÄ¡£PASSWORD()²»ÒÔÓëUnix¿ÚÁî¼ÓÃܵÄÏàͬµÄ·½·¨Ö´ÐпÚÁî¼ÓÃÜ¡£Äã²»Ó¦¸Ã¼Ù¶¨Èç¹ûÄãµÄUnix
¿ÚÁîºÍÄãµÄMySQL¿ÚÁîÊÇÒ»ÑùµÄ£¬PASSWORD()½«µ¼ÖÂÓëÔÚUnix¿ÚÁîÎļþ´æ´¢µÄÏàͬµÄ¼ÓÃÜÖµ¡£¼ûENCRYPT()¡£
ENCRYPT(str[,salt]) crypt()ϵͳµ÷ÓüÓÃÜstr¡£salt²ÎÊýÓ¦¸ÃÊÇÒ»¸öÓÐ2¸ö×Ö·ûµÄ×Ö·û´®¡££¨MySQL
3.22.16ÖУ¬salt¿ÉÒÔ³¤ÓÚ2¸ö×Ö·û¡££©mysql> select ENCRYPT("hello");
-> 'VxuFAJXVARROc'
Èç¹ûcrypt()ÔÚÄãµÄϵͳÉϲ»¿ÉÓã¬ENCRYPT()×ÜÊÇ·µ»ØNULL¡£ENCRYPT()Ö»±£ÁôstrÆðʼ8¸ö×Ö·û¶øºöÂÔËùÓÐÆäËû£¬ÖÁÉÙÔÚijЩϵͳÉÏÊÇÕâÑù¡£Õ⽫ÓɵײãµÄcrypt()ϵͳµ÷ÓõÄÐÐΪ¾ö¶¨¡£
ENCODE(str,pass_str) pass_str×÷Ϊ¿ÚÁî¼ÓÃÜstr¡£ÎªÁ˽âÃܽá¹û£¬Ê¹ÓÃDECODE()¡£½á¹ûÊÇÒ»¸ö¶þ½øÖÆ×Ö·û´®£¬Èç¹ûÄãÏëÒªÔÚÁÐÖб£´æËü£¬Ê¹ÓÃÒ»¸öBLOBÁÐÀàÐÍ¡£
DECODE(crypt_str,pass_str) pass_str×÷Ϊ¿ÚÁî½âÃܼÓÃܵÄ×Ö·û´®crypt_str¡£crypt_strÓ¦¸ÃÊÇÒ»¸öÓÉENCODE()·µ»ØµÄ×Ö·û´®¡£
MD5(string) mysql> select MD5("testing")
-> 'ae2b1fca515949e5d54fb22b8ed95575'
LAST_INSERT_ID([expr]) AUTO_INCREMENTÁеÄ×îºóÒ»¸ö×Ô¶¯²úÉúµÄÖµ¡£¼û20.4.29 mysql_insert_id()¡£ mysql> select LAST_INSERT_ID();
-> 195
²úÉúµÄ×îºóIDÒÔÿ¸öÁ¬½ÓΪ»ù´¡ÔÚ·þÎñÆ÷±»Î¬»¤£¬Ëü²»»á±»ÆäËû¿Í»§¸Ä±