MySQL¤¤¤å°Ñ¦Ò¤â¥UĶªÌ¡G®Ë¤l (clyan@sohu.com¡^ ¥D¶¡Ghttp://linuxdb.yeah.net
ĶªÌ¡G®Ë¤l (clyan@sohu.com¡^
GB ½X¥D¶¡Ghttp://linuxdb.yeah.net
Big5 Âà½XªÌ¡Gstatue
(statue@bbs.yzu.edu.tw¡^
µü·JÂà´«¡G´^ªZ¿³ (wilson@mailbox.com.tw)
Big5 ½X¥D¶¡G
http://cnpa.yzu.edu.tw/~cfc/docs/mysqldoc_big5/manual_toc.html
Big5 ½X¤À¯¸¡G
http://php.wilson.gs/mysqldoc/big5/manual_toc.html
²Ä¤@³¹, «e¤@³¹, ¤U¤@³¹, ³Ì«á¤@³¹¡A¥Ø¿ý.
¤@Ó¦r²Å¦ê¬O¤@Ó¦r²Å§Ç¦C¡A¥Ñ³æ¤Þ¸¹(¡§'¡¨)©ÎÂù¤Þ¸¹(¡§"¡¨)¦r²Å(«áªÌ¥u¦³§A¤£¦bANSI¼Ò¦¡¹B¦æ)¥]³ò¡C¨Ò¦p¡G
'a string' "another string"
¦b¦r²Å¦ê¤º¡A¬YÓ¶¶§Ç¦³¯S®íªº·N¸q¡C³o¨Ç¶¶§Çªº¨C¤@Ó¥H¤@±ø¤Ï±×½u(¡§\¡¨)¶}©l¡AºÙ¬°Âà¸q¦r²Å¡CMySQLÃѧO¤U¦CÂà¸q¦r²Å¡G
\0 NUL)¦r²Å¡C \n \t \r \b \' \" \\ \% \_ ª`·N¡A¦pªG§A¦b¬Y¨Ç¥¿¤åÀô¹Ò¤¤¨Ï¥Î¡§\%¡¨©Î¡§\%_¡¨¡A³o¨Ç±Nªð¦^¦r²Å¦ê¡§\%¡¨©M¡§\_¡¨¦Ó¤£¬O¡§%¡¨©M¡§_¡¨¡C
¦³´XºØ¤èªk¦b¤@Ó¦r²Å¦ê¤º¥]¬A¤Þ¸¹¡G
¤U±Åã¥ÜªºSELECTºt¥Ü¤Þ¸¹©MÂà¸q¦p¦ó¤u§@¡G
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 | +--------------------+
¦pªG§A·Qn§â¤G¶i¨î¼Æ¾Ú´¡¤J¨ì¤@ÓBLOB¦C¡A¤U¦C¦r²Å¥²¶·¥ÑÂà¸q§Ç¦Cªí¥Ü¡G
NUL\ ' " ¦pªG§A¼gC¥N½X¡A§A¥i¥H¨Ï¥ÎC API¨ç¼Æmysql_escape_string()¨Ó¬°INSERT»y¥yÂà¸q¦r²Å¡C¨£20.3 C API ¨ç¼Æ·§z¡C¦b Perl¤¤¡A§A¥i¥H¨Ï¥ÎDBI¥]¤¤ªºquote¤èªkÅÜ´«¯S®íªº¦r²Å¨ì¥¿½TªºÂà¸q§Ç¦C¡C¨£20.5.2 DBI¤¶±¡C
§AÀ³¸Ó¦b¥ô¦ó¥i¯à¥]§t¤Wz¥ô¦ó¯S®í¦r²Åªº¦r²Å¦ê¤W¨Ï¥ÎÂà¸q¨ç¼Æ¡I
¾ã¼Æªí¥Ü¬°¤@ӼƦr¶¶§Ç¡C¯BÂI¼Æ¨Ï¥Î¡§.¡¨§@¬°¤@Ó¤Q¶i¨î¤À¹j²Å¡C³o¨âºØÃþ«¬ªº¼Æ¦r¥i¥H«e¸m¡§-¡¨ªí©ú¤@ÓtÈ¡C
¦³®Ä¾ã¼Æªº¨Ò¤l¡G
1221 0 -32
¦³®Ä¯BÂI¼Æªº¨Ò¤l¡G
294.42 -32032.6809e+10 148.00
¤@Ó¾ã¼Æ¥i¥H¦b¯BÂI¤W¤U¤å¨Ï¥Î¡Q¥¦¸ÑÄÀ¬°µ¥Èªº¯BÂI¼Æ¡C
MySQL¤ä´©¤Q¤»¶i¨îÈ¡C¦b¼Æ¦r¤W¤U¤å¡A¥¦Ìªí²{Ãþ¦ü©ó¤@Ó¾ã¼Æ(64¦ìºë«×)¡C¦b¦r²Å¦ê¤W¤U¤å¡A¥¦Ìªí²{Ãþ¦ü©ó¤@Ó¤G¶i¨î¦r²Å¦ê¡A³o¸Ì¨C¤@¹ï¤Q¤»¶i¨î¼Æ¦r³QÅÜ´«¬°¤@Ó¦r²Å¡C
mysql> SELECT 0xa+0
-> 10
mysql> select 0x5061756c;
-> Paul
¤Q¤»¶i¨î¦r²Å¦ê¸g±`³QODBC¨Ï¥Î¡Aµ¹¥XBLOB¦CªºÈ¡C
NULLÈNULLÈ·N¨ýµÛ¡§µL¼Æ¾Ú¡¨¨Ã¥B¤£¦P©ó¨Ò¦p¼Æ¦rÃþ«¬ªº0¬°©Î¦r²Å¦êÃþ«¬ªºªÅ¦r²Å¦ê¡C¨£18.15 NULLȰÝÃD¡C
·í¨Ï¥Î¤å¥»¤å¥ó¾É¤J©Î¾É¥X®æ¦¡(LOAD DATA INFILE, SELECT
... INTO OUTFILE)®É¡ANULL¥i¥H¥Î\Nªí¥Ü¡C¨£7.16 LOAD DATA INFILE¥yªk¡C
¸ê®Æ®w¡Bªí¡B¯Á¤Þ¡B¦C©M§O¦Wªº¦W¦r³£¿í¦uMySQL¦P¼Ëªº³W«h:
ª`·N¡A±qMySQL3.23.6¶}©l³W«h§ïÅܤF¡A¦¹®É§Ṳ́ޤJ¤F¥Î'¤Þ¥Îªº¼ÐÃѲÅ(¸ê®Æ®w¡Bªí©M¦C©R¦W)¡]¦pªG§A¥HANSI¼Ò¦¡¹B¦æ¡A"¤]±N¥Î©ó¤Þ¥Î¼ÐÃѲš^¡C
| ¼ÐÃѲŠ| ³Ì¤jªø«× | ¤¹³\ªº¦r²Å |
| ¸ê®Æ®w | 64 | ¦b¤@ӥؿý¦W¤¹³\ªº¥ô¦ó¦r²Å¡A°£¤F/. |
| ªí | 64 | ¦b¤å¥ó¦W¤¤¤¹³\ªº¥ô¦ó¦r²Å¡A°£¤F/©Î. |
| ¦C | 64 | ©Ò¦³¦r²Å |
| §O¦W | 255 | ©Ò¦³¦r²Å |
ª`·N¡A°£¤F¥H¤W¡A§A¦b¤@Ó¼ÐÃѲŤ¤¤£¯à¦³ASCII(0)©ÎASCII(255)¡C
ª`·N¡A¦pªG¼ÐÃѲŬO¤@Ó¨îµü©Î¥]§t¯S®í¦r²Å¡A·í§A¨Ï¥Î¥¦®É¡A§A¥²¶·Á`¬O¥Î`¤Þ¥Î¥¦¡G
SELECT * from `select` where `select`.id > 100;
¦b MySQLªº¥ý«eª©¥»¡A©R¦W³W«h¦p¤U¡G
«ØÄ³§A¤£¨Ï¥Î¹³1e³o¼Ëªº¦W¦r¡A¦]¬°¤@Óªí¹F¦¡¦p1e+1¬O¤G¸q©Êªº¡C¥¦¥i¥H¸ÑÄÀ¬°ªí¹F¦¡1e
+ 1©Î¼Æ¦r1e+1¡C
¦bMySQL¤¤¡A§A¯à¨Ï¥Î¤U¦Cªí®æªº¥ô¦ó¤@ºØ¤Þ¥Î¦C¡G
| ¦C¤Þ¥Î | §t¸q |
col_name |
¨Ó¦Û©ó¥ô·Nªíªº¦Ccol_name¡A¥Î©ó¥]§t¸Óªíªº¤@Ó¦Cªº¬d¸ß¤¤ |
tbl_name.col_name |
¨Ó¦Û·í«eªº¸ê®Æ®wªºªítbl_nameªº¦Ccol_name |
db_name.tbl_name.col_name |
¦æ¦Ccol_name±qªí®ætbl_name¸ê®Æ®wdb_name¡C³oӧΦ¡¦bMySQL3.22©Î¥H«áª©¥»¥i¥Î¡C
|
`column_name` |
¬O¤@ÓÃöÁäµü©Î¥]§t¯S®í¦r²Åªº¦C¡C |
¦b¤@±ø»y¥yªº¦C¤Þ¥Î¤¤¡A§A¤£¥²«ü©w¤@Ótbl_name©Îdb_name.tbl_name«eºó¡A°£«D¤Þ¥Î·|¦³¤G¸q©Ê¡C¨Ò¦p¡A°²©wªít1©Mt2¡A¨CÓ§¡¥]§t¦Cc¡A¨Ã¥B§A¥Î¤@ӨϥÎt1©Mt2ªºSELECT»y¥yÀ˯Ác¡C¦b³oºØ±¡ªp¤U¡Ac¦³¤G¸q©Ê¡A¦]¬°¥¦¦b¨Ï¥Îªíªº»y¥y¤¤¤£¬O°ß¤@ªº¡A¦]¦¹§A¥²¶·³q¹L¼g¥Xt1.c©Ît2.c¨Ó«ü©ú§A·QnþÓªí¡C¦P¼Ë¡A¦pªG§A±q¸ê®Æ®wdb1¤¤¤@Óªít©M¦b¸ê®Æ®wdb2ªº¤@ÓªítÀ˯Á¡A§A¥²¶·¥Îdb1.t.col_name©Mdb2.t.col_name¤Þ¥Î³o¨Ç¼Æ¾Úªíªº¦C¡C
¥yªk.tbl_name·N¨ýµÛ¦b·í«eªº¸ê®Æ®w¤¤ªºªítbl_name¡A¸Ó¥yªk¬°¤FODBCªºÝ®e©Ê³Q±µ¨ü¡A¦]¬°¤@¨ÇODBCµ{¦¡¥Î¤@Ó¡§.¡¨¦r²Å§@¬°¸ê®Æ®wªí¦Wªº«eºó¡C
¦bMySQL¤¤¡A¸ê®Æ®w©Mªí¹ïÀ³©ó¦b¨º¨Ç¥Ø¿ý¤Uªº¥Ø¿ý©M¤å¥ó¡A¦]¦Ó¡A¤º¦bªº§@·~¨t²Îªº±Ó·P©Ê¨M©w¸ê®Æ®w©Mªí©R¦Wªº¤j¤p¼g±Ó·P©Ê¡C³o·N¨ýµÛ¸ê®Æ®w©Mªí¦W¦bUnix¤W¬O°Ï¤À¤j¤p¼gªº¡A¦Ó¦bWin32¤W©¿²¤¤j¤p¼g¡C
ª`·N¡G¦bWin32¤W¡AºÉºÞ¸ê®Æ®w©Mªí¦W¬O©¿²¤¤j¤p¼gªº¡A§A¤£À³¸Ó¦b¦P¤@Ó¬d¸ß¤¤¨Ï¥Î¤£¦Pªº¤j¤p¼g¨Ó¤Þ¥Î¤@Óµ¹©wªº¸ê®Æ®w©Mªí¡C¤U¦C¬d¸ß±N¤£¤u§@¡A¦]¬°¥¦§@¬°my_table©M§@¬°MY_TABLE¤Þ¥Î¤@Óªí¡G
mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;
¦C¦W¦b©Ò¦³±¡ªp¤U³£¬O©¿²¤¤j¤p¼gªº¡C
ªíªº§O¦W¬O°Ï¤À¤j¤p¼gªº¡C¤U¦C¬d¸ß±N¤£¤u§@¡A:
¦]¬°¥¦¥Îa©MA¤Þ¥Î§O¦W¡G
mysql> SELECT col_name FROM tbl_name AS a
WHERE a.col_name = 1 OR A.col_name = 2;
¦Cªº§O¦W¬O©¿²¤¤j¤p¼gªº¡C
MySQL¤ä´©°õ¦æºü¯S©wªºÅܼơA¥Î@variablename¥yªk¡C¤@ÓÅܼƦW¥i¥H¥Ñ·í«e¦r²Å¶°ªº¼Æ¦r¦r¥À¦r²Å©M¡§_¡¨¡B¡§$¡¨©M¡§.¡¨²Õ¦¨¡C¹w³]¦r²Å¶°¬OISO-8859-1
Latin1¡Q³o¥i¥H³q¹L«·s½sĶMySQL§ïÅÜ¡C¨£9.1.1 ¥Î©ó¼Æ¾Ú©M±Æ§Çªº¦r²Å¶°¡C
ÅܼƤ£¥²³Qªì©l¤Æ¡C¹w³]¦a¡A¥LÌ¥]§tNULL¨Ã¯àÀx¦s¾ã¼Æ¡B¹ê¼Æ©Î¤@Ó¦r²Å¦êÈ¡C·í°õ¦æºü°h¥X®É¡A¹ï©ó¤@Ó°õ¦æºüªº©Ò¦³ÅܼƦ۰ʦa³QÄÀ©ñ¡C
§A¥i¥H¥ÎSET¥yªk³]¸m¤@ÓÅܼơG
SET @variable= { integer expression | real expression | string expression }
[,@variable= ...].
§A¤]¥i¥H¥Î@variable:=expr¥yªk¦b¤@Óªí¹F¦¡¤¤³]¸m¤@ÓÅܼơG
select @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3; +----------------------+------+------+------+ | @t1:=(@t2:=1)+@t3:=4 | @t1 | @t2 | @t3 | +----------------------+------+------+------+ | 5 | 5 | 1 | 4 | +----------------------+------+------+------+
¡]³o¸Ì¡A§Ṳ́£±o¤£¨Ï¥Î:=¥yªk¡A¦]¬°=¬O¬°¤ñ¸û«O¯dªº¡^
MySQL¤ä´©¤j¶qªº¦CÃþ«¬¡A¥¦¥i¥H³Q¤À¬°3Ãþ¡G¼Æ¦rÃþ«¬¡B¤é´Á©M®É¶¡Ãþ«¬¥H¤Î¦r²Å¦ê(¦r²Å)Ãþ«¬¡C¥»¸`º¥ýµ¹¥X¥i¥ÎÃþ«¬ªº¤@Ó·§z¡A¨Ã¥BÁ`µ²¨CÓ¦CÃþ«¬ªºÀx¦s»Ý¨D¡AµM«á´£¨Ñ¨CÓÃþ¤¤ªºÃþ«¬©Ê½èªº§ó¸Ô²Óªº´yz¡C·§z¦³·N²¤Æ¡A§ó¸Ô²Óªº»¡©úÀ³¸Ó¦Ò¼{¨ì¦³Ãö¯S©w¦CÃþ«¬ªºªþ¥[¸ê°T¡A¨Ò¦p§A¯à¬°¨ä«ü©wȪº¤¹³\®æ¦¡¡C
¥ÑMySQL¤ä´©ªº¦CÃþ«¬¦C¦b¤U±¡C¤U¦C¥N½X¦r¥À¥Î©ó´yz¤¤¡G
M D M-2¡C
¤è¬A¸¹(¡§[¡¨©M¡§]¡¨)«ü¥X¥i¿ïªºÃþ«¬×¹¢²Åªº³¡¤À¡C
ª`·N¡A¦pªG§A«ü©w¤@Ó¤F¬°ZEROFILL¡AMySQL±N¬°¸Ó¦C¦Û°Ê¦a¼W¥[UNSIGNEDÄݩʡC
TINYINT[(M)] [UNSIGNED] [ZEROFILL] -128¨ì127¡AµL²Å¸¹ªº½d³ò¬O0¨ì255¡C
SMALLINT[(M)] [UNSIGNED] [ZEROFILL] -32768¨ì32767¡AµL²Å¸¹ªº½d³ò¬O0¨ì65535¡C
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] -8388608¨ì8388607¡AµL²Å¸¹ªº½d³ò¬O0¨ì16777215¡C
INT[(M)] [UNSIGNED] [ZEROFILL] -2147483648¨ì2147483647¡AµL²Å¸¹ªº½d³ò¬O0¨ì4294967295¡C
INTEGER[(M)] [UNSIGNED] [ZEROFILL] INTªº¤@Ó¦P¸qµü¡C BIGINT[(M)] [UNSIGNED] [ZEROFILL] -9223372036854775808¨ì9223372036854775807¡AµL²Å¸¹ªº½d³ò¬O0¨ì18446744073709551615¡Cª`·N¡A©Ò¦³ºâ³N¹Bºâ¥Î¦³²Å¸¹ªºBIGINT©ÎDOUBLEȧ¹¦¨¡A¦]¦¹§A¤£À³¸Ó¨Ï¥Î¤j©ó9223372036854775807¡]63¦ì)ªº¦³²Å¸¹¤j¾ã¼Æ¡A°£¤F¦ì¨ç¼Æ¡Iª`·N¡A·í¨âӰѼƬOINTEGERȮɡA-¡B+©M*±N¨Ï¥ÎBIGINT¹Bºâ¡I³o·N¨ýµÛ¦pªG§A¼2Ó¤j¾ã¼Æ(©Î¨Ó¦Û©óªð¦^¾ã¼Æªº¨ç¼Æ)¡A¦pªGµ²ªG¤j©ó9223372036854775807¡A§A¥i¥H±o¨ì·N¥~ªºµ²ªG¡C¤@Ó¯BÂI¼Æ¦r¡A¤£¯à¬OµL²Å¸¹ªº¡A¹ï¤@Ó³æºë«×¯BÂI¼Æ¡A¨äºë«×¥i¥H¬O<=24¡A¹ï¤@ÓÂùºë«×¯BÂI¼Æ¡A¬O¦b25
©M53¤§¶¡¡A³o¨ÇÃþ«¬¦pFLOAT©MDOUBLEÃþ«¬°¨¤W¦b¤U±´yz¡CFLOAT(X)¦³¹ïÀ³ªºFLOAT©MDOUBLE¬Û¦Pªº½d³ò¡A¦ý¬OÅã¥Ü¤Ø¤o©M¤p¼Æ¦ì¼Æ¬O¥¼©w¸qªº¡C¦bMySQL3.23¤¤¡A³o¬O¤@Ó¯u¥¿ªº¯BÂIÈ¡C¦b§ó¦ªºMySQLª©¥»¤¤¡AFLOAT(precision)Á`¬O¦³2¦ì¤p¼Æ¡C¸Ó¥yªk¬°¤FODBCÝ®e©Ê¦Ó´£¨Ñ¡C
FLOAT[(M,D)] [ZEROFILL] -3.402823466E+38¨ì-1.175494351E-38¡A0
©M1.175494351E-38¨ì3.402823466E+38¡CM¬OÅã¥Ü¼e«×¦ÓD¬O¤p¼Æªº¦ì¼Æ¡C¨S¦³°Ñ¼ÆªºFLOAT©Î¦³<24
ªº¤@ӰѼƪí¥Ü¤@Ó³æºë±K¯BÂI¼Æ¦r¡C
DOUBLE[(M,D)] [ZEROFILL] -1.7976931348623157E+308¨ì-2.2250738585072014E-308¡B
0©M2.2250738585072014E-308¨ì1.7976931348623157E+308¡CM¬OÅã¥Ü¼e«×¦ÓD¬O¤p¼Æ¦ì¼Æ¡C¨S¦³¤@ӰѼƪºDOUBLE©ÎFLOAT(X)¡]25
< = X < = 53¡^¥Nªí¤@ÓÂùºë±K¯BÂI¼Æ¦r¡C DOUBLE PRECISION[(M,D)] [ZEROFILL] REAL[(M,D)] [ZEROFILL] DOUBLE¦P¸qµü¡C DECIMAL[(M[,D])] [ZEROFILL] CHAR¦C¡G¡§¥¼À£ÁY¡¨·N¨ýµÛ¼Æ¦r§@¬°¤@Ó¦r²Å¦ê³QÀx¦s¡AȪº¨C¤@¦ì¨Ï¥Î¤@Ó¦r²Å¡C¤p¼ÆÂI¡A¨Ã¥B¹ï©ót¼Æ¡A¡§-¡¨²Å¸¹¤£¦bM¤¤pºâ¡C¦pªGD¬O0¡AȱN¨S¦³¤p¼ÆÂI©Î¤p¼Æ³¡¤À¡CDECIMALȪº³Ì¤j½d³ò»PDOUBLE¬Û¦P¡A¦ý¬O¹ï¤@Óµ¹©wªºDECIMAL¦C¡A¹ê»Úªº½d³ò¥i¥H³q¹LM©MDªº¿ï¾Ü³Q¨î¡C¦pªGD³Q¬Ù²¤¡A¥¦³Q³]¸m¬°0¡C¦pªGM³Q¬Ù±¼¡A¥¦³Q³]¸m¬°10¡Cª`·N¡A¦bMySQL3.22¸Ì¡AM°Ñ¼Æ¥]¬A²Å¸¹©M¤p¼ÆÂI¡C
NUMERIC(M,D) [ZEROFILL] DECIMALªº¤@Ó¦P¸qµü¡C DATE '1000-01-01'¨ì'9999-12-31'¡CMySQL¥H'YYYY-MM-DD'®æ¦¡¨ÓÅã¥ÜDATEÈ¡A¦ý¬O¤¹³\§A¨Ï¥Î¦r²Å¦ê©Î¼Æ¦r§âȽᵹDATE¦C¡C
DATETIME '1000-01-01 00:00:00'¨ì'9999-12-31
23:59:59'¡CMySQL¥H'YYYY-MM-DD HH:MM:SS'®æ¦¡¨ÓÅã¥ÜDATETIMEÈ¡A¦ý¬O¤¹³\§A¨Ï¥Î¦r²Å¦ê©Î¼Æ¦r§âȽᵹDATETIMEªº¦C¡C
TIMESTAMP[(M)] '1970-01-01 00:00:00'¨ì2037¦~ªº¬Y®É¡CMySQL¥HYYYYMMDDHHMMSS¡BYYMMDDHHMMSS¡BYYYYMMDD©ÎYYMMDD®æ¦¡¨ÓÅã¥ÜTIMESTAMPÈ¡A¨ú¨M©ó¬O§_M¬O14¡]©Î¬Ù²¤)¡B12¡B8©Î6¡A¦ý¬O¤¹³\§A¨Ï¥Î¦r²Å¦ê©Î¼Æ¦r§âȽᵹTIMESTAMP¦C¡C¤@ÓTIMESTAMP¦C¹ï©ó°O¿ý¤@ÓINSERT©ÎUPDATE¾Þ§@ªº¤é´Á©M®É¶¡¬O¦³¥Îªº¡A¦]¬°¦pªG§A¤£¦Û¤vµ¹¥¦½áÈ¡A¥¦¦Û°Ê¦a³Q³]¸m¬°³Ìªñ¾Þ§@ªº¤é´Á©M®É¶¡¡C§A¥H¥i¥H³q¹L½áµ¹¥¦¤@ÓNULLȳ]¸m¥¦¬°·í«eªº¤é´Á©M®É¶¡¡C¨£7.3.6 ¤é´Á©M®É¶¡Ãþ«¬¡C TIME '-838:59:59'¨ì'838:59:59'¡CMySQL¥H'HH:MM:SS'®æ¦¡¨ÓÅã¥ÜTIMEÈ¡A¦ý¬O¤¹³\§A¨Ï¥Î¦r²Å¦ê©Î¼Æ¦r§âȽᵹTIME¦C¡C
YEAR[(2|4)] 1901¨ì2155¡A©M0000¡]4¦ì¦~®æ¦¡¡^¡A¦pªG§A¨Ï¥Î2¦ì¡A1970-2069(
70-69)¡CMySQL¥HYYYY®æ¦¡¨ÓÅã¥ÜYEARÈ¡A¦ý¬O¤¹³\§A§â¨Ï¥Î¦r²Å¦ê©Î¼Æ¦rȽᵹYEAR¦C¡C¡]YEARÃþ«¬¦bMySQL3.22¤¤¬O·sÃþ«¬¡C¡^ CHAR(M) [BINARY] Mªº½d³ò¬O1
¡ã 255Ó¦r²Å¡C·íȳQÀ˯Á®É¡AªÅ®æ§À³¡³Q§R°£¡CCHARȮھڹw³]¦r²Å¶°¥H¤j¤p¼g¤£°Ï¤Àªº¤è¦¡±Æ§Ç©M¤ñ¸û¡A°£«Dµ¹¥XBINARYÃöÁäµü¡CNATIONAL
CHAR¡]µu§Î¦¡NCHAR)¬OANSI SQLªº¤è¦¡¨Ó©w¸qCHAR¦CÀ³¸Ó¨Ï¥Î¹w³]¦r²Å¶°¡C³o¬OMySQLªº¹w³]¡CCHAR¬OCHARACTERªº¤@ÓÁY¼g¡C
[NATIONAL] VARCHAR(M) [BINARY] VARCHARȮھڹw³]¦r²Å¶°¥H¤j¤p¼g¤£°Ï¤Àªº¤è¦¡±Æ§Ç©M¤ñ¸û¡A°£«Dµ¹¥XBINARYÃöÁäµüÈ¡C¨£7.7.1 Áô¦¡¦C«ü©wÅܤơC VARCHAR¬OCHARACTER
VARYING¤@ÓÁY¼g¡C TINYBLOB TINYTEXT BLOB©ÎTEXT¦C¡A³Ì¤jªø«×¬°255(2^8-1)Ó¦r²Å¡C¨£7.7.1 Áô¦¡¦C«ü©wÅܤơC BLOB TEXT BLOB©ÎTEXT¦C¡A³Ì¤jªø«×¬°65535(2^16-1)Ó¦r²Å¡C¨£7.7.1 Áô¦¡¦C«ü©wÅܤơC MEDIUMBLOB MEDIUMTEXT BLOB©ÎTEXT¦C¡A³Ì¤jªø«×¬°16777215(2^24-1)Ó¦r²Å¡C¨£7.7.1 Áô¦¡¦C«ü©wÅܤơC LONGBLOB LONGTEXT BLOB©ÎTEXT¦C¡A³Ì¤jªø«×¬°4294967295(2^32-1)Ó¦r²Å¡C¨£7.7.1 Áô¦¡¦C«ü©wÅÜ¤Æ ENUM('value1','value2',...) 'value1'¡B'value2',
...,©ÎNULL¡C¤@ÓENUM³Ì¦h¯à¦³65535¤£¦PªºÈ¡C
SET('value1','value2',...) 'value1',
'value2', ...¿ï¥X¡C¤@ÓSET³Ì¦h¯à¦³64Ó¦¨û¡C
¹ï©ó¨CÓ¥ÑMySQL¤ä´©ªº¦CÃþ«¬ªºÀx¦s»Ý¨D¦b¤U±«öÃþ¦C¥X¡C
| ¦CÃþ«¬ | »ÝnªºÀx¦s¶q |
TINYINT |
1 ¦r¸` |
SMALLINT |
2 Ó¦r¸` |
MEDIUMINT |
3 Ó¦r¸` |
INT |
4 Ó¦r¸` |
INTEGER |
4 Ó¦r¸` |
BIGINT |
8 Ó¦r¸` |
FLOAT(X) |
4 ¦pªG X < = 24 ©Î 8 ¦pªG 25 < = X < = 53 |
FLOAT |
4 Ó¦r¸` |
DOUBLE |
8 Ó¦r¸` |
DOUBLE PRECISION |
8 Ó¦r¸` |
REAL |
8 Ó¦r¸` |
DECIMAL(M,D) |
M¦r¸`(D+2 , ¦pªGM < D) |
NUMERIC(M,D) |
M¦r¸`(D+2 , ¦pªGM < D) |
| ¦CÃþ«¬ | »ÝnªºÀx¦s¶q |
DATE |
3 Ó¦r¸` |
DATETIME |
8 Ó¦r¸` |
TIMESTAMP |
4 Ó¦r¸` |
TIME |
3 Ó¦r¸` |
YEAR |
1 ¦r¸` |
| ¦CÃþ«¬ | »ÝnªºÀx¦s¶q |
CHAR(M) |
M¦r¸`¡A1 <= M <= 255 |
VARCHAR(M) |
L+1 ¦r¸`, ¦b¦¹L <= M©M1 <= M <= 255
|
TINYBLOB, TINYTEXT |
L+1 ¦r¸`, ¦b¦¹L< 2 ^ 8 |
BLOB, TEXT |
L+2 ¦r¸`, ¦b¦¹L< 2 ^ 16 |
MEDIUMBLOB, MEDIUMTEXT |
L+3 ¦r¸`, ¦b¦¹L< 2 ^ 24 |
LONGBLOB, LONGTEXT |
L+4 ¦r¸`, ¦b¦¹L< 2 ^ 32 |
ENUM('value1','value2',...) |
1 ©Î 2 Ó¦r¸`, ¨ú¨M©óªTÁ|Ȫº¼Æ¥Ø(³Ì¤jÈ65535¡^ |
SET('value1','value2',...) |
1¡A2¡A3¡A4©Î8Ó¦r¸`, ¨ú¨M©ó¶°¦X¦¨ûªº¼Æ¶q(³Ì¦h64Ó¦¨û¡^ |
VARCHAR©MBLOB©MTEXTÃþ«¬¬OÅܪøÃþ«¬¡A¹ï©ó¨äÀx¦s»Ý¨D¨ú¨M©ó¦CȪº¹ê»Úªø«×(¦b«e±ªºªí®æ¥H Lªí¥Ü)¡A¦Ó¤£¬O¨ú¨M©óÃþ«¬ªº³Ì¤j¥i¯à¤Ø¤o¡C¨Ò¦p¡A¤@ÓVARCHAR(10)¦C¯à«O¦s³Ì¤jªø«×¬°10Ó¦r²Åªº¤@Ó¦r²Å¦ê¡A¹ê»ÚªºÀx¦s»Ýn¬O¦r²Å¦êªºªø«×(L)¡A¥[¤W1Ó¦r¸`¥H°O¿ý¦r²Å¦êªºªø«×¡C¹ï©ó¦r²Å¦ê'abcd'¡AL¬O4¦ÓÀx¦sn¨D¬O5Ó¦r¸`¡C
BLOB©MTEXTÃþ«¬»Ýn1¡A2¡A3©Î4Ó¦r¸`¨Ó°O¿ý¦CȪºªø«×¡A³o¨ú¨M©óÃþ«¬ªº³Ì¤j¥i¯àªø«×¡C
¦pªG¤@Óªí¥]¬A¥ô¦óÅܪøªº¦CÃþ«¬¡A°O¿ý®æ¦¡±N¤]¬OÅܪøªº¡Cª`·N¡A·í¤@Óªí³Q³Ð«Ø®É¡AMySQL¥i¯à¦b¬Y¨Ç±ø¥ó¤U±N¤@Ó¦C±q¤@ÓÅܪøÃþ«¬§ïÅܬ°¤@Ó©wªøÃþ«¬©Î¬Û¤Ï¡C¨£7.7.1 Áô¦¡¦C«ü©wÅܤơC
¤@ÓENUM¹ï¹³ªº¤j¤p¥Ñ¤£¦PªTÁ|Ȫº¼Æ¶q¨M©w¡C1¦r¸`³Q¥Î©óªTÁ|¡A³Ì¤j¨ì255Ó¥i¯àªºÈ¡Q2Ó¦r¸`¥Î©óªTÁ|¡A³Ì¤j¨ì65535
ȡC
¤@ÓSET¹ï¹³ªº¤j¤p¥Ñ¤£¦Pªº¶°¦X¦¨ûªº¼Æ¶q¨M©w¡C¦pªG¶°¦X¤j¤p¬ON¡A¹ï¹³¥e¾Ú(N+7)/8Ó¦r¸`¡A¥|±Ë¤¤J¬°1¡A2¡A3¡A4©Î8
Ó¦r¸`¡C¤@ÓSET³Ì¦h¯à¦³64Ó¦¨û¡C
MySQL¤ä´©©Ò¦³ªºANSI/ISO SQL92ªº¼Æ¦rÃþ«¬¡C³o¨ÇÃþ«¬¥]¬A·Ç½T¼Æ¦rªº¼Æ¾ÚÃþ«¬(NUMERIC,
DECIMAL, INTEGER,©MSMALLINT)¡A¤]¥]¬Aªñ¦ü¼Æ¦rªº¼Æ¾ÚÃþ«¬(FLOAT,
REAL,©MDOUBLE PRECISION)¡CÃöÁäµüINT¬OINTEGERªº¤@Ó¦P¸qµü¡A¦ÓÃöÁäµüDEC¬ODECIMAL¤@Ó¦P¸qµü¡C
NUMERIC©MDECIMALÃþ«¬³QMySQL¹ê²{¬°¦P¼ËªºÃþ«¬¡A³o¦bSQL92¼Ð·Ç¤¹³\¡C¥L̳Q¥Î©ó«O¦sÈ¡A¸ÓȪº·Ç½Tºë«×¬O·¥¨ä«nªºÈ¡A¨Ò¦p»Pª÷¿ú¦³Ãöªº¼Æ¾Ú¡C·íÁn©ú¤@ÓÃþ¬O³o¨ÇÃþ«¬¤§¤@®É¡Aºë«×©M³W¼Òªº¯à³Q(¨Ã¥B³q±`¬O)«ü©w¡Q¨Ò¦p¡G
salary DECIMAL(9,2)
¦b³oÓ¨Ò¤l¤¤¡A9(precision)¥Nªí±N³Q¥Î©óÀx¦sȪºÁ`ªº¤p¼Æ¦ì¼Æ¡A¦Ó2(scale)¥Nªí±N³Q¥Î©óÀx¦s¤p¼ÆÂI«áªº¦ì¼Æ¡C¦]¦¹¡A¦b³oºØ±¡ªp¤U¡A¯à³QÀx¦s¦bsalary¦C¤¤ªºÈªº½d³ò¬O±q-9999999.99¨ì9999999.99¡C¦bANSI/ISO
SQL92¤¤¡A¥yªkDECIMAL(p)µ¥»ù©óDECIMAL(p,0)¡C¦P¼Ë¡A¥yªkDECIMALµ¥»ù©óDECIMAL(p,0)¡A³o¸Ì¹ê²{³Q¤¹³\¨M©wÈp¡CMySQL·í«e¤£¤ä´©DECIMAL/NUMERIC¼Æ¾ÚÃþ«¬ªº³o¨ÇÅܺاΦ¡ªº¥ô¤@ºØ¡C³o¤@¯ë»¡¨Ó¤£¬O¤@ÓÄY«ªº°ÝÃD¡A¦]¬°³o¨ÇÃþ«¬ªº¥Dn¯q³B±o¦Û©ó©úÅã¦a±±¨îºë«×©M³W¼Òªº¯à¤O¡C
DECIMAL©MNUMERICȧ@¬°¦r²Å¦êÀx¦s¡A¦Ó¤£¬O§@¬°¤G¶i¨î¯BÂI¼Æ¡A¥H«K«O¦s¨º¨ÇȪº¤p¼Æºë«×¡C¤@Ó¦r²Å¥Î©óȪº¨C¤@¦ì¡B¤p¼ÆÂI(¦pªGscale>0)©M¡§-¡¨²Å¸¹(¹ï©ótÈ)¡C¦pªGscale¬O0¡ADECIMAL©MNUMERICȤ£¥]§t¤p¼ÆÂI©Î¤p¼Æ³¡¤À¡C
DECIMAL©MNUMERICȱo³Ì¤jªº½d³ò»PDOUBLE¤@¼Ë¡A¦ý¬O¹ï©ó¤@Óµ¹©wªºDECIMAL©ÎNUMERIC¦C¡A¹ê»Úªº½d³ò¥i¥Ñ¨î¥Ñµ¹©w¦Cªºprecision©Îscale¨î¡C·í³o¼Ëªº¦C½áµ¹¤F¤p¼ÆÂI«á±ªº¦ì¶W¹L«ü©wscale©Ò¤¹³\ªº¦ìªºÈ¡A¸ÓȮھÚscale¥|±Ë¤¤J¡C·í¤@ÓDECIMAL©ÎNUMERIC¦C³Q½áµ¹¤F¨ä¤j¤p¶W¹L«ü©w(©Î¹w³]ªº¡^precision©MscaleÁô§tªº½d³òªºÈ¡AMySQLÀx¦sªí¥Ü¨ºÓ½d³òªº¬ÛÀ³ªººÝÂIÈ¡C
§@¬°¹ïANSI/ISO SQL92¼Ð·ÇªºÂX®i¡AMySQL¤]¤ä´©¤Wªí©Ò¦Cªº¾ã«¬Ãþ«¬TINYINT¡BMEDIUMINT©MBIGINT¡C¥t¤@ÓÂX®i¬OMySQL¤ä´©¥i¿ï¦a«ü©w¤@Ӿ㫬ÈÅã¥Üªº¼e«×¡A¥Î¬A¸¹¸ò¦b°ò¥»ÃöÁäµü¤§«á(¨Ò¦p¡AINT(4))¡C³oÓ¥i¿ïªº¼e«×«ü©w³Q¥Î©ó¨ä¼e«×¤p©ó¦C«ü©w¼e«×ªºÈ±o¥ª¶ñ¸ÉÅã¥Ü¡A¦ý¬O¤£¨î¯à¦b¦C¤¤³QÀx¦sªºÈªº½d³ò¡A¤]¤£¨îȱN³QÅã¥Üªº¦ì¼Æ¡A¨ä¼e«×¶W¹L¦C«ü©wªº¼e«×¡C·í»P¥i¿ïªºÂX®iÄÝ©ÊZEROFILL¤@°_¨Ï¥Î®É¡A¹w³]ªºªÅ®æ¶ñ¸É¥Î¹s¥N´À¡C¨Ò¦p¡A¹ï©óÁn©ú¬°INT(5)
ZEROFILLªº¦C¡A¤@Ó¬°4ªºÈ§@¬°00004³QÀ˯Á¡Cª`·N¡A¦pªG§A¦b¤@Ӿ㫬¦CÀx¦s¶W¹LÅã¥Ü¼e«×ªº§ó¤jÈ¡A·íMySQL¹ï©ó¬Y¨Ç½ÆÂøªºÁpµ²(join)²£¥ÍÁ{®Éªí®É¡A§A¥i¯à·|¹J¨ì°ÝÃD¡A¦]¬°¦b³o¨Ç±¡ªp¤U¡AMySQL¬Û«H¼Æ¾Ú½T¹ê¾A¦Xì¨Óªº¦C¼e«×¡C
©Ò¦³ªº¾ã«¬Ãþ«¬¥i¥H¦³¤@Ó¥i¿ï(«D¼Ð·Çªº)ÄÝ©ÊUNSIGNED¡C·í§A·Qn¦b¦C¤¤¶È¤¹³\¥¿¼Æ¨Ã¥B§A»Ýn¤@Óµy¤j¤@ÂIªº¦C½d³ò¡A¥i¥H¨Ï¥ÎµL²Å¸¹È¡C
FLOATÃþ«¬³Q¥Î¨Ó¼Ð¥Üªñ¦ü¼Æ¦rªº¼Æ¾ÚÃþ«¬¡CANSI/ISO SQL92¼Ð·Ç¤¹³\¤@Ó¥i¿ïªººë«×»¡©ú(¦ý¤£¬O«ü¼Æªº½d³ò)¡A¸ò¦bÃöÁäµüFLOAT«á±ªº¬A¸¹¤º¦ì¼Æ¡CMySQL¹ê²{¤]¤ä´©³oÓ¥i¿ïªººë«×»¡©ú¡C·íÃöÁäµüFLOAT³Q¥Î©ó¤@Ó¦CÃþ«¬¦Ó¨S¦³ºë«×»¡©ú®É¡AMySQL¨Ï¥Î4Ó¦r¸`Àx¦sÈ¡C¤@ÓÅܺتº¥yªk¤]³Q¤ä´©¡A¦bFLOATÃöÁäµü«á±ªº¬A¸¹µ¹¥X2ӼƦr¡C¥Î³oÓ¿ï¶µ¡A²Ä¤@ӼƦrÄ~Äòªí¥Ü¦b¦r¸`pºâªºÈÀx¦s»Ý¨D¡A¦Ó²Ä¤GӼƦr«ü©wn³QÀx¦sªº©MÅã¥Ü¸òÀH¤p¼ÆÂI«áªº¦ì¼Æ(´N¹³DECIMAL©MNUMERIC)¡C·íMySQLn¨D¬°³o¼Ë¤@Ó¦C¡A¤@Ó¤p¼ÆÂI«áªº¤p¼Æ¦ì¶W¹L¦C«ü©wªºÈ¡AÀx¦sȮɡA¸ÓȳQ¥|±Ë¤¤J¡A¥h±¼ÃB¥~ªº¦ì¡C
REAL©MDOUBLE PRECISIONÃþ«¬¤£±µ¨üºë«×»¡©ú¡C§@¬°¹ï
ANSI/ISO SQL92 ¼Ð·ÇªºÂX®i¡AMySQLÃѧO¥XDOUBLE§@¬°DOUBLE
PRECISIONÃþ«¬ªº¤@Ó¦P¸qµü¡C»PREALºë«×¤ñ¥Î©óDOUBLE
PRECISIONªº§ó¤pªº¼Ð·Çn¨D¬Û¤Ï¡AMySQL¹ê²{¤F¨âºØ¡A§@¬°8¦r¸`Âùºë«×¯BÂIÈ(·í¹B¦æ¤£¬O¡§Ansi¼Ò¦¡¡¨®É)¡C¬°¤F³Ì¤jªº²¾´Ó©Ê¡Aªñ¦ü¼Æ¦rªº¼Æ¾ÚȪºÀx¦s©Ò»Ý¥N½XÀ³¸Ó¨Ï¥Î¨S¦³ºë«×©Î¤p¼Æ¦ì¼Æ»¡©úªºFLOAT©ÎDOUBLE
PRECISION¡C
·ín¨D¦b¼Æ¦rªº¦CÀx¦s¶W¥X¸Ó¦CÃþ«¬¤¹³\ªº½d³òªºÈ®É¡AMySQL°Å¤Á¸ÓȨì½d³ò¤ºªº¥¿½TºÝÂIȨåBÀx¦s°Å¤Á«áªºµ²ªGÈ¡C
¨Ò¦p¡A¤@ÓINT¦Cªº½d³ò¬O-2147483648¨ì2147483647¡C¦pªG§A¸Õ¹Ï´¡¤J-9999999999¨ì¤@ÓINT¦C¤¤¡AȳQ°Å¤Á¨ì½d³òªº§C³¡ºÝÂI¡A¨ÃÀx¦s-2147483648¡C¦P¼Ë¡A¦pªG§A¸Õ¹Ï´¡¤J9999999999¡A2147483647³QÀx¦s¡C
¦pªGINT¦C¬OUNSIGNED¡A¦Cªº½d³òªº¤j¤p¬O¬Û¦Pªº¡A¦ý¬O¥¦ªººÝÂI²¾¨ì¤F0©M4294967295¡C¦pªG§A¸Õ¹ÏÀx¦s-9999999999©M9999999999¡A¦b¦C³QÀx¦sªºÈÅܬ°0©M4294967296¡C
¹ï©óALTER TABLE¡BLOAD DATA INFILE¡BUPDATE©M¦h¦æINSERT»y¥y¡A¥Ñ©ó°Å¤Á©Òµo¥ÍªºÅÜ´«§@¬°¡§Äµ§i¡¨³Q³ø§i¡C
¤é´Á©M®É¶¡Ãþ«¬¬ODATETIME¡BDATE¡BTIMESTAMP¡BTIME©MYEAR¡C³o¨Çªº¨C¤@Ó³£¦³¦XªkȪº¤@Ó½d³ò¡A¦Ó¡§¹s¡¨·í§A«ü©w½T¹ê¤£¦XªkªºÈ®É³Q¨Ï¥Î¡Cª`·N¡AMySQL¤¹³\§AÀx¦s¬YÓ¡§¤£ÄY®æ¦a¡¨¦Xªkªº¤é´ÁÈ¡A¨Ò¦p1999-11-31¡Aì¦]§ÚÌ»{¬°¥¦¬OÀ³¥Îµ{¦¡ªº³d¥ô¨Ó³B²z¤é´ÁÀˬd¡A¦Ó¤£¬OSQL¦øªA¾¹¡C¬°¤F¨Ï¤é´ÁÀˬd§ó¡§§Ö¡¨¡AMySQL¶ÈÀˬd¤ë¥÷¦b0-12ªº½d³ò¡A¤Ñ¦b0-31ªº½d³ò¡C¤Wz½d³ò³o¼Ë³Q©w¸q¬O¦]¬°MySQL¤¹³\§A¦b¤@ÓDATE©ÎDATETIME¦C¤¤Àx¦s¤é´Á¡A³o¸Ìªº¤Ñ©Î¤ë¬O¹s¡C³o¹ïÀx¦s§A¤£ª¾¹D·Ç½Tªº¤é´Áªº¤@ӥͤ骺À³¥Îµ{¦¡¨Ó»¡¬O·¥¨ä¦³¥Îªº¡A¦b³oºØ±¡ªp¤U¡A§A²³æ¦aÀx¦s¤é´Á¹³1999-00-00©Î1999-01-00¡C¡]·íµM§A¤£¯à´Á±æ±q¨ç¼Æ¦pDATE_SUB()©ÎDATE_ADD()±o¨ìÃþ¦ü¥H³o¨Ç¤é´Áªº¥¿½TÈ)¡C
·í¥Î¤é´Á©M®É¶¡¤u§@®É¡A³o¸Ì¬Oªº¤@¨Çn°O¦íªº¤@¯ë¦Ò¼{¡G
'98-09-04')¡A¦Ó¤£¬O¥H¨ä¥L¦a¤è±`¥Îªº¤ë-¤é-¦~©Î¤é-¤ë-¦~ªº¦¸§Ç(¨Ò¦p¡A'09-04-98'¡B'04-09-98')¡C
TIMEȳQ°Å¤Á¬°¾A·íªºTIME½d³òºÝÂIÈ¡C)¤UªíÅã¥Ü¹ï¨CºØÃþ«¬ªº¡§¹s¡¨Èªº®æ¦¡¡G
| ¦CÃþ«¬ | ¡§¹s¡¨È |
DATETIME |
'0000-00-00 00:00:00' |
DATE |
'0000-00-00' |
TIMESTAMP |
00000000000000¡]ªø«×¨ú¨M©óÅã¥Ü¤Ø¤o¡^ |
TIME |
'00:00:00' |
YEAR |
0000 |
'0'©Î0°µ¨ì,
³o§ó®e©ö¼g¡C NULL¡A¦]¬°ODBC¤£¯à³B²z³o¼ËªºÈ¡C
MySQL¥»¨Y2K¦w¥þªº(¨£1.6 2000¦~¤@P©Ê)¡A¦ý¬O§e¥æµ¹MySQLªº¿é¤JÈ¥i¯à¤£¬O¡C¤@Ó¥]§t2¦ì¦~¥÷Ȫº¥ô¦ó¿é¤J¬O¥Ñ¤G¸q©Êªº¡A¦]¬°¥@¬ö¬O¥¼ª¾ªº¡C³o¼ËªºÈ¥²¶·³Q¸ÑÄÀ¦¨4¦ì§Î¦¡¡A¦]¬°MySQL¤º³¡¨Ï¥Î4¦ìÀx¦s¦~¥÷¡C
¹ï©óDATETIME, DATE, TIMESTAMP©MYEARÃþ«¬¡AMySQL¨Ï¥Î¤U¦C³W«hªº¸ÑÄÀ¤G¸q©Êªº¦~¥÷È¡G
00-69ªº¦~ȳQÅÜ´«¨ì2000-2069¡C 70-99ªº¦~ȳQÅÜ´«¨ì1970-1999¡C°O±o³o¨Ç³W«h¶È¶È´£¨Ñ¹ï©ó§A¼Æ¾Úªº§t¸qªº¦X²z²q´ú¡C¦pªGMySQL¨Ï¥Îªº±Òµo³W«h¤£²£¥Í¥¿½TªºÈ¡A§AÀ³¸Ó´£¨ÑµL¤G¸qªº¥]§t4¦ì¦~Ȫº¿é¤J¡C
DATETIME, DATE©MTIMESTAMPÃþ«¬DATETIME, DATE©MTIMESTAMPÃþ«¬¬O¬ÛÃöªº¡C¥»¸`´yz¥L̪º¯S¼x¡A¥L̬O¦p¦óÃþ¦üªº¦Ó¤S¤£¦Pªº¡C
DATETIMEÃþ«¬¥Î¦b§A»Ýn¦P®É¥]§t¤é´Á©M®É¶¡¸ê°TªºÈ®É¡CMySQLÀ˯Á¨Ã¥B¥H'YYYY-MM-DD
HH:MM:SS'®æ¦¡Åã¥ÜDATETIMEÈ¡A¤ä´©ªº½d³ò¬O'1000-01-01
00:00:00'¨ì'9999-12-31 23:59:59'¡C¡]¡§¤ä´©¡¨·N¨ýµÛºÉºÞ§ó¦ªºÈ¥i¯à¤u§@¡A¦ý¤£¯à«Oµý¥LÌ¥i¥H¡C¡^
DATEÃþ«¬¥Î¦b§A¶È»Ýn¤é´ÁȮɡA¨S¦³®É¶¡³¡¤À¡CMySQLÀ˯Á¨Ã¥B¥H'YYYY-MM-DD'®æ¦¡Åã¥ÜDATEÈ¡A¤ä´©ªº½d³ò¬O'1000-01-01'¨ì'9999-12-31'¡C
TIMESTAMP¦CÃþ«¬´£¨Ñ¤@ºØÃþ«¬¡A§A¥i¥H¨Ï¥Î¥¦¦Û°Ê¦a¥Î·í«eªº¤é´Á©M®É¶¡¼Ð°OINSERT©ÎUPDATEªº¾Þ§@¡C¦pªG§A¦³¦hÓTIMESTAMP¦C¡A¥u¦³²Ä¤@Ӧ۰ʧó·s¡C
¦Û°Ê§ó·s²Ä¤@ÓTIMESTAMP¦C¦b¤U¦C¥ô¦ó±ø¥ó¤Uµo¥Í¡G
INSERT©ÎLOAD DATA INFILE»y¥y¤¤«ü©w¡C
UPDATE»y¥y¤¤«ü©w¥B¤@¨Ç¥t¥~ªº¦C§ïÅÜÈ¡C¡]ª`·N¤@ÓUPDATE³]¸m¤@Ó¦C¬°¥¦¤w¸g¦³ªºÈ¡A³o±N¤£¤Þ°_TIMESTAMP¦C³Q§ó·s¡A¦]¬°¦pªG§A³]¸m¤@Ó¦C¬°¥¦·í«eªºÈ¡AMySQL¬°¤F®Ä²v¦Ó©¿²¤§ó§ï¡C¡^TIMESTAMP¦C¬°NULL. °£²Ä¤@Ó¥H¥~ªºTIMESTAMP¦C¤]¥i¥H³]¸m¨ì·í«eªº¤é´Á©M®É¶¡¡A¥un±N¦C³]¬°NULL¡A©ÎNOW()¡C
³q¹L©ú½T¦a³]¸m§Æ±æªºÈ¡A§A¥i¥H³]¸m¥ô¦óTIMESTAMP¦C¬°¤£¦P©ó·í«e¤é´Á©M®É¶¡ªºÈ¡A§Y¨Ï¹ï²Ä¤@ÓTIMESTAMP¦C¤]¬O³o¼Ë¡C¨Ò¦p¡A¦pªG¡A·í§A³Ð«Ø¤@Ó¦æ®É¡A§A·Qn¤@ÓTIMESTAMP³Q³]¸m¨ì·í«eªº¤é´Á©M®É¶¡¡A¦ý¦b¥H«áµL½×¦ó®É¦æ³Q§ó·s®É³£¤£§ïÅÜ¡A§A¥i¥H¨Ï¥Î³oÓÄݩʡG
TIMESTAMP¦C¬°¥¦ªº·í«eÈ¡C
¥t¤@¤è±¡A§A¥i¯àµo²{¡A·í¦æ³Q³Ð«Ø¨Ã¥B»·Â÷ÀH«áªº§ó§ï®É¡A«Ü®e©ö¥Î¤@Ó§A¥ÎNOW()ªì©l¤ÆªºDATETIME¦C¡C
TIMESTAMPÈ¥i¥H±q1970ªº¬Y®Éªº¶}©l¤@ª½¨ì2037¦~¡Aºë«×¬°¤@¬í¡A¨äȧ@¬°¼Æ¦rÅã¥Ü¡C
¦bMySQLÀ˯Á¨Ã¥BÅã¥ÜTIMESTAMPȨú¨M©óÅã¥Ü¤Ø¤oªº®æ¦¡¦p¤Uªí¡C¡§§¹¾ã¡¨TIMESTAMP®æ¦¡¬O14¦ì¡A¦ý¬OTIMESTAMP¦C¥i¥H¥Î§óµuªºÅã¥Ü¤Ø¤o³Ð³y¡G
| ¦CÃþ«¬ | Åã¥Ü®æ¦¡ |
TIMESTAMP(14) |
YYYYMMDDHHMMSS |
TIMESTAMP(12) |
YYMMDDHHMMSS |
TIMESTAMP(10) |
YYMMDDHHMM |
TIMESTAMP(8) |
YYYYMMDD |
TIMESTAMP(6) |
YYMMDD |
TIMESTAMP(4) |
YYMM |
TIMESTAMP(2) |
YY |
©Ò¦³ªºTIMESTAMP¦C³£¦³¦P¼ËªºÀx¦s¤j¤p¡A¤£¦Ò¼{Åã¥Ü¤Ø¤o¡C³Ì±`¨£ªºÅã¥Ü¤Ø¤o¬O6¡B8¡B12¡B©M14¡C§A¥i¥H¦bªí³Ð«Ø®É¶¡«ü©w¤@Ó¥ô·NªºÅã¥Ü¤Ø¤o¡A¦ý¬OÈ0©Î¤ñ14¤j³Q±j¨î¨ì14¡C¦b±q1¡ã13½d³òªº©_¼ÆÈ¤Ø¤o³Q±j¨î¬°¤U¤@Ó§ó¤jªº°¸¼Æ¡C
¨Ï¥Î¤@Ó±`¥Îªº®æ¦¡¶°ªº¥ô¦ó¤@Ó¡A§A¥i¥H«ü©wDATETIME¡BDATE©MTIMESTAMPÈ¡G
'YYYY-MM-DD HH:MM:SS'©Î'YY-MM-DD HH:MM:SS'®æ¦¡ªº¤@Ó¦r²Å¦ê¡C¤¹³\¤@ºØ¡§¼eªQ¡¨ªº»yªk--¥ô¦ó¼ÐÂI¥i¥Î§@¦b¤é´Á³¡¤À©M®É¶¡³¡¤À¤§¶¡ªº¤À¹j²Å¡C¨Ò¦p¡A'98-12-31
11:30:45'¡B'98.12.31 11+30+45'¡B'98/12/31 11*30*45'©M'98@12@31
11^30^45'¬Oµ¥»ùªº¡C 'YYYY-MM-DD'©Î'YY-MM-DD'®æ¦¡ªº¤@Ó¦r²Å¦ê¡C¤¹³\¤@ºØ¡§¼eªQ¡¨ªº»yªk¡C¨Ò¦p¡A'98-12-31',
'98.12.31', '98/12/31'©M'98@12@31'¬Oµ¥»ùªº¡C 'YYYYMMDDHHMMSS'©Î'YYMMDDHHMMSS'®æ¦¡ªº¨S¦³¥ô¦ó¤À¹j²Åªº¤@Ó¦r²Å¦ê¡A¨Ò¦p¡A'19970523091528'©M'970523091528'³Q¸ÑÄÀ¬°'1997-05-23
09:15:28'¡A¦ý¬O'971122459015'¬O¤£¦Xªkªº(¥¦¦³²@µL·N¸qªº¤ÀÄÁ³¡¤À)¥BÅܦ¨'0000-00-00
00:00:00'¡C 'YYYYMMDD'©Î'YYMMDD'®æ¦¡ªº¨S¦³¥ô¦ó¤À¹j²Åªº¤@Ó¦r²Å¦ê¡A¦pªG¦r²Å¦ê»{¬°¬O¤@Ó¤é´Á¡C¨Ò¦p¡A'19970523'©M'970523'³Q¸ÑÄÀ§@¬°'1997-05-23'¡A¦ý¬O'971332'¬O¤£¦Xªkªº(
¥¦¦³µL·N¸qªº¤ë©M¤Ñ³¡¤À)¥BÅܦ¨'0000-00-00'¡C YYYYMMDDHHMMSS©ÎYYMMDDHHMMSS®æ¦¡ªº¤@ӼƦr¡A¦pªG¼Æ¦r»{¬°¬O¤@Ó¤é´Á¡C¨Ò¦p¡A19830905132800©M830905132800³Q¸ÑÄÀ§@¬°'1983-09-05
13:28:00'¡C YYYYMMDD©ÎYYMMDD®æ¦¡ªº¤@ӼƦr¡A¦pªG¼Æ¦r»{¬°¬O¤@Ó¤é´Á¡C¨Ò¦p¡A19830905©M830905³Q¸ÑÄÀ§@¬°'1983-09-05'¡C
DATETIME, DATE©ÎTIMESTAMP¤W¤U¤åÀô¹Ò¤¤±µ¨üªº¨ç¼Æ¡A¨Ò¦pNOW()©ÎCURRENT_DATE¡C
¤£¦XªkDATETIME, DATE©ÎTIMESTAMPȳQÅÜ´«¨ì¾A·íÃþ«¬ªº¡§¹s¡¨È('0000-00-00
00:00:00', '0000-00-00'©Î00000000000000)¡C
¹ï©ó¥]¬Aªº¤é´Á³¡¤À¤À¹j²Åªº«ü©w¬°¦r²Å¦êªºÈ¡A¤£¥²n¬°¤p©ó10ªº¤ë©Î¤ÑªºÈ«ü©w2¦ì¼Æ¦r¡A'1979-6-9'»P'1979-06-09'¬O¤@¼Ëªº¡C¦P¼Ë,
¹ï©ó¥]¬Aªº®É¶¡³¡¤À¤À¹j²Åªº«ü©w¬°¦r²Å¦êªºÈ¡A¤£¥²¬°¤p©ó10ªº¤p®É¡B¤ë©Î¬í«ü©w2¦ì¼Æ¦r¡A'1979-10-30
1:2:3'»P'1979-10-30 01:02:03'¬O¤@¼Ëªº¡C
«ü©w¬°¼Æ¦rÀ³¸Ó¬O6¡B8¡B12©Î14¦ìªø¡C¦pªG¼Æ¦r¬O8©Î14¦ìªø¡A¥¦³Q°²©w¥HYYYYMMDD©ÎYYYYMMDDHHMMSS®æ¦¡¨Ã¥B¦~¥÷¥ÑÀY4¦ì¼Æ¦rµ¹¥X¡C¦pªG¼Æ¦r¬O6©Î12¦ìªø¡A¥¦³Q°²©w¬O¥HYYMMDD©ÎYYMMDDHHMMSS®æ¦¡¥B¦~¥÷¥ÑÀY2¦ì¼Æ¦rµ¹¥X¡C¤£¬O³o¨Çªø«×¤§¤@ªº¼Æ¦r³q¹L¶ñ¸É«eÀYªº¹s¨ì³Ì±µªñªºªø«×¨Ó¸ÑÄÀ¡C
«ü©w¬°µL¤À¹j²Åªº¦r²Å¦ê¥Î¥¦Ìµ¹©wªºªø«×¨Ó¸ÑÄÀ¡C¦pªG¦r²Å¦êªø«×¬O8©Î14Ó¦r²Å¡A¦~¥÷³Q°²©wÀY4Ó¦r²Åµ¹¥X¡A§_«h¦~¥÷³Q°²©w¥ÑÀY2Ó¦r²Åµ¹¥X¡C¹ï©ó¦r²Å¦ê¤¤§e²{ªº¦hÓ³¡¤À¡A¦r²Å¦ê±q¥ª¨ì¥kÃä³Q¸ÑÄÀ¡A¥H§ä¥X¦~¡B¤ë¡B¤é¡B¤p®É¡B¤ÀÄÁ©M¬íÈ¡A³o·N¨ýµÛ¡A§A¤£À³¸Ó¨Ï¥Î¤Ö©ó
6 Ó¦r²Åªº¦r²Å¦ê¡C¨Ò¦p¡A¦pªG§A«ü©w'9903'¡A»{¬°±N¥Nªí1999¦~3¤ë¡A§A·|µo²{MySQL§â¤@Ó¡§¹s¡¨¤é´Á´¡¤J¨ì§Aªºªí¤¤¡A³o¬O¦]¬°¦~¥÷©M¤ë¥÷È99©M03¡A¦ý¬O¤é´Á³¡¤À¥á¥¢(¹s)¡A¦]¦¹¸ÓȤ£¬O¤@Ó¦Xªkªº¤é´Á¡C
TIMESTAMP¦C¨Ï¥Î³Q«ü©wªºÈªº§¹¾ãºë«×ªºÀx¦s¦XªkªºÈ¡A¤£¦Ò¼{Åã¥Ü¤j¤p¡C³o¦³´XÓ§t·N¡G
TIMESTAMP(4)©ÎTIMESTAMP(2)¡C§_«h¡AȱN¤£¬O¤@Ó¦Xªkªº¤é´Á¨Ã¥B0±N³QÀx¦s¡C
ALTER TABLE©Ý¼e¤@Ó¯U¯¶ªºTIMESTAMP¦C¡A¥H«e³Q¡§Áô½ª¡¨ªº¸ê°T±N³QÅã¥Ü¡C
TIMESTAMP¦C¤£·|¾ÉP¸ê°T¥¢¥h¡A°£¤F·Pı¤WȦbÅã¥Ü®É¡A¸û¤Öªº¸ê°T³QÅã¥Ü¥X¡C
TIMESTAMPȳQÀx¦s¬°§¹¾ãºë«×¡Aª½±µ¾Þ§@Àx¦sȪº°ß¤@¨ç¼Æ¬OUNIX_TIMESTAMP()¡A¨ä¥L¨ç¼Æ¾Þ§@¦b®æ¦¡¤Æ¤FªºÀ˯ÁªºÈ¤W¡A³o·N¨ýµÛ§A¤£¯à¨Ï¥Î¨ç¼Æ¨Ò¦pHOUR()©ÎSECOND()¡A°£«DTIMESTAMPȪº¬ÛÃö³¡¤À³Q¥]§t¦b®æ¦¡¤ÆªºÈ¤¤¡C¨Ò¦p¡A¤@ÓTIMESTAMP¦CªºHH³¡¤À³¡³QÅã¥Ü¡A°£«DÅã¥Ü¤j¤p¦Ü¤Ö¬O10¡A¦]¦¹¦b§óµuªºTIMESTAMPȤW¸Õ¸Õ¨Ï¥ÎHOUR()²£¥Í¤@ÓµL·N¸qªºµ²ªG¡C
¦b¬YºØµ{«×¤W¡A§A¥i¥H§â¤@ºØ¤é´ÁÃþ«¬ªºÈ½áµ¹¤@Ó¤£¦Pªº¤é´ÁÃþ«¬ªº¹ï¹³¡CµM¦Ó¡A³o¥i¯àȦ³¤@¨Ç§ïÅܩθê°Tªº·l¥¢¡G
DATEȽᵹ¤@ÓDATETIME©ÎTIMESTAMP¹ï¹³¡Aµ²ªGȪº®É¶¡³¡¤À³Q³]¸m¬°'00:00:00'¡A¦]¬°DATEȤ£¥]§t®É¶¡¸ê°T¡C
DATETIME©ÎTIMESTAMPȽᵹ¤@ÓDATE¹ï¹³¡Aµ²ªGȪº®É¶¡³¡¤À³Q§R°£¡A¦]¬°DATEÃþ«¬¤£Àx¦s®É¶¡¸ê°T¡C
DATETIME, DATE©MTIMESTAMPÈ¥þ³£¥i¥H¥Î¦P¼Ëªº®æ¦¡¶°¨Ó«ü©w¡A¦ý©Ò¦³Ãþ«¬¤£³£¦³¦P¼ËªºÈ½d³ò¡C¨Ò¦p¡ATIMESTAMPȤ£¯à¤ñ1970¦©Î¤ñ2037ºô±ß¡A³o·N¨ýµÛ¡A¤@Ó¤é´Á¨Ò¦p'1968-01-01'¡A·í§@¬°¤@ÓDATETIME©ÎDATEȦXªk®É¡A¥¦¤£¬O¤@Ó¥¿½TTIMESTAMPÈ¡A¨Ã¥B¦pªG½áȵ¹³o¼Ë¤@ӹﹳ¡A¥¦±N³QÅÜ´«¨ì0¡C
·í«ü©w¤é´ÁȮɡA·í¤ß¬Y¨Ç¯Ê³´¡G
'10:11:12'¥i¯à¬Ý°_¨Ó¹³®É¶¡È¡A¦]¬°¡§:¡¨¤À¹j²Å¡A¦ý¬O¦pªG¦b¤@Ó¤é´Á¤¤¨Ï¥Î¡A¤W¤U¤å±N§@¬°¦~¥÷³Q¸ÑÄÀ¦¨'2010-11-12'¡CÈ'10:45:15'±N³QÅÜ´«¨ì'0000-00-00'¡A¦]¬°'45'¤£¬O¤@Ó¦Xªkªº¤ë¥÷¡C
00-69½d³òªº¦~ȳQÅÜ´«¨ì2000-2069¡C 70-99³òªº¦~ȳQÅÜ´«¨ì1970-1999¡C TIMEÃþ«¬MySQLÀ˯Á¨Ã¥H'HH:MM:SS'®æ¦¡Åã¥ÜTIMEÈ(©Î¹ï¤j¤p®ÉÈ¡A'HHH:MM:SS'®æ¦¡)¡CTIMEȪº½d³ò¥i¥H±q'-838:59:59'¨ì'838:59:59'¡C¤p®É³¡¤À¥i¯à«Ü¤jªºªºì¦]¬OTIMEÃþ«¬¤£¶È¥i¥H³Q¨Ï¥Î¦bªí¥Ü¤@¤Ñªº®É¶¡(¥¦¥²¶·¬O¤£¨ì24Ó¤p®É)¡A¦Ó¥B¥Î¦bªí¥Ü¦b2Өƥ󤧶¡¸g¹Lªº®É¶¡©Î®É¶¡¶¡¹j(¥¦¥i¥H¬O¤ñ24Ó¤p®É¤j¨Ç¡A©Î¬Æ¦Ü¬OtÈ)¡C
§A¯à¥Î¦h¤¤®æ¦¡«ü©wTIMEÈ¡G
'HH:MM:SS'®æ¦¡ªº¤@Ó¦r²Å¦ê¡C¡§¼eªQ¡¨ªº»yªk³Q¤¹³\--¥ô¦ó¼ÐÂI²Å¸¹¥i¥Î§@®É¶¡³¡¤Àªº¤À¹j²Å¡A¨Ò¦p¡A'10:11:12'©M'10.11.12'¬Oµ¥»ùªº¡C
'HHMMSS'®æ¦¡ªº¤@Ó¦r²Å¦ê¡A¦pªG¥¦§@¬°¤@Ӯɶ¡¸ÑÄÀ¡C¨Ò¦p¡A'101112'³Q²z¸Ñ¬°'10:11:12'¡A¦ý¬O'109712'¬O¤£¦Xªkªº(¥¦¦³µL·N¸qªº¤ÀÄÁ³¡¤À)¨ÃÅܦ¨'00:00:00'¡C
HHMMSS®æ¦¡ªº¤@ӼƦr¡A¦pªG¥¦¯à¸ÑÄÀ¬°¤@Ӯɶ¡¡C¨Ò¦p¡A101112³Q²z¸Ñ¬°'10:11:12'¡C
TIME¤W¤U¤å±µ¨üªº¨ç¼Æ¡A¨Ò¦pCURRENT_TIME¡C
¹ï©ó§@¬°¥]¬A¤@Ӯɶ¡¤À¹j²Åªº¦r²Å¦ê³Q«ü©wªºTIMEÈ¡A¤£¥²¬°¤p©ó10ªº¤p®É¡B¤ÀÄÁ©Î¬íÈ«ü©w2¦ì¼Æ¦r¡A'8:3:2'»P'08:03:02'¬O¤@¼Ëªº¡C
±N¡§µuªº¡¨TIMEȽáȵ¹¤@ÓTIME¦æ¦C¬On®æ¥~¤p¤ß¡CMySQL¨Ï¥Î³Ì¥k¦ì¥Nªí¬íªº°²³]¨Ó¸ÑÄÀÈ¡C(MySQL±NTIMEȸÑÄÀ¬°¸g¹Lªº®É¶¡¡A¦Ó«D§@¬°¤@¤Ñªº®É¶¡
)¨Ò¦p¡A§A¥i¯à·Q¨ì'11:12'¡B'1112'©M1112·N¨ýµÛ'11:12:00'¡]11ÂI12¤À)¡A¦ý¬OMySQL¸ÑÄÀ¥L̬°'00:11:12'¡]11¤À12¬í)¡C¦P¼Ë¡A'12'©M12³Q¸ÑÄÀ¬°'00:00:12'¡C
¦ý¬O¶W¥XTIME½d³ò¤§¥~ªºÈ¬O¼Ë¦Xªkªº¡A¥¦³Q°Å¤Á¨ì½d³ò¾A·íªººÝÂIÈ¡C¨Ò¦p¡A'-850:00:00'©M'850:00:00'³QÅÜ´«¨ì'-838:59:59'©M'838:59:59'¡C
¤£¦XªkªºTIMEȳQÅÜ´«¨ì'00:00:00'¡Cª`·N¡A¬JµM'00:00:00'¥»¨¬O¤@Ó¦XªkªºTIMEÈ¡A¨S¦³¨ä¥L¤èªk°Ï¤Àªí¤¤Àx¦sªº¤@Ó'00:00:00'È¡Aì¨ÓªºÈ¬O§_³Q«ü©w¬°'00:00:00'©Î¥¦¬O§_¬O¤£¦Xªkªº¡C
YEARÃþ«¬YEARÃþ«¬¬O¤@Ó 1 ¦r¸`Ãþ«¬¥Î©óªí¥Ü¦~¥÷¡C
MySQLÀ˯Á¨Ã¥B¥HYYYY®æ¦¡Åã¥ÜYEARÈ¡A¨ä½d³ò¬O1901¨ì2155¡C
§A¯à¥Î¦hºØ®æ¦¡«ü©wYEARÈ¡G
'1901'¨ì'2155'½d³òªº¤@Ó4¦ì¦r²Å¦ê¡C 1901¨ì2155½d³òªº¤@Ó4¦ì¼Æ¦r¡C '00'¨ì'99'½d³òªº¤@Ó2¦ì¦r²Å¦ê.¦b'00'¨ì'69'©M'70'¨ì'99'½d³òªºÈ³QÅÜ´«¨ì¦b2000¨ì2069½d³ò©M1970¨ì1999ªºYEARÈ¡C1¨ì99½d³òªº¤@Ó2¦ì¼Æ¦r¡C¦b½d³ò1¨ì69©M70¨ì99ªºÈ³QÅÜ´«¨ì¦b½d³ò2001¨ì2069©M1970¨ì1999ªºYEARªºÈ¡Cª`·N¹ï©ó2¦ì¼Æ¦rªº½d³ò²¤·L¤£¦P©ó2¦ì¼Æ¦r¦r²Å¦êªº½d³ò¡A¦]¬°§A¤£¯àª½±µ«ü©w¹s§@¬°¤@ӼƦr¨Ã¥B§â¥¦¸ÑÄÀ¬°2000¡C§A¥²¶·§@¬°¤@Ó¦r²Å¦ê'0'©Î'00'«ü©w¥¦¡A¥¦±N³Q¸ÑÄÀ¬°0000¡C
YEAR¤W¤U¤åÀô¹Ò¤¤±µ¨üªº¨ç¼Æ¡A¨Ò¦pNOW()¡C
¤£¦XªkYEARȳQÅÜ´«¨ì0000¡C
¦r²Å¦êÃþ«¬¬OCHAR¡BVARCHAR¡BBLOB¡BTEXT¡BENUM©MSET¡C
CHAR©MVARCHARÃþ«¬CHAR©MVARCHARÃþ«¬¬OÃþ¦üªº¡A¦ý¬O¦b¥L̳QÀx¦s©MÀ˯Áªº¤è¦¡¤£¦P¡C
¤@ÓCHAR¦Cªºªø«×³Q×¥¿¬°¦b§A³Ð³yªí®É§A©ÒÁn©úªºªø«×¡Cªø«×¥i¥H¬O1©M255¤§¶¡ªº¥ô¦óÈ¡C¡]¦bMySQL
3.23¤¤¡ACHARªø«×¥i¥H¬O0¡ã255¡C) ·íCHARȳQÀx¦s®É¡A¥L̳Q¥ÎªÅ®æ¦b¥kÃä¶ñ¸É¨ì«ü©wªºªø«×¡C·íCHARȳQÀ˯Á®É¡A©ì«áªºªÅ®æ³Q§R¥h¡C
¦bVARCHAR¦C¤¤ªºÈ¬OÅܪø¦r²Å¦ê¡C§A¥i¥HÁn©ú¤@ÓVARCHAR¦C¬O¦b1©M255¤§¶¡ªº¥ô¦óªø«×¡A´N¹³¹ïCHAR¦C¡CµM¦Ó¡A»PCHAR¬Û¤Ï¡AVARCHARÈ¥uÀx¦s©Ò»Ýªº¦r²Å¡A¥~¥[¤@Ó¦r¸`°O¿ýªø«×¡AȤ£³Q¶ñ¸É¡Q¬Û¤Ï¡A·íȳQÀx¦s®É¡A©ì«áªºªÅ®æ³Q§R¥h¡C¡]³oӪŮæ§R°£¤£¦P©óANSI
SQL³W½d¡C¡^
¦pªG§A§â¤@Ó¶W¹L¦C³Ì¤jªø«×ªºÈ½áµ¹¤@ÓCHAR©ÎVARCHAR¦C¡AȳQºIÂ_¥H¾A¦X¥¦¡C
¤UªíÅã¥Ü¤F¨âºØÃþ«¬ªº¦Cªº¤£¦P¡A³q¹Lºt¥ÜÀx¦sÅܪø¦r²Å¦êȨìCHAR(4)©MVARCHAR(4)¦C¡G
| È | CHAR(4) |
Àx¦s»Ý¨D | VARCHAR(4) |
Àx¦s»Ý¨D |
'' |
' ' |
4 Ó¦r¸` | '' |
1 ¦r¸` |
'ab' |
'ab ' |
4 Ó¦r¸` | 'ab' |
3 Ó¦r¸` |
'abcd' |
'abcd' |
4 Ó¦r¸` | 'abcd' |
5 Ó¦r¸` |
'abcdefgh' |
'abcd' |
4 Ó¦r¸` | 'abcd' |
5 Ó¦r¸` |
±qCHAR(4)©MVARCHAR(4)¦CÀ˯ÁªºÈ¦b¨CºØ±¡ªp¤U³£¬O¤@¼Ëªº¡A¦]¬°©ì«áªºªÅ®æ±qÀ˯ÁªºCHAR¦C¤W³Q§R°£¡C
¦bCHAR©MVARCHAR¦C¤¤Àx¦s©M¤ñ¸ûȬO¥H¤j¤p¼g¤£°Ï¤Àªº¤è¦¡¶i¦æªº¡A°£«D·í®à¤l³Q³Ð«Ø®É¡ABINARYÄݩʳQ«ü©w¡CBINARYÄݩʷN¨ýµÛ¸Ó¦CªºÈ®Ú¾ÚMySQL¦øªA¾¹¥¿¦b¹B¦æªº¾÷¾¹ªºASCII¶¶§Ç¥H¤j¤p¼g°Ï¤Àªº¤è¦¡Àx¦s©M¤ñ¸û¡C
BINARYÄݩʬO¡§Öߩʡ¨ªº¡C³o·N¨ýµÛ¡A¦pªG¼Ð°O¤FBINARYªº¦C¥Î©ó¤@Óªí¹F¦¡¤¤¡A¾ãÓªºªí¹F¦¡§@¬°¤@ÓBINARYȳQ¤ñ¸û¡C
MySQL¦bªí³Ð«Ø®É¥i¥HÁô§t¦a§ïÅܤ@ÓCHAR©ÎVARCHAR¦CªºÃþ«¬¡C¨£7.7.1 Áô§tªºªº¦C»¡©ú§ïÅÜ¡C
BLOB©MTEXTÃþ«¬¤@ÓBLOB¬O¤@Ó¯à«O¦s¥iÅܼƶqªº¼Æ¾Úªº¤G¶i¨îªº¤j¹ï¹³¡C4ÓBLOBÃþ«¬TINYBLOB¡BBLOB¡BMEDIUMBLOB©MLONGBLOB¶È¶È¦b¥L̯à«O¦sȪº³Ì¤jªø«×¤è±¦³©Ò¤£¦P¡C¨£7.3.1 ¦CÃþ«¬Àx¦s»Ý¨D¡C
4ÓTEXTÃþ«¬TINYTEXT¡BTEXT¡BMEDIUMTEXT©MLONGTEXT¹ïÀ³©ó4ÓBLOBÃþ«¬¡A¨Ã¥B¦³¦P¼Ëªº³Ì¤jªø«×©MÀx¦s»Ý¨D¡C¦bBLOB©MTEXTÃþ«¬¤§¶¡ªº°ß¤@®t§O¬O¹ïBLOBȪº±Æ§Ç©M¤ñ¸û¥H¤j¤p¼g±Ó·P¤è¦¡°õ¦æ¡A¦Ó¹ïTEXTȬO¤j¤p¼g¤£±Ó·Pªº¡C´«¥y¸Ü»¡¡A¤@ÓTEXT¬O¤@Ó¤j¤p¼g¤£±Ó·PªºBLOB¡C
¦pªG§A§â¤@Ó¶W¹L¦CÃþ«¬³Ì¤jªø«×ªºÈ½áµ¹¤@ÓBLOB©ÎTEXT¦C¡AȳQºIÂ_¥H¾A¦X¥¦¡C
¦b¤j¦h¼Æ¤è±¡A§A¥i¥H»{¬°¤@ÓTEXT¦æ¦C¬O§A©Ò§Æ±æ¤jªº¤@ÓVARCHAR¦C¡C¦P¼Ë¡A§A¥i¥H»{¬°¤@ÓBLOB¦C¬O¤@ÓVARCHAR
BINARY¦C¡C®t§O¬O¡G
BLOB©MTEXT¦C¤W¯Á¤Þ¡C§óªºMySQLª©¥»¤£¤ä´©³oÓ¡C
BLOB©MTEXT¦C¨S¦³©ì«áªÅ®æªº§R°£¡A¦]¬°¹ïVARCHAR¦C¦³§R°£¡C
BLOB©MTEXT¦C¤£¯à¦³DEFAULTÈ¡C
MyODBC©w¸qBLOB¬°LONGVARBINARY¡ATEXTȬ°LONGVARCHAR¡C
¦]¬°BLOB©MTEXTÈ¥i¥H¬O«D±`ªøªº¡A·í¨Ï¥Î¥L̮ɡA§A¥i¯à¹J¨ì¤@¨Ç¨î¡G
BLOB©ÎTEXT¦C¤W¨Ï¥ÎGROUP BY©ÎORDER
BY¡A§A¥²¶·±N¦CÈÅÜ´«¦¨¤@Ó©wªø¹ï¹³¡C³o¼Ë°µªº¼Ð·Ç¤èªk¬O¥ÎSUBSTRING¨ç¼Æ¡C¨Ò¦p¡G
mysql> select comment from tbl_name,substring(comment,20) as substr ORDER BY substr;
¦pªG§A¤£³o¼Ë°µ¡A¦b±Æ§Ç®É¡A¥u¦³¦Cªººmax_sort_lengthÓ¦r¸`³Q¨Ï¥Î¡A¹w³]ªºmax_sort_length¬O1024¡Q³oÓȯà¦b±Ò°Êmysqld¦øªA¾¹®É¨Ï¥Î-O¿ï¾Ü§ïÅÜ¡C§A¥i¥H¦b¥]§tBLOB©ÎTEXTȱo¤@Óªí¹F¦¡¤W¤À²Õ(group)¡A³q¹L«ü©w¦Cªº¦ì¸m©Î¨Ï¥Î¤@Ó§O¦W¡G
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¹ï¹³ªº³Ì¤j¤Ø¤o¥Ñ¨äÃþ«¬¨M©w¡A¦ý¬O§A¯à¦b«È¤á»P¦øªA¾¹¤§¶¡¬O¹ê»Ú¶Ç¿éªº³Ì¤jȥѥi¥Îªº¤º¦s¼Æ¶q©M³q°T½w½Ä°Ïªº¤j¤p¨Ó¨M©w¡C§A¯à§ïÅÜ®ø®§½w½Ä°Ï¤j¤p¡A¦ý¬O§A¥²¶·¦b¦øªA¾¹©M«È¤á¨âºÝ°µ¡C¨£10.2.3 ½Õ¸`¦øªA¾¹°Ñ¼Æ¡C ª`·N¡A¨CÓBLOB©ÎTEXTȤº³¡¥Ñ¤@Ó¿W¥ß¤À°tªº¹ï¹³ªí¥Ü¡C³o»P©Ò¦³ªº¨ä¥L¦CÃþ«¬¬Û¤Ï¡A¥¦Ì¬O¦b¥´¶}ªí®É¡A«ö¦C³Q¤À°t¤@¦¸Àx¦s¡C
ENUMÃþ«¬¤@ÓENUM¬O¤@Ó¦r²Å¹ï¹³¡A¨äȳq±`±q¤@Ó¦bªí³Ð«Ø®É©ú½T³Q¦CÁ|ªº¤¹³\Ȫº¤@±iªí¤¤¿ï¾Ü¡C
¦b¤U¦Cªº¬YÓ±¡§Î¤U¡AȤ]¥i¥HªÅ¦r²Å¦ê("")©ÎNULL¡G
ENUM¡]§Y¡A¤@Ó¤£¦b¤¹³\ªºÈ¦Cªí¤¤ªº¦r²Å¦ê)¡AªÅ¦r²Å¦ê§@¬°¤@Ó¯S®í¿ù»~ªºÈ³Q´¡¤J¡C
ENUM³QÁn©ú¬°NULL¡ANULL¤]¬O¦Cªº¦XªkÈ¡A¨Ã¥B¹w³]ȬONULL¡C¦pªG¤@ÓENUM³QÁn©ú¬°NOT
NULL¡A¹w³]ȬO¤¹³\Ȫº¦Cªíªº²Ä¤@¦¨û¡C ¨CªTÁ|Ȧ³¤@Ó½s¸¹¡G
SELECT»y¥y§ä¥X³Q½áµ¹µL®ÄENUMȪº¦æ¡G
mysql> SELECT * FROM tbl_name WHERE enum_col=0;
NULLȪº½s¸¹¬ONULL¡C ¨Ò¦p¡A«ü©w¬°ENUM("one", "two", "three")ªº¦C¥i¥H¦³Åã¥Ü¦b¤U±ªºÈªº¥ô¦ó¤@Ó¡C¨CÓȪº½s¸¹¤]³QÅã¥Ü¡G
| È | ½s¸¹ |
NULL |
NULL |
"" |
0 |
"one" |
1 |
"two" |
2 |
"three" |
3 |
ªTÁ|¥i¥H¦³³Ì¤j65535Ó¦¨û¡C
·í§A§âȽᵹ¤@ÓENUM¦C®É¡A¦r¥Àªº¤j¤p¼g¬OµLÃöºònªº¡CµM¦Ó¡A¥H«á±q¦C¤¤À˯ÁªºÈ¤j¤p¼g¤Ç°t¦bªí³Ð«Ø®É¥Î¨Ó«ü©w¤¹³\ȪºÈªº¤j¤p¼g¡C
¦pªG§A¦b¤@ӼƦrªº¤W¤U¤åÀô¹Ò¤¤À˯Á¤@ÓENUM¡A¦CȪº½s¸¹³Qªð¦^¡C¦pªG§AÀx¦s¤@ӼƦr¨ì¤@ÓENUM¤¤¡A¼Æ¦r³Q·í§@¤@Ӽи¹¡A¨Ã¥BÀx¦sªºÈ¬O¸Ó½s¸¹ªºªTÁ|¦¨û¡C
ENUMȮھڦC»¡©ú¦CÁ|ªºªTÁ|¦¨ûªº¦¸§Ç³Q±Æ§Ç¡C¡]´«¥y¸Ü»¡¡AENUMȮھڥL̪º½s¸¹¼Æ¦r³Q±Æ§Ç)
¨Ò¦p¡A¹ïENUM("a", "b")¡A"a"±Æ¦b"b"«e±¡A¦ý¬O¹ïENUM("b",
"a")¡A"b"±Æ¦b"a"«e±¡CªÅ¦r²Å¦ê±Æ§Ç«DªÅ¦r²Å¦ê¤§«e¡A¨Ã¥BNULL±Æ¦b©Ò¦³¨ä¥LªTÁ|Ȥ§«e¡C
¦pªG§A·Qn±o¨ì¤@ÓENUM¦Cªº©Ò¦³¥i¯àªºÈ¡A§AÀ³¸Ó¨Ï¥Î¡GSHOW
COLUMNS FROM table_name LIKE enum_column_name¨Ã¥B¤ÀªR¦b²Ä¤G¦CªºENUM©w¸q¡C
SETÃþ«¬¤@ÓSET¬O¥i¥H¦³¹s©Î¦hÓȪº¤@Ó¦r²Å¦ê¹ï¹³¡A¨ä¨C¤@Ó¥²¶·±qªí³Ð«Ø³y³Q«ü©w¤Fªº¤¹³\Ȫº¤@±i¦Cªí¤¤³Q¿ï¾Ü¡C¥Ñ¦hÓ¶°¦X¦¨û²Õ¦¨ªºSET¦C³q¹L¥Ñ¥Ñ³r¸¹¤À¹j(¡§,¡¨)ªº¦¨û³Q«ü©w¡A¨ä±À½×¬O¸ÓSET¦¨ûȤ£¯à¥]§t³r¸¹¥»¨¡C
¨Ò¦p, ¤@Ó«ü©w¬°SET("one", "two") NOT NULLªº¦C¥i¥H¦³³o¨ÇȪº¥ô¦ó¤@Ó¡G
""
"one"
"two"
"one,two"
¤@ÓSET¯à¦³³Ì¦h64Ó¤£¦Pªº¦¨û¡C
MySQL¥Î¼Æ¦rÈÀx¦sSETÈ¡AÀx¦sȪº§C¶¥¦ì¹ïÀ³©ó²Ä¤@Ó¶°¦X¦¨û¡C¦pªG§A¦b¼Æ¦r¤W¤U¤å¤¤À˯Á¤@ÓSETÈ¡AÀ˯ÁªºÈ§â¦ì³]¸m¦ì¹ïÀ³²Õ¦¨¦CȪº¶°¦X¦¨û¡C¦pªG¤@ӼƦr³QÀx¦s¶i¤@ÓSET¦C¡A¦b¼Æ¦rªº¤G¶i¨îªí¥Ü¤¤³]¸mªº¦ì¨M©w¤F¦b¦C¤¤ªº¶°¦X¦¨û¡C°²©w¤@Ó¦C³Q«ü©w¬°SET("a","b","c","d")¡A¨º»ò¦¨û¦³¤U¦C¦ìÈ¡G
SET ¦¨û |
¤Q¶i¨îªºÈ | ¤G¶i¨îªºÈ |
a |
1 |
0001 |
b |
2 |
0010 |
c |
4 |
0100 |
d |
8 |
1000 |
¦pªG§Aµ¹¸Ó¦C½áÈ9¡A§Y¤G¶i¨îªº1001¡A³o¼Ë²Ä¤@Ó©M²Ä¥|ÓSETȦ¨û"a"©M"d"³Q¿ï¾Ü¨Ã¥Bµ²ªGȬO"a,d"¡C
¹ï©ó¥]§t¶W¹L¤@ÓSET¦¨ûªºÈ¡A·í§A´¡¤JȮɡAµL©Ò¿×¥H¤°»ò¶¶§Ç¦CÁ|È¡A¤]µL©Ò¿×µ¹©wªºÈ¦CÁ|¤F¦h¤Ö¦¸¡C·í¥H«áÀ˯ÁȮɡA¦bȤ¤ªº¨CÓ¦¨û±N¥X²{¤@¦¸¡A®Ú¾Ú¥L̦bªí³Ð«Ø®É³Q«ü©wªº¶¶§Ç¦C¥X¦¨û¡C¨Ò¦p¡A¦pªG¦C«ü©w¬°SET("a","b","c","d")¡A¨º»ò"a,d"¡B"d,a"©M"d,a,a,d,d"¦bÀ˯Á®É±N§¡§@¬°"a,d"¥X²{¡C
SETÈ¥H¼Æ¦r¦¸§Ç³Q±Æ§Ç¡CNULL«ü±Æ¦b«DNULL
SETȤ§«e¡C
³q±`¡A§A¨Ï¥ÎLIKE¾Þ§@²Å©ÎFIND_IN_SET()¨ç¼Æ°õ¦æ¦b¤@ÓSET¤Wªº¤@ÓSELECT¡G
mysql> SELECT * FROM tbl_name WHERE set_col LIKE '%value%';
mysql> SELECT * FROM tbl_name WHERE FIND_IN_SET('value',set_col)>0;
¦ý¬O¤U¦C¤]·|¤u§@¡G
mysql> SELECT * FROM tbl_name WHERE set_col = 'val1,val2'; mysql> SELECT * FROM tbl_name WHERE set_col & 1;
³o¨Ç»y¥yªº²Ä¤@Ó»y¥y´M§ä¤@Óºë½Tªº¤Ç°t¡C²Ä¤GÓ´M§ä¥]§t²Ä¤@Ó¶°¦X¦¨ûªºÈ¡C
¦pªG§A·Qn±o¨ì¤@ÓSET¦Cªº©Ò¦³¥i¯àªºÈ¡A§AÀ³¸Ó¨Ï¥Î¡GSHOW
COLUMNS FROM table_name LIKE set_column_name¨Ã¥B¤ÀªR¦b²Ä¤G¦CªºSET©w¸q¡C
¬°¤F³Ì¦³®Ä¦a¨Ï¥ÎÀx¦sªÅ¶¡¡A¸ÕµÛ¦b©Ò¦³ªº±¡ªp¤U¨Ï¥Î³Ìºë½TªºÃþ«¬¡C¨Ò¦p¡A¦pªG¤@Ó¾ã¼Æ¦C³Q¥Î©ó¦b¤§¶¡1©M99999ªºÈ¡A
MEDIUMINT UNSIGNED¬O³Ì¦nªºÃþ«¬¡C
³f¹ôȪººë½Tªí¥Ü¬O¤@Ó±`¨£ªº°ÝÃD¡C¦bMySQL¡A§AÀ³¸Ó¨Ï¥ÎDECIMALÃþ«¬¡A¥¦§@¬°¤@Ó¦r²Å¦ê³QÀx¦s¡A¤£·|µo¥Íºë½T©Êªº·l¥¢¡C¦pªGºë½T©Ê¤£¬O¤Ó«n¡ADOUBLEÃþ«¬¤]¬O¨¬°÷¦nªº¡C
¹ï°ªºë«×¡A§AÁ`¬O¯àÅÜ´«¨ì¥H¤@ÓBIGINTÀx¦sªº©wÂIÃþ«¬¡C³o¤¹³\§A¥Î¾ã¼Æ°µ©Ò¦³ªºpºâ¡A¨Ã¥B¶È¦b¥²n®É±Nµ²ªGÂà´«¦^¯BÂIÈ¡C¨£10.6 ¿ï¾Ü¤@ÓªíÃþ«¬¡C
©Ò¦³ªºMySQL¦CÃþ«¬¯à³Q¯Á¤Þ¡C¦b¬ÛÃöªº¦C¤Wªº¨Ï¥Î¯Á¤Þ¬O§ï¶iSELECT¾Þ§@©Ê¯àªº³Ì¦n¤èªk¡C
¤@Óªí³Ì¦h¥i¦³16Ó¯Á¤Þ¡C³Ì¤j¯Á¤Þªø«×¬O256Ó¦r¸`¡AºÉºÞ³o¥i¥H¦b½sĶMySQL®É³Q§ïÅÜ¡C
¹ï©óCHAR©MVARCHAR¦C¡A§A¥i¥H¯Á¤Þ¦Cªº«eºó¡C³o§ó§Ö¨Ã¥B¤ñ¯Á¤Þ¾ãÓ¦C»Ýn¸û¤ÖªººÏºÐªÅ¶¡¡C¦bCREATE
TABLE»y¥y¤¤¯Á¤Þ¦C«eºóªº»yªk¬Ý°_¨Ó¹³³o¼Ë¡G
KEY index_name (col_name(length))
¤U±ªº¨Ò¤l¬°name¦CªºÀY10Ó¦r²Å³Ð«Ø¤@Ó¯Á¤Þ¡G
mysql> CREATE TABLE test (
name CHAR(200) NOT NULL,
KEY index_name (name(10)));
¹ï©óBLOB©MTEXT¦C¡A§A¥²¶·¯Á¤Þ¦Cªº«eºó¡A§A¤£¯à¯Á¤Þ¦Cªº¥þ³¡¡C
MySQL¯à¦b¦hÓ¦C¤W³Ð«Ø¯Á¤Þ¡C¤@Ó¯Á¤Þ¥i¥H¥Ñ³Ì¦h15Ó¦C²Õ¦¨¡C¡]¦bCHAR©MVARCHAR¦C¤W¡A§A¤]¥i¥H¨Ï¥Î¦Cªº«eºó§@¬°¤@Ó¯Á¤Þªº³¡¤À)¡C
¤@Ó¦h«¦C¯Á¤Þ¥i¥H»{¬°¬O¥]§t³q¹L¦X¨Ã(concatenate)¯Á¤Þ¦CȳЫتºÈªº¤@ӱƧǼƲաC
·í§A¬°¦b¤@ÓWHERE¤l¥y¯Á¤Þªº²Ä¤@¦C«ü©w¤wª¾ªº¼Æ¶q®É¡AMySQL¥H³oºØ¤è¦¡¨Ï¥Î¦h«¦C¯Á¤Þ¨Ï±o¬d¸ß«D±`§Ö³t¡A§Y¨Ï§A¤£¬°¨ä¥L¦C«ü©wÈ¡C
°²©w¤@±iªí¨Ï¥Î¤U¦C»¡©ú³Ð«Ø¡G
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¬O¤@Ó¦blast_name©Mfirst_name¤Wªº¯Á¤Þ¡A³oÓ¯Á¤Þ±N³Q¥Î©ó¦blast_name©Îlast_name©Mfirst_nameªº¤@Ó¤wª¾½d³ò¤º«ü©wȪº¬d¸ß¡A¦]¦¹¡Aname¯Á¤Þ±N¨Ï¥Î¦b¤U¦C¬d¸ß¤¤¡G
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";
µM¦Ó¡Aname¯Á¤Þ±N¤£¥Î¦b¤U¦C¸ß°Ý¤¤¡G
mysql> SELECT * FROM test WHERE first_name="Michael";
mysql> SELECT * FROM test WHERE last_name="Widenius"
OR first_name="Michael";
Ãö©óMySQL¨Ï¥Î¯Á¤Þ§ï¶i©Ê¯àªº¤è¦¡ªº§ó¦hªº¸ê°T¡A¨£10.4 ¨Ï¥ÎMySQL¯Á¤Þ¡C
¬°¤F¸ò®e©ö¦a¨Ï¥Î¬°¨ä¥L¨ÑÀ³°ÓªºSQL¹ê²{½s¼gªº¥N½X¡A¤UªíÅã¥Ü¤FMySQL¬M®gªº¦CÃþ«¬¡C³o¨Ç¬M®g¨Ï±o±q¨ä¥L¸ê®Æ®w¤ÞÀº²¾°Êªí©w¸q¨ìMySQL§ó®e©ö¡G
| ¨ä¥L¨ÑÀ³°ÓÃþ«¬ | 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 |
¦CÃþ«¬¬M®gµo¥Í¦bªí³Ð«Ø®É¡C¦pªG§A¥Î¨ä¥L¨ÑÀ³°Ó¨Ï¥ÎªºÃþ«¬³Ð«Øªí¡A¨º»òµo¥X¤@ÓDESCRIBE
tbl_name»y¥y¡AMySQL¨Ï¥Îµ¥»ùªºMySQLÃþ«¬³ø§iªíµ²ºc¡C
SELECT©MWHERE¤l¥y¤¤ªº¨ç¼Æ¦b¤@ÓSQL»y¥y¤¤ªºselect_expression©Îwhere_definition¥i¥Ñ¨Ï¥Î¤U±´yzªº¨ç¼Æªº¥ô¦óªí¹F¦¡²Õ¦¨¡C
¥]§tNULLªº¤@Óªí¹F¦¡Á`¬O²£¥Í¤@ÓNULLÈ¡A§_«h°£«Dªí¹F¦¡©Ò¥]§tªº¾Þ§@²Å©M¨ç¼Æ¦b¤åÀɤ¤»¡©ú¡C
ª`·N¡G¦b¤@Ó¨ç¼Æ¦W©M¸òÀH¥¦ªº¬A¸¹¤§¶¡¤£³\¨S¦³ªÅ®æ¡C³oÀ°§UMySQL¤ÀªR¾¹°Ï¤À¨ç¼Æ½Õ¥Î©M¨ã¦³¬Û¦P¦W¦rªº¹ïªí©Î¦Cªº¤Þ¥Î¡AºÉºÞ¤¹³\¦b°Ñ¼Æ©P³ò¦³ªÅ®æ¡C
¬°¤F²¼ä¡A¨Ò¤l¥HÁY¼g§Î¦¡Åã¥Ü±qmysqlµ{¦¡¿é¥X¡C¦]¦¹¡G
mysql> select MOD(29,9); 1 rows in set (0.00 sec) +-----------+ | mod(29,9) | +-----------+ | 2 | +-----------+
³QÅã¥Ü¬°³o¼Ë¡G
mysql> select MOD(29,9);
-> 2
( ... ) mysql> select 1+2*3;
-> 7
mysql> select (1+2)*3;
-> 9
¤@¯ëªººâ³N¾Þ§@²Å¬O¥i¥Îªº¡Cª`·N¦b-¡B+©M*±¡ªp¤U¡A¦pªG¨âӰѼƬO¾ã¼Æ¡Aµ²ªG¥ÎBIGINT¡]64¦ì¡^ºë«×pºâ¡I
+ 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
³Ì«á¤@Óªí¹F¦¡ªºµ²ªG¬O¤£¥¿½Tªº¡A¦]¬°¾ã¼Æ¼¿nªºµ²ªG¶W¹L¥ÎBIGINTpºâªº64¦ì½d³ò¡C
/ mysql> select 3/5;
-> 0.60
³Q¹s°£²£¥Í¤@ÓNULLµ²ªG¡G
mysql> select 102/(1-1);
-> NULL
¤@Ó°£ªk¥ÎBIGINTºâ³Npºâ¡A¥un¦b¥¦ªºµ²ªG³QÂà´«¨ì¤@Ó¾ã¼Æªº¤W¤U¤å¤¤°õ¦æ¡I
MySQL¬°¦ì¾Þ§@¨Ï¥ÎBIGINT¡]64¦ì)ºâªk¡A¦]¦¹³o¨Ç¾Þ§@²Å¦³³Ì¤j64¦ìªº¤@Ó½d³ò¡C
| mysql> select 29 | 15;
-> 31
& mysql> select 29 & 15;
-> 13
<< BIGINT)¼Æ¦r¡C mysql> select 1 << 2
-> 4
>> BIGINT)¼Æ¦r¡C mysql> select 4 >> 2
-> 1
~ mysql> select 5 & ~1
-> 4
BIT_COUNT(N) N³]©wªº¦ìªº¼Æ¶q¡C mysql> select BIT_COUNT(29);
-> 4
©Ò¦³ªºÅÞ¿è¨ç¼Æªð¦^1¡]TRUE¡^©Î0¡]FALSE¡^¡C
NOT ! 0¡Aªð¦^1¡A§_«hªð¦^0¡C¨Ò¥~¡G
NOT NULLªð¦^NULL¡C mysql> select NOT 1;
-> 0
mysql> select NOT NULL;
-> NULL
mysql> select ! (1+1);
-> 0
mysql> select ! 1+1;
-> 1
³Ì«áªº¨Ò¤lªð¦^1¡A¦]¬°ªí¹F¦¡§@¬°(!1)+1pºâ¡C
OR || 0¨Ã¥B¤£NULL¡Aªð¦^1¡C
mysql> select 1 || 0;
-> 1
mysql> select 0 || 0;
-> 0
mysql> select 1 || NULL;
-> 1
AND && 0©ÎNULL¡Aªð¦^0¡A§_«hªð¦^1¡C
mysql> select 1 && NULL;
-> 0
mysql> select 1 && 0;
-> 0
¤ñ¸û¾Þ§@±o¥XÈ1¡]TRUE¡^¡B0¡]FALSE¡^©ÎNULLµ¥µ²ªG¡C³o¨Ç¨ç¼Æ¤u§@¹B¥Î¦b¼Æ¦r©M¦r²Å¦ê¤W¡C·í»Ýn®É¡A¦r²Å¦ê¦Û°Ê¦a³QÅÜ´«¨ì¼Æ¦r¥B¼Æ¦r¨ì¦r²Å¦ê(¦p¦bPerl)¡C
MySQL¨Ï¥Î¤U¦C³W«h°õ¦æ¤ñ¸û¡G
NULL¡A¤ñ¸ûªºµ²ªG¬ONULL¡A°£¤F<=>¾Þ§@²Å¡C
TIMESTAMP©ÎDATETIME¦C¦Ó¨ä¥L°Ñ¼Æ¬O¤@Ó±`¼Æ¡A¦b¤ñ¸û°õ¦æ«e¡A±`¼Æ³QÂà´«¬°¤@Ӯɶ¡¼Ð°O¡C³o¼Ë°µ¬O¬°¤F¹ïODBC§ó¤Í¦n¡C
¹w³]¦a¡A¦r²Å¦ê¨Ï¥Î·í«eªº¦r²Å¶°¥H¤j¤p¼g±Ó·Pªº¤è¦¡¶i¦æ(¹w³]¬°ISO-8859-1 Latin1¡A¥¦¹ï^»y¹B¥Î±o«Ü¥X¦â)¡C
¤U±ªº¨Ò¤lºt¥Ü¤F¹ï©ó¤ñ¸û¾Þ§@¦r²Å¦ê¨ì¼Æ¦rªºÂà´«¡G
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¹ï¤j©ó©Îµ¥©ómin¥Bexpr¬O¤p©ó©Îµ¥©ómax¡ABETWEENªð¦^1¡A§_«h¥¦ªð¦^0¡C¦pªG©Ò¦³ªº°Ñ¼ÆÃþ«¬¬O¤@¼Ë±o¡A³oµ¥»ù©óªí¹F¦¡(min
<= expr AND expr <= max)¡C²Ä¤@ӰѼÆ(expr)¨M©w¤ñ¸û¦p¦ó³Q°õ¦æ¡C¦pªGexpr¬O¤@Ó¤j¤p¼g¤£±Ó·Pªº¦r²Å¦êªí¹F¦¡¡A¶i¦æ¤@Ó¤j¤p¼g¤£±Ó·Pªº¦r²Å¦ê¤ñ¸û¡C¦pªGexpr¬O¤@Ó¤j¤p¼g±Ó·Pªº¦r²Å¦êªí¹F¦¡¡A¶i¦æ¤@Ó¤j¤p¼g±Ó·Pªº¦r²Å¦ê¤ñ¸û¡C¦pªGexpr¬O¤@Ó¾ã¼Æªí¹F¦¡¡A¶i¦æ¾ã¼Æ¤ñ¸û¡C§_«h¡A¶i¦æ¤@Ó¯BÂI(¹ê¼Æ)¤ñ¸û¡C
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¬O¦bINªí¤¤ªº¥ô¦óÈ¡Aªð¦^1¡A§_«hªð¦^0¡C¦pªG©Ò¦³ªºÈ¬O±`¼Æ¡A¨º»ò©Ò¦³ªºÈ®Ú¾ÚexprÃþ«¬³Qpºâ©M±Æ§Ç¡AµM«á¶µ¥Øªº·j¯Á¬O¥Î¤G¶i¨îªº·j¯Á§¹¦¨¡C³o·N¨ýµÛ¦pªGINȪí¥þ³¡¥Ñ±`¼Æ²Õ¦¨¡AIN¬O«Ü§Öªº¡C¦pªGexpr¬O¤@Ó¤j¤p¼g±Ó·Pªº¦r²Å¦êªí¹F¦¡¡A¦r²Å¦ê¤ñ¸û¥H¤j¤p¼g±Ó·P¤è¦¡°õ¦æ¡C
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,...))¬Û¦P¡C ISNULL(expr) expr¬ONULL¡AISNULL()ªð¦^1¡A§_«h¥¦ªð¦^0¡C
mysql> select ISNULL(1+1);
-> 0
mysql> select ISNULL(1/0);
-> 1
COALESCE(list) NULLªº³æ¤¸¡C mysql> select COALESCE(NULL,1);
-> 1
mysql> select COALESCE(NULL,NULL,NULL);
-> NULL
INTERVAL(N,N1,N2,N3,...) N< N1¡Aªð¦^0¡A¦pªGN<
N2¡Aªð¦^1µ¥µ¥¡C©Ò¦³ªº°Ñ¼Æ³Q·í§@¾ã¼Æ¡C¬°¤F¨ç¼Æ¯à¥¿½T¦a¤u§@¡A¥¦n¨DN1<N2<N3<
...<Nn¡C³o¬O¦]¬°¨Ï¥Î¤G¶i¨î·j¯Á(«Ü§Ö)¡C 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
³q±`¡A¦pªG¦b¦r²Å¦ê¤ñ¸û¤¤ªº¥ô¦óªí¹F¦¡¬O°Ï¤À¤j¤p¼gªº¡A¤ñ¸û¥H¤j¤p¼g±Ó·Pªº¤è¦¡°õ¦æ¡C
expr LIKE pat [ESCAPE 'escape-char'] 1¡]TRUE¡^©Î0¡]FALSE¡^¡C¥ÎLIKE¡A§A¥i¥H¦b¼Ò¦¡¤¤¨Ï¥Î¤U¦C2Ó³q°t²Å¦r²Å¡G
% |
¤Ç°t¥ô¦ó¼Æ¥Øªº¦r²Å¡A¬Æ¦Ü¹sÓ¦r²Å |
_ |
ºë½T¤Ç°t¤@Ó¦r²Å |
mysql> select 'David!' LIKE 'David_';
-> 1
mysql> select 'David!' LIKE '%D%v%';
-> 1
¬°¤F´ú¸Õ¤@Ó³q°t²Åªº¤å¦r¹ê¨Ò¡A¥ÎÂà¸q¦r²Åªº¥[¦b¦r²Å«e±¡C¦pªG§A¤£«ü©wESCAPE¦r²Å¡A°²©w¬°¡§\¡¨¡G
\% |
¤Ç°t¤@%¦r²Å |
\_ |
¤Ç°t¤@_¦r²Å |
mysql> select 'David!' LIKE 'David\_';
-> 0
mysql> select 'David_' LIKE 'David\_';
-> 1
¬°¤F«ü©w¤@Ó¤£¦PªºÂà¸q¦r²Å¡A¨Ï¥ÎESCAPE¤l¥y¡G
mysql> select 'David_' LIKE 'David|_' ESCAPE '|';
-> 1
LIKE¤¹³\¥Î¦b¼Æ¦rªºªí¹F¦¡¤W¡I¡]³o¬OMySQL¹ïANSI
SQL LIKEªº¤@ÓÂX¥R¡C)
mysql> select 10 LIKE '1%';
-> 1
ª`·N¡G¦]¬°MySQL¦b¦r²Å¦ê¤¤¨Ï¥ÎCÂà¸q»yªk(¨Ò¦p¡A¡§\n¡¨)¡A§A¥²¶·¦b§AªºLIKE¦r²Å¦ê¤¤«½Æ¥ô¦ó¡§\¡¨¡C¨Ò¦p¡A¬°¤F¬d§ä¡§\n¡¨¡A«ü©w¥¦¬°¡§
\\n¡¨¡A¬°¤F¬d§ä¡§\¡¨¡A«ü©w¥¦¬°¡§\\\\¡¨¡]¤Ï±×½u³Q¤ÀªR¾¹é¥h¤@¦¸¡A¥t¤@¦¸¬O¦b¼Ò¦¡¤Ç°t§¹¦¨®É¡A¯d¤U¤@±ø³æ¿Wªº¤Ï±×½u³Q¤Ç°t)¡C
expr NOT LIKE pat [ESCAPE 'escape-char'] NOT (expr LIKE pat [ESCAPE 'escape-char'])¬Û¦P¡C
expr REGEXP pat expr RLIKE pat expr¹ï¤@Ó¼Ò¦¡patªº¼Ò¦¡¤Ç°t¡C¼Ò¦¡¥i¥H¬O¤@ÓÂX¥Rªº¥¿«hªí¹F¦¡¡C¨£MySQL ¥¿«hªí¹F¦¡¥yªkªº H ´yz.¦pªGexpr¤Ç°tpat¡Aªð¦^1¡A§_«hªð¦^0¡CRLIKE¬OREGEXPªº¤@Ó¦P¸qµü¡A´£¨Ñ¤F»PmSQLªºÝ®e©Ê¡Cª`·N¡G¦]¬°MySQL¦b¦r²Å¦ê¤¤¨Ï¥ÎCÂà¸q»yªk(¨Ò¦p¡A¡§\n¡¨),
§A¥²¶·¦b§AªºREGEXP¦r²Å¦ê«½Æ¥ô¦ó¡§\¡¨¡C¦bMySQL3.23.4¤¤¡AREGEXP¹ï©ó¥¿±`ªº(¤£¬O¤G¶i¨î)¦r²Å¦ê¬O©¿²¤¤j¤p¼g¡C
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©MRLIKE¨Ï¥Î·í«eªº¦r²Å¶°(¹w³]¬°ISO-8859-1
Latin1)¡C expr NOT REGEXP pat expr NOT RLIKE pat NOT (expr REGEXP pat)¬Û¦P¡C STRCMP(expr1,expr2) STRCMP()¦^¨Ó0¡A¦pªG²Ä¤@°Ñ¼Æ®Ú¾Ú·í«eªº±Æ§Ç¦¸§Ç¤p©ó²Ä¤GÓ¡Aªð¦^-1¡A§_«hªð¦^1¡C
mysql> select STRCMP('text', 'text2');
-> -1
mysql> select STRCMP('text2', 'text');
-> 1
mysql> select STRCMP('text', 'text');
-> 0
BINARY BINARY¾Þ§@²Å±j¨î¸òÀH¥¦«á±ªº¦r²Å¦ê¬°¤@Ó¤G¶i¨î¦r²Å¦ê¡C§Y¨Ï¦C¨S³Q©w¸q¬°BINARY©ÎBLOB¡A³o¬O¤@Ó±j¨î¦C¤ñ¸û°Ï¤À¤j¤p¼gªºÂ²©ö¤èªk¡C
mysql> select "a" = "A";
-> 1
mysql> select BINARY "a" = "A";
-> 0
BINARY¦bMySQL 3.23.0¤¤³Q¤Þ¤J¡C
IFNULL(expr1,expr2) expr1¤£¬ONULL¡AIFNULL()ªð¦^expr1¡A§_«h¥¦ªð¦^expr2¡CIFNULL()ªð¦^¤@ӼƦr©Î¦r²Å¦êÈ¡A¨ú¨M©ó¥¦³Q¨Ï¥Îªº¤W¤U¤åÀô¹Ò¡C
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¬OTRUE(expr1<>0¥Bexpr1<>NULL)¡A¨º»òIF()ªð¦^expr2¡A§_«h¥¦ªð¦^expr3¡CIF()ªð¦^¤@ӼƦr©Î¦r²Å¦êÈ¡A¨ú¨M©ó¥¦³Q¨Ï¥Îªº¤W¤U¤å¡C
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§@¬°¾ã¼ÆÈ³Qpºâ¡A¥¦·N¨ýµÛ¦pªG§A¥¿¦b´ú¸Õ¯BÂI©Î¦r²Å¦êÈ¡A§AÀ³¸Ó¨Ï¥Î¤@Ó¤ñ¸û¾Þ§@¨Ó°µ¡C
mysql> select IF(0.1,1,0);
-> 0
mysql> select IF(0.1<>0,1,0);
-> 1
¦b¤W±ªº²Ä¤@ºØ±¡ªp¤¤¡AIF(0.1)ªð¦^0¡A¦]¬°0.1³QÅÜ´«¨ì¾ã¼ÆÈ,
¾ÉP´ú¸ÕIF(0)¡C³o¥i¯à¤£¬O§A´Á±æªº¡C¦b²Ä¤GºØ±¡ªp¤¤¡A¤ñ¸û´ú¸Õì¨Óªº¯BÂIȬݥ¦¬O§_¬O«D¹s¡A¤ñ¸ûªºµ²ªG³Q¥Î§@¤@Ó¾ã¼Æ¡C
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¡A¨ä¤¤value=compare-value¡C²Ä¤GÓª©¥»¤¤¦pªG²Ä¤@Ó±ø¥ó¬°¯u¡Aªð¦^result¡C¦pªG¨S¦³¤Ç°tªºresultÈ¡A¨º»òµ²ªG¦bELSE«áªºresult³Qªð¦^¡C¦pªG¨S¦³ELSE³¡¤À¡A¨º»òNULL³Qªð¦^¡C
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
©Ò¦³ªº¼Æ¾Ç¨ç¼Æ¦b¤@Ó¥X¿ùªº±¡ªp¤Uªð¦^NULL¡C
- mysql> select - 2;
ª`·N¡A¦pªG³oÓ¾Þ§@²Å»P¤@ÓBIGINT¨Ï¥Î¡Aªð¦^ȬO¤@ÓBIGINT¡I³o·N¨ýµÛ§AÀ³¸ÓÁ×§K¦b¾ã¼Æ¤W¨Ï¥Î-¡A¨º¥i¯à¦³È-2^63¡I
ABS(X) Xªºµ´¹ïÈ¡C mysql> select ABS(2);
-> 2
mysql> select ABS(-32);
-> 32
SIGN(X) -1¡B0©Î1¡A¨ú¨M©óX¬O§_¬Ot¼Æ¡B¹s©Î¥¿¼Æ¡C
mysql> select SIGN(-32);
-> -1
mysql> select SIGN(0);
-> 0
mysql> select SIGN(234);
-> 1
MOD(N,M) % %¾Þ§@²Å)¡Cªð¦^N³QM°£ªº¾l¼Æ¡C
mysql> select MOD(234, 10);
-> 4
mysql> select 253 % 7;
-> 1
mysql> select MOD(29,9);
-> 2
³oÓ¨ç¼Æ¥i¦w¥þ¥Î©óBIGINTÈ¡C
FLOOR(X) Xªº³Ì¤j¾ã¼ÆÈ¡C mysql> select FLOOR(1.23);
-> 1
mysql> select FLOOR(-1.23);
-> -2
ª`·Nªð¦^ȳQÅÜ´«¬°¤@ÓBIGINT¡I
CEILING(X) Xªº³Ì¤p¾ã¼ÆÈ¡C mysql> select CEILING(1.23);
-> 2
mysql> select CEILING(-1.23);
-> -1
ROUND(X) Xªº¥|±Ë¤¤Jªº¤@Ó¾ã¼Æ¡C mysql> select ROUND(-1.23);
-> -1
mysql> select ROUND(-1.58);
-> -2
mysql> select ROUND(1.58);
-> 2
ROUND(X,D) Xªº¥|±Ë¤¤Jªº¦³D¬°¤p¼Æªº¤@ӼƦr¡C¦pªGD¬°0¡Aµ²ªG±N¨S¦³¤p¼ÆÂI©Î¤p¼Æ³¡¤À¡C
mysql> select ROUND(1.298, 1);
-> 1.3
mysql> select ROUND(1.298, 0);
-> 1
EXP(X) e¡]¦ÛµM¹ï¼Æªº©³¡^ªºX¦¸¤è¡C mysql> select EXP(2);
-> 7.389056
mysql> select EXP(-2);
-> 0.135335
LOG(X) Xªº¦ÛµM¹ï¼Æ¡C mysql> select LOG(2);
-> 0.693147
mysql> select LOG(-2);
-> NULL
LOG10(X) Xªº¥H10¬°©³ªº¹ï¼Æ¡C 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¦¸¾¡C mysql> select POW(2,2);
-> 4.000000
mysql> select POW(2,-2);
-> 0.250000
SQRT(X) Xªº¥¤è®Ú¡C mysql> select SQRT(4);
-> 2.000000
mysql> select SQRT(20);
-> 4.472136
PI() mysql> select PI();
-> 3.141593
COS(X) Xªº¾l©¶, ¦b³o¸ÌX¥H©·«×µ¹¥X¡C mysql> select COS(PI());
-> -1.000000
SIN(X) Xªº¥¿©¶È¡A¦b¦¹X¥H©·«×µ¹¥X¡C mysql> select SIN(PI());
-> 0.000000
TAN(X) Xªº¥¿¤ÁÈ¡A¦b¦¹X¥H©·«×µ¹¥X¡C mysql> select TAN(PI()+1);
-> 1.557408
ACOS(X) X¤Ï¾l©¶¡A§Y¨ä¾l©¶È¬OX¡C¦pªGX¤£¦b-1¨ì1ªº½d³ò¡Aªð¦^NULL¡C
mysql> select ACOS(1);
-> 0.000000
mysql> select ACOS(1.0001);
-> NULL
mysql> select ACOS(0);
-> 1.570796
ASIN(X) X¤Ï¥¿©¶È¡A§Y¨ä¥¿©¶È¬OX¡CL¦pªGX¤£¦b-1¨ì1ªº½d³ò¡Aªð¦^NULL¡C
mysql> select ASIN(0.2);
-> 0.201358
mysql> select ASIN('foo');
-> 0.000000
ATAN(X) Xªº¤Ï¥¿¤ÁÈ¡A§Y¨ä¥¿¤ÁȬOX¡C mysql> select ATAN(2);
-> 1.107149
mysql> select ATAN(-2);
-> -1.107149
ATAN2(X,Y) X©MYªº¤Ï¥¿¤Á¡C¥¦Ãþ¦ü©ópºâY/Xªº¤Ï¥¿¤Á¡A°£¤F¨âӰѼƪº²Å¸¹³Q¥Î¨Ó¨M©wµ²ªGªº¹³¡C
mysql> select ATAN(-2,2);
-> -0.785398
mysql> select ATAN(PI(),0);
-> 1.570796
COT(X) Xªº¾l¤Á¡C mysql> select COT(12);
-> -1.57267341
mysql> select COT(0);
-> NULL
RAND() RAND(N) 0¨ì1.0¤ºªºÀH¾÷¯BÂIÈ¡C¦pªG¤@Ó¾ã¼Æ°Ñ¼ÆN³Q«ü©w¡A¥¦³Q¥Î§@ºØ¤lÈ¡C
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
§A¤£¯à¦b¤@ÓORDER BY¤l¥y¥ÎRAND()ȨϥΦC¡A¦]¬°ORDER
BY±N«½Æpºâ¦C¦h¦¸¡CµM¦Ó¦bMySQL3.23¤¤¡A§A¥i¥H°µ¡G
SELECT * FROM table_name ORDER BY RAND()¡A³o¬O¦³§Q©ó±o¨ì¤@Ó¨Ó¦ÛSELECT
* FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000ªº¶°¦XªºÀH¾÷¼Ë¥»¡Cª`·N¦b¤@ÓWHERE¤l¥y¸Ìªº¤@ÓRAND()±N¦b¨C¦¸WHERE³Q°õ¦æ®É«·sµû¦ô¡C
LEAST(X,Y,...) INTEGER¤W¤U¤å¡A©Î©Ò¦³ªº°Ñ¼Æ³£¬O¾ã¼ÆÈ¡A¥Ļ@¬°¾ã¼Æ¤ñ¸û¡C
REAL¤W¤U¤å¡A©Î©Ò¦³ªº°Ñ¼Æ¬O¹ê¼ÆÈ¡A¥Ļ@¬°¹ê¼Æ¤ñ¸û¡C
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¤@¼Ëªº³W«h¶i¦æ¤ñ¸û¡C
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"
¦bMySQL¦b 3.22.5 ¥H«eªºª©¥», §A¯à¨Ï¥ÎMAX()¦Ó¤£¬OGREATEST.
DEGREES(X) X¡A±q©·«×ÅÜ´«¬°¨¤«×¡C mysql> select DEGREES(PI());
-> 180.000000
RADIANS(X) X¡A±q¨¤«×ÅÜ´«¬°©·«×¡C mysql> select RADIANS(90);
-> 1.570796
TRUNCATE(X,D) X¡AºIÂ_¬°D¦ì¤p¼Æ¡C¦pªGD¬°0¡Aµ²ªG±N¨S¦³¤p¼ÆÂI©Î¤p¼Æ³¡¤À¡C
mysql> select TRUNCATE(1.223,1);
-> 1.2
mysql> select TRUNCATE(1.999,1);
-> 1.9
mysql> select TRUNCATE(1.999,0);
-> 1
¦pªGµ²ªGªºªø«×¤j©ó¦øªA¾¹°Ñ¼Æmax_allowed_packet¡A¦r²Å¦êÈ¨ç¼Æªð¦^NULL¡C¨£10.2.3 ½Õ¸`¦øªA¾¹°Ñ¼Æ¡C
¹ï©ó°w¹ï¦r²Å¦ê¦ì¸mªº¾Þ§@¡A²Ä¤@Ó¦ì¸m³Q¼Ð°O¬°1¡C
ASCII(str) strªº³Ì¥ª±¦r²ÅªºASCII¥N½XÈ¡C¦pªGstr¬OªÅ¦r²Å¦ê¡Aªð¦^0¡C¦pªGstr¬ONULL¡Aªð¦^NULL¡C
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...]ªð¦^¦r²ÅªºASCII¥N½XȨӪð¦^¦h¦r¸`¦r²Å¥N½X¡C¦pªG³Ì¥ª±ªº¦r²Å¤£¬O¤@Ó¦h¦r¸`¦r²Å¡Cªð¦^»PASCII()¨ç¼Æªð¦^ªº¬Û¦PÈ¡Cmysql> select ORD('2');
-> 50
CONV(N,from_base,to_base) Nªº¦r²Å¦ê¼Æ¦r¡A±qfrom_base°òÅÜ´«¬°to_base°ò¡A¦pªG¥ô¦ó°Ñ¼Æ¬ONULL¡Aªð¦^NULL¡C°Ñ¼ÆN¸ÑÄÀ¬°¤@Ó¾ã¼Æ¡A¦ý¬O¥i¥H«ü©w¬°¤@Ó¾ã¼Æ©Î¤@Ó¦r²Å¦ê¡C³Ì¤p°ò¬O2¥B³Ì¤jªº°ò¬O36¡C¦pªGto_base¬O¤@Ót¼Æ¡AN³Q»{¬°¬O¤@Ó¦³²Å¸¹¼Æ¡A§_«h¡AN³Q·í§@µL²Å¸¹¼Æ¡C
CONV¥H64¦ìÂIºë«×¤u§@¡C 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ªº¤@Ó¦r²Å¦êªí¥Ü¡A¦b¦¹N¬O¤@Óªø¾ã¼Æ(BIGINT)¼Æ¦r¡A³oµ¥»ù©óCONV(N,10,2)¡C¦pªGN¬ONULL¡Aªð¦^NULL¡C
mysql> select BIN(12);
-> '1100'
OCT(N) Nªº¤@Ó¦r²Å¦êªºªí¥Ü¡A¦b¦¹N¬O¤@Óªø¾ã«¬¼Æ¦r¡A³oµ¥»ù©óCONV(N,10,8)¡C¦pªGN¬ONULL¡Aªð¦^NULL¡C
mysql> select OCT(12);
-> '14'
HEX(N) N¤@Ó¦r²Å¦êªºªí¥Ü¡A¦b¦¹N¬O¤@Óªø¾ã«¬(BIGINT)¼Æ¦r¡A³oµ¥»ù©óCONV(N,10,16)¡C¦pªGN¬ONULL¡Aªð¦^NULL¡C
mysql> select HEX(255);
-> 'FF'
CHAR(N,...) CHAR()±N°Ñ¼Æ¸ÑÄÀ¬°¾ã¼Æ¨Ã¥Bªð¦^¥Ñ³o¨Ç¾ã¼ÆªºASCII¥N½X¦r²Å²Õ¦¨ªº¤@Ó¦r²Å¦ê¡CNULLȳQ¸õ¹L¡C
mysql> select CHAR(77,121,83,81,'76');
-> 'MySQL'
mysql> select CHAR(77,77.3,'77.3');
-> 'MMM'
CONCAT(str1,str2,...) NULL¡Aªð¦^NULL¡C¥i¥H¦³¶W¹L2Óªº°Ñ¼Æ¡C¤@ӼƦr°Ñ¼Æ³QÅÜ´«¬°µ¥»ùªº¦r²Å¦ê§Î¦¡¡C
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ªºªø«×¡C mysql> select LENGTH('text');
-> 4
mysql> select OCTET_LENGTH('text');
-> 4
LOCATE(substr,str) POSITION(substr IN str) substr¦b¦r²Å¦êstr²Ä¤@Ó¥X²{ªº¦ì¸m¡A¦pªGsubstr¤£¬O¦bstr¸Ì±¡Aªð¦^0.
mysql> select LOCATE('bar', 'foobarbar');
-> 4
mysql> select LOCATE('xbar', 'foobar');
-> 0
¸Ó¨ç¼Æ¬O¦h¦r¸`¥i¾aªº¡C
LOCATE(substr,str,pos) substr¦b¦r²Å¦êstr²Ä¤@Ó¥X²{ªº¦ì¸m¡A±q¦ì¸mpos¶}©l¡C¦pªGsubstr¤£¬O¦bstr¸Ì±¡Aªð¦^0¡Cmysql> select LOCATE('bar', 'foobarbar',5);
-> 7
INSTR(str,substr) substr¦b¦r²Å¦êstr¤¤ªº²Ä¤@Ó¥X²{ªº¦ì¸m¡C³o»P¦³2ӰѼƧΦ¡ªºLOCATE()¬Û¦P¡A°£¤F°Ñ¼Æ³QÄAË¡C
mysql> select INSTR('foobarbar', 'bar');
-> 4
mysql> select INSTR('xbar', 'foobar');
-> 0
LPAD(str,len,padstr) str¡A¥ª±¥Î¦r²Å¦êpadstr¶ñ¸Éª½¨ìstr¬OlenÓ¦r²Åªø¡C
mysql> select LPAD('hi',4,'??');
-> '??hi'
RPAD(str,len,padstr) str¡A¥k±¥Î¦r²Å¦êpadstr¶ñ¸Éª½¨ìstr¬OlenÓ¦r²Åªø¡C
mysql> select RPAD('hi',5,'?');
-> 'hi???'
LEFT(str,len) strªº³Ì¥ª±lenÓ¦r²Å¡Cmysql> select LEFT('foobarbar', 5);
-> 'fooba'
RIGHT(str,len) strªº³Ì¥k±lenÓ¦r²Å¡C mysql> select RIGHT('foobarbar', 4);
-> 'rbar'
SUBSTRING(str,pos,len) SUBSTRING(str FROM pos FOR len) MID(str,pos,len) strªð¦^¤@ÓlenÓ¦r²Åªº¤l¦ê¡A±q¦ì¸mpos¶}©l¡C¨Ï¥ÎFROMªºÅܺاΦ¡¬OANSI
SQL92»yªk¡C mysql> select SUBSTRING('Quadratically',5,6);
-> 'ratica'
SUBSTRING(str,pos) SUBSTRING(str FROM pos) strªº°_©l¦ì¸mposªð¦^¤@Ó¤l¦ê¡C mysql> select SUBSTRING('Quadratically',5);
-> 'ratically'
mysql> select SUBSTRING('foobarbar' FROM 4);
-> 'barbar'
SUBSTRING_INDEX(str,delim,count) strªº²ÄcountÓ¥X²{ªº¤À¹j²Ådelim¤§«áªº¤l¦ê¡C¦pªGcount¬O¥¿¼Æ¡Aªð¦^³Ì«áªº¤À¹j²Å¨ì¥ªÃä(±q¥ªÃ伯)
ªº©Ò¦³¦r²Å¡C¦pªGcount¬Ot¼Æ¡Aªð¦^³Ì«áªº¤À¹j²Å¨ì¥kÃ䪺©Ò¦³¦r²Å(±q¥kÃ伯)¡C
mysql> select SUBSTRING_INDEX('www.mysql.com', '.', 2);
-> 'www.mysql'
mysql> select SUBSTRING_INDEX('www.mysql.com', '.', -2);
-> 'mysql.com'
LTRIM(str) str¡C mysql> select LTRIM(' barbar');
-> 'barbar'
RTRIM(str) str¡C mysql> select RTRIM('barbar ');
-> 'barbar'
¸Ó¨ç¼Æ¹ï¦h¦r¸`¬O¥i¾aªº¡C
TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str) str¡A¨ä©Ò¦³remstr«eºó©Î«áºó³Q§R°£¤F¡C¦pªG¨S¦³×¹¢²ÅBOTH¡BLEADING©ÎTRAILINGµ¹¥X¡ABOTH³Q°²©w¡C¦pªGremstr¨S³Q«ü©w¡AªÅ®æ³Q§R°£¡C
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ªº¤@Ó¦Pµ¦r²Å¦ê¡CÅ¥°_¨Ó¡§¤jP¬Û¦P¡¨ªº2Ó¦r²Å¦êÀ³¸Ó¦³¬Û¦Pªº¦Pµ¦r²Å¦ê¡C¤@Ó¡§¼Ð·Ç¡¨ªº¦Pµ¦r²Å¦êªø¬O4Ó¦r²Å¡A¦ý¬OSOUNDEX()¨ç¼Æªð¦^¤@Ó¥ô·Nªøªº¦r²Å¦ê¡C§A¥i¥H¦bµ²ªG¤W¨Ï¥ÎSUBSTRING()±o¨ì¤@Ó¡§¼Ð·Ç¡¨ªº
¦Pµ¦ê¡C©Ò¦³«D¼Æ¦r¦r¥À¦r²Å¦bµ¹©wªº¦r²Å¦ê¤¤³Q©¿²¤¡C©Ò¦³¦bA-Z¤§¥~ªº¦r²Å°ê»Ú¦r¥À³Q·í§@¤¸µ¡C
mysql> select SOUNDEX('Hello');
-> 'H400'
mysql> select SOUNDEX('Quadratically');
-> 'Q36324'
SPACE(N) NӪŮæ¦r²Å²Õ¦¨ªº¤@Ó¦r²Å¦ê¡C mysql> select SPACE(6);
-> ' '
REPLACE(str,from_str,to_str) str¡A¨ä¦r²Å¦êfrom_strªº©Ò¦³¥X²{¥Ñ¦r²Å¦êto_str¥N´À¡C
mysql> select REPLACE('www.mysql.com', 'w', 'Ww');
-> 'WwWwWw.mysql.com'
REPEAT(str,count) countTimes¦¸ªº¦r²Å¦êstr²Õ¦¨ªº¤@Ó¦r²Å¦ê¡C¦pªGcount
<= 0¡Aªð¦^¤@ӪŦr²Å¦ê¡C¦pªGstr©Îcount¬ONULL¡Aªð¦^NULL¡C
mysql> select REPEAT('MySQL', 3);
-> 'MySQLMySQLMySQL'
REVERSE(str) str¡C mysql> select REVERSE('abc');
-> 'cba'
INSERT(str,pos,len,newstr) str¡A¦b¦ì¸mpos°_©lªº¤l¦ê¥BlenÓ¦r²Åªø±o¤l¦ê¥Ñ¦r²Å¦ênewstr¥N´À¡C
mysql> select INSERT('Quadratic', 3, 4, 'What');
-> 'QuWhattic'
ELT(N,str1,str2,str3,...) N= 1¡Aªð¦^str1¡A¦pªGN= 2¡Aªð¦^str2¡Aµ¥µ¥¡C¦pªGN¤p©ó1©Î¤j©ó°Ñ¼ÆÓ¼Æ¡Aªð¦^NULL¡CELT()¬OFIELD()¤Ï¹Bºâ¡C
mysql> select ELT(1, 'ej', 'Heja', 'hej', 'foo');
-> 'ej'
mysql> select ELT(4, 'ej', 'Heja', 'hej', 'foo');
-> 'foo'
FIELD(str,str1,str2,str3,...) str¦bstr1, str2, str3, ...²M³æªº¯Á¤Þ¡C¦pªGstr¨S§ä¨ì¡Aªð¦^0¡CFIELD()¬OELT()¤Ï¹Bºâ¡C
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¦b¥ÑN¤l¦ê²Õ¦¨ªºªístrlist¤§¤¤¡Aªð¦^¤@Ó1¨ìNªºÈ¡C¤@Ó¦r²Å¦êªí¬O³Q¡§,¡¨¤À¹jªº¤l¦ê²Õ¦¨ªº¤@Ó¦r²Å¦ê¡C¦pªG²Ä¤@ӰѼƬO¤@Ó±`¼Æ¦r²Å¦ê¨Ã¥B²Ä¤GӰѼƬO¤@ºØÃþ«¬¬°SETªº¦C¡AFIND_IN_SET()¨ç¼Æ³Q³Ì¨Î¤Æ¦Ó¨Ï¥Î¦ì¹Bºâ¡I¦pªGstr¤£¬O¦bstrlist¸Ì±©Î¦pªGstrlist¬OªÅ¦r²Å¦ê¡Aªð¦^0¡C¦pªG¥ô¦ó¤@ӰѼƬONULL¡Aªð¦^NULL¡C¦pªG²Ä¤@ӰѼƥ]§t¤@Ó¡§,¡¨¡A¸Ó¨ç¼Æ±N¤u§@¤£¥¿±`¡C
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2
MAKE_SET(bits,str1,str2,...) bits¶°¦X¤¤ªºªº¦r²Å¦ê²Õ¦¨¡Cstr1¹ïÀ³©ó¦ì0¡Astr2¹ïÀ³¦ì1¡Aµ¥µ¥¡C¦bstr1,
str2, ...¤¤ªºNULL¦ê¤£²K¥[¨ìµ²ªG¤¤¡C 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¡A®Ú¾Ú·í«e¦r²Å¶°¬M®g(¹w³]¬OISO-8859-1
Latin1)§â©Ò¦³ªº¦r²Å§ïÅܦ¨¤p¼g¡C¸Ó¨ç¼Æ¹ï¦h¦r¸`¬O¥i¾aªº¡C mysql> select LCASE('QUADRATICALLY');
-> 'quadratically'
UCASE(str) UPPER(str) str¡A®Ú¾Ú·í«e¦r²Å¶°¬M®g(¹w³]¬OISO-8859-1
Latin1)§â©Ò¦³ªº¦r²Å§ïÅܦ¨¤j¼g¡C¸Ó¨ç¼Æ¹ï¦h¦r¸`¬O¥i¾aªº¡C mysql> select UCASE('Hej');
-> 'HEJ'
LOAD_FILE(file_name) max_allowed_packet¡C¦pªG¤å¥ó¤£¦s¦b©Î¥Ñ©ó¤W±ì¦]¤§¤@¤£¯à³QŪ¥X¡A¨ç¼Æªð¦^NULL¡C
mysql> UPDATE table_name
SET blob_column=LOAD_FILE("/tmp/picture")
WHERE id=1;
MySQL¥²n®É¦Û°ÊÅÜ´«¼Æ¦r¬°¦r²Å¦ê¡A¨Ã¥B¤Ï¹L¨Ó¤]¦p¦¹¡G
mysql> SELECT 1+"1";
-> 2
mysql> SELECT CONCAT(2,' test');
-> '2 test'
¦pªG§A·Qn©ú½T¦aÅÜ´«¤@ӼƦr¨ì¤@Ó¦r²Å¦ê¡A§â¥¦§@¬°°Ñ¼Æ¶Ç»¼¨ìCONCAT()¡C
¦pªG¦r²Å¦ê¨ç¼Æ´£¨Ñ¤@Ó¤G¶i¨î¦r²Å¦ê§@¬°°Ñ¼Æ¡Aµ²ªG¦r²Å¦ê¤]¬O¤@Ó¤G¶i¨î¦r²Å¦ê¡C³QÅÜ´«¨ì¤@Ó¦r²Å¦êªº¼Æ¦r³Q·í§@¬O¤@Ó¤G¶i¨î¦r²Å¦ê¡C³o¶È¼vÅT¤ñ¸û¡C
¹ï©ó¨CÓÃþ«¬¾Ö¦³ªºÈ½d³ò¥H¤Î¨Ã¥B«ü©w¤é´Á¦ó®É¶¡Èªº¦³®Ä®æ¦¡ªº´yz¨£7.3.6 ¤é´Á©M®É¶¡Ãþ«¬¡C
³o¸Ì¬O¤@ӨϥΤé´Á¨ç¼Æªº¨Ò¤l¡C¤U±ªº¬d¸ß¿ï¾Ü¤F©Ò¦³°O¿ý¡A¨ädate_colªºÈ¬O¦b³Ì«á30¤Ñ¥H¤º¡G
mysql> SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
DAYOFWEEK(date) dateªº¬P´Á¯Á¤Þ(1=¬P´Á¤Ñ¡A2=¬P´Á¤@,
¡K¡K7=¬P´Á¤»)¡C³o¨Ç¯Á¤ÞȹïÀ³©óODBC¼Ð·Ç¡C mysql> select DAYOFWEEK('1998-02-03');
-> 3
WEEKDAY(date) dateªº¬P´Á¯Á¤Þ(0=¬P´Á¤@¡A1=¬P´Á¤G,
¡K¡K6= ¬P´Á¤Ñ)¡C mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5
mysql> select WEEKDAY('1997-11-05');
-> 2
DAYOFMONTH(date) dateªº¤ë¥÷¤¤¤é´Á¡A¦b1¨ì31½d³ò¤º¡C
mysql> select DAYOFMONTH('1998-02-03');
-> 3
DAYOFYEAR(date) date¦b¤@¦~¤¤ªº¤é¼Æ, ¦b1¨ì366½d³ò¤º¡C
mysql> select DAYOFYEAR('1998-02-03');
-> 34
MONTH(date) dateªº¤ë¥÷¡A½d³ò1¨ì12¡C mysql> select MONTH('1998-02-03');
-> 2
DAYNAME(date) dateªº¬P´Á¦W¦r¡C mysql> select DAYNAME("1998-02-05");
-> 'Thursday'
MONTHNAME(date) dateªº¤ë¥÷¦W¦r¡C mysql> select MONTHNAME("1998-02-05");
-> 'February'
QUARTER(date) date¤@¦~¤¤ªº©u«×¡A½d³ò1¨ì4¡C mysql> select QUARTER('98-04-01');
-> 2
WEEK(date) WEEK(date,first) dateªº©P¼Æ¡A½d³ò¦b0¨ì52¡C2ӰѼƧΦ¡WEEK()¤¹³\§A«ü©w¬P´Á¬O§_¶}©l©ó¬P´Á¤Ñ©Î¬P´Á¤@¡C¦pªG²Ä¤GӰѼƬO0¡A¬P´Á±q¬P´Á¤Ñ¶}©l¡A¦pªG²Ä¤GӰѼƬO1¡A±q¬P´Á¤@¶}©l¡C
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ªº¦~¥÷¡A½d³ò¦b1000¨ì9999¡Cmysql> select YEAR('98-02-03');
-> 1998
HOUR(time) timeªº¤p®É¡A½d³ò¬O0¨ì23¡Cmysql> select HOUR('10:05:03');
-> 10
MINUTE(time) timeªº¤ÀÄÁ¡A½d³ò¬O0¨ì59¡Cmysql> select MINUTE('98-02-03 10:05:03');
-> 5
SECOND(time) timeªº¬í¼Æ¡A½d³ò¬O0¨ì59¡Cmysql> select SECOND('10:05:03');
-> 3
PERIOD_ADD(P,N) NÓ¤ë¨ì¶¥¬qP¡]¥H®æ¦¡YYMM©ÎYYYYMM)¡C¥H®æ¦¡YYYYMMªð¦^È¡Cª`·N¶¥¬q°Ñ¼ÆP¤£¬O¤é´ÁÈ¡C
mysql> select PERIOD_ADD(9801,2);
-> 199803
PERIOD_DIFF(P1,P2) P1©MP2¤§¶¡¤ë¼Æ¡AP1©MP2À³¸Ó¥H®æ¦¡YYMM©ÎYYYYMM¡Cª`·N¡A®É´Á°Ñ¼ÆP1©MP2¤£¬O¤é´ÁÈ¡C
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()©MSUBDATE()¬ODATE_ADD()©MDATE_SUB()ªº¦P¸qµü¡C¦bMySQL
3.23¤¤¡A§A¥i¥H¨Ï¥Î+©M-¦Ó¤£¬ODATE_ADD()©MDATE_SUB()¡C¡]¨£¨Ò¤l¡^date¬O¤@Ó«ü©w¶}©l¤é´ÁªºDATETIME©ÎDATEÈ¡Aexpr¬O«ü©w¥[¨ì¶}©l¤é´Á©Î±q¶}©l¤é´Á´î¥hªº¶¡¹jȤ@Óªí¹F¦¡¡Aexpr¬O¤@Ó¦r²Å¦ê¡Q¥¦¥i¥H¥H¤@Ó¡§-¡¨¶}©lªí¥Üt¶¡¹j¡Ctype¬O¤@ÓÃöÁäµü¡A«ü©úªí¹F¦¡À³¸Ó¦p¦ó³Q¸ÑÄÀ¡CEXTRACT(type
FROM date)¨ç¼Æ±q¤é´Á¤¤ªð¦^¡§type¡¨¶¡¹j¡C¤UªíÅã¥Ü¤Ftype©Mexpr°Ñ¼Æ«ç¼Ë³QÃöÁp¡G
typeÈ |
§t¸q | ´Á±æªºexpr®æ¦¡ |
SECOND |
’ | SECONDS |
MINUTE |
¤ÀÄÁ | MINUTES |
HOUR |
®É¶¡ | HOURS |
DAY |
¤Ñ | DAYS |
MONTH |
¤ë | MONTHS |
YEAR |
¦~ | YEARS |
MINUTE_SECOND |
¤ÀÄÁ©M¬í | "MINUTES:SECONDS" |
HOUR_MINUTE |
¤p®É©M¤ÀÄÁ | "HOURS:MINUTES" |
DAY_HOUR |
¤Ñ©M¤p®É | "DAYS HOURS" |
YEAR_MONTH |
¦~©M¤ë | "YEARS-MONTHS" |
HOUR_SECOND |
¤p®É, ¤ÀÄÁ¡A | "HOURS:MINUTES:SECONDS" |
DAY_MINUTE |
¤Ñ, ¤p®É, ¤ÀÄÁ | "DAYS HOURS:MINUTES" |
DAY_SECOND |
¤Ñ, ¤p®É, ¤ÀÄÁ, ¬í | "DAYS HOURS:MINUTES:SECONDS" |
MySQL¦bexpr®æ¦¡¤¤¤¹³\¥ô¦ó¼ÐÂI¤À¹j²Å¡Cªí¥ÜÅã¥Üªº¬O«ØÄ³ªº¤À¹j²Å¡C¦pªGdate°Ñ¼Æ¬O¤@ÓDATEȨåB§Aªºpºâ¶È¶È¥]§tYEAR¡BMONTH©MDAY³¡¤À(§Y¡A¨S¦³®É¶¡³¡¤À)¡Aµ²ªG¬O¤@ÓDATEÈ¡C§_«hµ²ªG¬O¤@ÓDATETIMEÈ¡C
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
¦pªG§A«ü©w¤Óµuªº¶¡¹jÈ(¤£¥]¬AtypeÃöÁäµü´Á±æªº¶¡¹j³¡¤À)¡AMySQL°²³]§A¬Ù±¼¤F¶¡¹jȪº³Ì¥ª±³¡¤À¡C¨Ò¦p¡A¦pªG§A«ü©w¤@Ótype¬ODAY_SECOND¡AÈexpr³Q§Æ±æ¦³¤Ñ¡B¤p®É¡B¤ÀÄÁ©M¬í³¡¤À¡C¦pªG§A¹³"1:10"³o¼Ë«ü©wÈ¡AMySQL°²³]¤é¤l©M¤p®É³¡¤À¬O¥á¥¢ªº¨Ã¥BÈ¥Nªí¤ÀÄÁ©M¬í¡C´«¥y¸Ü»¡¡A"1:10"
DAY_SECOND¥H¥¦µ¥»ù©ó"1:10" MINUTE_SECONDªº¤è¦¡¸ÑÄÀ¡A³o¹ï¨ºMySQL¸ÑÄÀTIMEȪí¥Ü¸g¹Lªº®É¶¡¦Ó«D§@¬°¤@¤Ñªº®É¶¡ªº¤è¦¡¦³¤G¸q©Ê¡C¦pªG§A¨Ï¥Î½T¹ê¤£¥¿½Tªº¤é´Á¡Aµ²ªG¬ONULL¡C¦pªG§A¼W¥[MONTH¡BYEAR_MONTH©ÎYEAR¨Ã¥Bµ²ªG¤é´Á¤j©ó·s¤ë¥÷ªº³Ì¤jȤѼơA¤é¤l¦b·s¤ë¥Î³Ì¤jªº¤Ñ½Õ¾ã¡C
mysql> select DATE_ADD('1998-01-30', Interval 1 month);
-> 1998-02-28
ª`·N¡A±q«e±ªº¨Ò¤l¤¤µüINTERVAL©MtypeÃöÁäµü¤£¬O°Ï¤À¤j¤p¼gªº¡C
TO_DAYS(date) date¡Aªð¦^¤@ӤѼÆ(±q0¦~ªº¤Ñ¼Æ)¡C mysql> select TO_DAYS(950501);
-> 728779
mysql> select TO_DAYS('1997-10-07');
-> 729669
FROM_DAYS(N) N¡Aªð¦^¤@ÓDATEÈ¡C mysql> select FROM_DAYS(729669);
-> '1997-10-07'
DATE_FORMAT(date,format) format¦r²Å¦ê®æ¦¡¤ÆdateÈ¡C¤U¦C×¹¢²Å¥i¥H³Q¥Î¦bformat¦r²Å¦ê¤¤¡G
%M |
¤ë¦W¦r(January¡K¡KDecember) |
%W |
¬P´Á¦W¦r(Sunday¡K¡KSaturday) |
%D |
¦³^»y«eºóªº¤ë¥÷ªº¤é´Á(1st, 2nd, 3rd,
µ¥µ¥¡C¡^ |
%Y |
¦~, ¼Æ¦r, 4 ¦ì |
%y |
¦~, ¼Æ¦r, 2 ¦ì |
%a |
ÁY¼gªº¬P´Á¦W¦r(Sun¡K¡KSat) |
%d |
¤ë¥÷¤¤ªº¤Ñ¼Æ, ¼Æ¦r(00¡K¡K31) |
%e |
¤ë¥÷¤¤ªº¤Ñ¼Æ, ¼Æ¦r(0¡K¡K31) |
%m |
¤ë, ¼Æ¦r(01¡K¡K12) |
%c |
¤ë, ¼Æ¦r(1¡K¡K12) |
%b |
ÁY¼gªº¤ë¥÷¦W¦r(Jan¡K¡KDec) |
%j |
¤@¦~¤¤ªº¤Ñ¼Æ(001¡K¡K366) |
%H |
¤p®É(00¡K¡K23) |
%k |
¤p®É(0¡K¡K23) |
%h |
¤p®É(01¡K¡K12) |
%I |
¤p®É(01¡K¡K12) |
%l |
¤p®É(1¡K¡K12) |
%i |
¤ÀÄÁ, ¼Æ¦r(00¡K¡K59) |
%r |
®É¶¡,12 ¤p®É(hh:mm:ss [AP]M) |
%T |
®É¶¡,24 ¤p®É(hh:mm:ss) |
%S |
¬í(00¡K¡K59) |
%s |
¬í(00¡K¡K59) |
%p |
AM©ÎPM |
%w |
¤@Ó¬P´Á¤¤ªº¤Ñ¼Æ(0=Sunday ¡K¡K6=Saturday ¡^ |
%U |
¬P´Á(0¡K¡K52), ³o¸Ì¬P´Á¤Ñ¬O¬P´Áªº²Ä¤@¤Ñ |
%u |
¬P´Á(0¡K¡K52), ³o¸Ì¬P´Á¤@¬O¬P´Áªº²Ä¤@¤Ñ |
%% |
¤@Ó¤å¦r¡§%¡¨¡C |
©Ò¦³ªº¨ä¥L¦r²Å¤£°µ¸ÑÄÀ³Q½Æ»s¨ìµ²ªG¤¤¡C
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¤¤¡A¦b®æ¦¡×¹¢²Å¦r²Å«e»Ýn%¡C¦bMySQL§ó¦ªºª©¥»¤¤¡A%¬O¥i¿ïªº¡C
TIME_FORMAT(time,format) DATE_FORMAT()¨ç¼Æ¤@¼Ë¨Ï¥Î¡A¦ý¬Oformat¦r²Å¦ê¥u¯à¥]§t³B²z¤p®É¡B¤ÀÄÁ©M¬íªº¨º¨Ç®æ¦¡×¹¢²Å¡C¨ä¥L×¹¢²Å²£¥Í¤@ÓNULLÈ©Î0¡C
CURDATE() CURRENT_DATE 'YYYY-MM-DD'©ÎYYYYMMDD®æ¦¡ªð¦^¤µ¤Ñ¤é´ÁÈ¡A¨ú¨M©ó¨ç¼Æ¬O¦b¤@Ó¦r²Å¦êÁÙ¬O¼Æ¦r¤W¤U¤å³Q¨Ï¥Î¡C
mysql> select CURDATE();
-> '1997-12-15'
mysql> select CURDATE() + 0;
-> 19971215
CURTIME() CURRENT_TIME 'HH:MM:SS'©ÎHHMMSS®æ¦¡ªð¦^·í«e®É¶¡È¡A¨ú¨M©ó¨ç¼Æ¬O¦b¤@Ó¦r²Å¦êÁÙ¬O¦b¼Æ¦rªº¤W¤U¤å³Q¨Ï¥Î¡C
mysql> select CURTIME();
-> '23:50:26'
mysql> select CURTIME() + 0;
-> 235026
NOW() SYSDATE() CURRENT_TIMESTAMP 'YYYY-MM-DD HH:MM:SS'©ÎYYYYMMDDHHMMSS®æ¦¡ªð¦^·í«eªº¤é´Á©M®É¶¡¡A¨ú¨M©ó¨ç¼Æ¬O¦b¤@Ó¦r²Å¦êÁÙ¬O¦b¼Æ¦rªº¤W¤U¤å³Q¨Ï¥Î¡C
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¶}©lªº¬í¼Æ)¡C¦pªGUNIX_TIMESTAMP()¥Î¤@Ódate°Ñ¼Æ³Q½Õ¥Î¡A¥¦ªð¦^±q'1970-01-01
00:00:00' GMT¶}©lªº¬í¼ÆÈ¡Cdate¥i¥H¬O¤@ÓDATE¦r²Å¦ê¡B¤@ÓDATETIME¦r²Å¦ê¡B¤@ÓTIMESTAMP©Î¥HYYMMDD©ÎYYYYMMDD®æ¦¡ªº¥»¦a®É¶¡ªº¤@ӼƦr¡C
mysql> select UNIX_TIMESTAMP();
-> 882226357
mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');
-> 875996580
·íUNIX_TIMESTAMP³Q¥Î©ó¤@ÓTIMESTAMP¦C¡A¨ç¼Æ±Nª½±µ±µ¨üÈ¡A¨S¦³Áô§tªº¡§string-to-unix-timestamp¡¨ÅÜ´«¡C
FROM_UNIXTIME(unix_timestamp) 'YYYY-MM-DD HH:MM:SS'©ÎYYYYMMDDHHMMSS®æ¦¡ªð¦^unix_timestamp°Ñ¼Æ©Òªí¥ÜªºÈ¡A¨ú¨M©ó¨ç¼Æ¬O¦b¤@Ó¦r²Å¦êÁÙ¬O©Î¼Æ¦r¤W¤U¤å¤¤³Q¨Ï¥Î¡C
mysql> select FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
mysql> select FROM_UNIXTIME(875996580) + 0;
-> 19971004222300
FROM_UNIXTIME(unix_timestamp,format) format¦r²Å¦ê®æ¦¡¤Æ¡Cformat¥i¥H¥]§t»PDATE_FORMAT()¨ç¼Æ¦C¥Xªº±ø¥Ø¦P¼Ëªº×¹¢²Å¡C
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°Ñ¼Æ¡AÅÜ´«¦¨¤p®É¡B¤ÀÄÁ©M¬í¡AÈ¥H'HH:MM:SS'©ÎHHMMSS®æ¦¡¤Æ¡A¨ú¨M©ó¨ç¼Æ¬O¦b¤@Ó¦r²Å¦êÁÙ¬O¦b¼Æ¦r¤W¤U¤å¤¤³Q¨Ï¥Î¡C
mysql> select SEC_TO_TIME(2378);
-> '00:39:38'
mysql> select SEC_TO_TIME(2378) + 0;
-> 3938
TIME_TO_SEC(time) time°Ñ¼Æ¡AÂà´«¦¨¬í¡C 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'
¦bMySQL 3.22.11©Î¥H«áª©¥»¤¤¡A³o¥]¬A¥Î¤á¦W©M«È¤á¥D¾÷¦W¡C§A¥i¥H¹³³o¼Ë¥u´£¨ú¥Î¤á¦W³¡¤À(ȬO§_¥]¬A¥D¾÷¦W³¡¤À§¡¥i¤u§@)¡G
mysql> select substring_index(USER(),"@",1);
-> 'davida'
PASSWORD(str) strpºâ¤@Ó±K½X¦r²Å¦ê¡C¸Ó¨ç¼Æ³Q¥Î©ó¬°¤F¦buser±ÂÅvªíªºPassword¦C¤¤Àx¦s±K½X¦Ó¥[±KMySQL±K½X¡C
mysql> select PASSWORD('badpwd');
-> '7f84554057dd964b'
PASSWORD()¥[±K¬O«D¥i°fªº¡CPASSWORD()¤£¥H»PUnix±K½X¥[±Kªº¬Û¦Pªº¤èªk°õ¦æ±K½X¥[±K¡C§A¤£À³¸Ó°²©w¦pªG§AªºUnix
±K½X©M§AªºMySQL±K½X¬O¤@¼Ëªº¡APASSWORD()±N¾ÉP»P¦bUnix±K½X¤å¥óÀx¦sªº¬Û¦Pªº¥[±KÈ¡C¨£ENCRYPT()¡C
ENCRYPT(str[,salt]) crypt()¨t²Î½Õ¥Î¥[±Kstr¡Csalt°Ñ¼ÆÀ³¸Ó¬O¤@Ó¦³2Ó¦r²Åªº¦r²Å¦ê¡C¡]MySQL
3.22.16¤¤¡Asalt¥i¥Hªø©ó2Ó¦r²Å¡C¡^mysql> select ENCRYPT("hello");
-> 'VxuFAJXVARROc'
¦pªGcrypt()¦b§Aªº¨t²Î¤W¤£¥i¥Î¡AENCRYPT()Á`¬Oªð¦^NULL¡CENCRYPT()¥u«O¯dstr°_©l8Ó¦r²Å¦Ó©¿²¤©Ò¦³¨ä¥L¡A¦Ü¤Ö¦b¬Y¨Ç¨t²Î¤W¬O³o¼Ë¡C³o±N¥Ñ©³¼hªºcrypt()¨t²Î½Õ¥Îªº¦æ¬°¨M©w¡C
ENCODE(str,pass_str) pass_str§@¬°±K½X¥[±Kstr¡C¬°¤F¸Ñ±Kµ²ªG¡A¨Ï¥ÎDECODE()¡Cµ²ªG¬O¤@Ó¤G¶i¨î¦r²Å¦ê¡A¦pªG§A·Qn¦b¦C¤¤«O¦s¥¦¡A¨Ï¥Î¤@ÓBLOB¦CÃþ«