??? ??
MySQL??? ??? ??? ??? ?? ???? ????.
1. ?? ??(??, ?? ???)
2. ??? ??
???
4. ???
5. ??? (????? ???? ????? ???? ???? ???? ??)
???
???? ??? ??? ?? ?? ??? ????.
MySQL? ???????? ?? ??? ? ?? ??? ???? ?? ? ??? ??? ?? ?? ??? ??? SQL ??? ?????. ?? ??, ?? ??? INT(6)?? ????
? ???????? ??? ? 6?? ??? ?? ???? ???? ????? ?????. ?? ???? ???? ??? ??? ??? ? ?? ?? ???? ??? ??? ????.
??:
1. ??? ??? ??? ? ?? ?? ?? int? ???? ??? ??? ? ????. 0? ??? ???? 1? ??? ?????. ? ? ??? ????? 2? ??????.
2. ?? ??? ????? ??? ??? ??? ? ?? ?? ??? ??? ? ????. ??? ???? ??? ?? ?????
3. ?? ??? ???? ?? ?? ??? ?????? ???? ??? ? ??? ?? ??? ??? ?????.
?? ??? ??
??:
1. ?, ???? ??? ?? ? ????
2. ??? ???? ???????? ???. ????? MySQL? ????? ???? ?????. ?? ?? ? ?? ? ?? ???? ?? ????? ????? ?? ?? ??? ?? ??? ?? ?? ??(?? ??? ??) ??? ???? ?? ????.
?? ??
*CHAR * ??? ?? ?? ???? ???? ?? ?? ?? ???? ???? ???? ???. ? ?? ???? ??? 0-255???. ??? ???? ? ?? ???, ??? ???? ?? ?? ???? ?????.
*VARCHAR * ? ??? ?? ??? ????, ??? ???? ??? ???? ????. VARCHAR ??? ?? ????? ???? ???
? ???? ? ??? ??? ??? ????? ??? ???? ???? ??? ????? ? ?? ??? ??????.
VARCHAR ??? ?? ??? ?? ??? ?? ??? ???? ??? ? ???? ??? ??? ?? ?? ???? ?? ?? VARCHAR ??? ???? ??? ??? ?? ???? ?? ???? ???? ? ????.
??? ?? ? blob ?? ?? ?? ?? ??? 255? ???? ?? MySQL? TEXT? BLOB? ? ?? ??? ?????. ??? ?? ??? ???? ??? ?? ?? ?? ?? ??? ????. ??? ??? ???? ??? ???? ???,
??? ?? ?? ?? ???? ??? ??? ???? ? ?????.
TEXT? BLOB ??? ?? ? ??? ??? ????. BLOB ??? ????? ????? TEXT? ????? ???? ????. ??? BLOB ? TEXT ?? ???? ?? ???? ???? ????.
?? ??
??:
1. ?? ??? ? ????? ?? ???? ????. ?? ??? ? ??? ??? ? ???? ??? Unix ?????? ?????. ????? ?????? ?? ?? ??? ???? Unix ?????? ???? ??? ? ?? ???? ?????.
2. ?? ??? ?? ?? ??? ??? ? ????
3. ?????? ???? ?? ?? ?? ?? ??/?? ??? ???? ??? ???? ??? ????.
?? ??
ENUM ??? ????? ??? ?? ??? ? ????. SET ??? ???? ????? ??? ?? ?? ?? ? ????.
ENUM ??
ENUM ??? ????? ??? ?? ?? ? ??? ???? ?? ?? ??? ?????. ??? ??? ?? ?? ???? ???? ?? ? ????? ? ????. ENUM ?? ??? ????? ?? ????? null ?? ??? ? ????. ?? ???? ?? MySQL? ??? ? ???? ?????. ??, ??? ?? ????? ???? ?? ?? ????? ???? ?? ??, MySQL? ???? ??? ?? ????? ???? ???? ????? ???? ??? ????.
ENUM ??? ??? ??? ??? ??? ? ???, 1?? ???? ?????. ENUM ??? ?? 65536?? ??? ??? ? ???, ? ? ??? MySQL?? ?? ??? ???? ?? ???? ????. ? ?? ?? ??? 0 ?? ? ???? ?????.
MySQL? ENUM ?? ???? ???? ?? ???? ???? ???? ?? ??? ?????. ?? ? ????? ?? ?? ??? 0? ??? ?? ???? ??? ???? ??? ???? ?? ? ??? ?????.
SET ?? SET ??? ENUM ??? ????? ????? ????. SET ??? ?? ??? ????? ??? ?? ?? ?? ? ????. ??? ENUM ??? ????? SET ?? ??? ?? ???? ?? ?? ????? ?? MySQL? ? ???? ???? ???. ???? ??? ???? ??? ?? ??? ???? ???? MySQL? ???? ??? ???? ???? ??? ?????.
SET ???? ?? 64?? ??? ??? ? ????. SET ???? ?? ?? ??? ???? "??"? ?? ???? ?????. ??? ??? ??? ?? ???? ??? ???? ???? ?????.
??? ?? ??? ????? SET ??? ? ?? ??? ??? ???? ?? ??????.
SET ?? ???? ??? ???? ???? ? ????? ??? ? 0? ??? ?? ??? ???.
?? ???
?? ?? ??? ????, ??? ?? ??? ? ?? ??? ???? ???.
?:
CREATE TABLE IF NOT EXISTS demo ( id int(11) NOT NULL, username varchar(50) NOT NULL, password char(32) NOT NULL, content longtext NOT NULL, createtime datetime NOT NULL, sex tinyint(4) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
??? ?? ?? ??
UNSIGNED(unsigned) ?? ?? ? ?? ??? ??? ???? unsigned? ?????. ?, ?? -(?? ??)? ????.
? ? ?? ???. Tinyint ??? ? ??? -128~127???. ?? ?? ?? ? 0~255 ??? ??? ? ????.
?? ? ?? ?? ?? ?? ??? ?? ?? ?????.
unsigned
ZEROFILL(0 ??) 0(?? ??)? ?? ?? ?? ??? ??? ? ????. . MySQL ??????? ?? ?? ???? ?? ????? ? ???? ??????.
?? ? ?? ?? ?? ?? ??? ?? ?? ?????.
zerofill
default ?? ??? ?? ??? ?? ?? ?? ??? ????? ?????. ?, ? ? MySQL? ??? ??? ?? ??? ???? ???? ???? ???. ?? ? ??? BLOB ?? TEXT ?? ?? ??? ? ????. ? ?? NULL ??? ??? ?? ???? ???? ??? ???? NULL? ??, ??? ??? ???? ??? ??? ??? ?? ?????.
?? ? ?? ?? ?? ??? ?? ??? ????.
?? '?'
not null ?? not null? ??? ?? ?? ?? null ?? ??? ? ????. ??? ?? ?? ??? ?????? ???? ??? ??? ????? ??? ????? ?? not null ??? ???? ?? ????.
?? ? ?? ?? ?? ??? ?? ?? ????.
not null
null ?? null ??? ???? ?? ?? ?? ? ???, ?? ???? ?? ?? ?? ????? ?????. null? ? ????? 0? ?? "??"? ????? ?? ?????.
?? ? ?? ?? ?? ??? ?? ? ?? not null? ???? ???.