1、数据类型
1、整型

特点:
- 无符号关键字:unsigned,如果不设置默认是有符号
- 如果插入的数值超出了整型的范围,会报out of rang异常,并且插入临界值
- 如果不设置长度,会有默认的长度
- 长度代表了显示的最大宽度,如果不够会用0在左边填充,单必须搭配zerofill使用
2、小数

分类
float(M,D)
double(M,D)
decimal(M,D) ```sql DROP TABLE IF EXISTS tb_test; CREATE TABLE tb_test ( f1 FLOAT(5,2), f2 DOUBLE(5,2), f3 DEC(5,2) ); DESC tb_test;
INSERT INTO tb_test VALUES(111.233,222.2,333.4366); SELECT * from tb_test;
<a name="zQ4p5"></a>## 3、字符型<br /><a name="EpG6K"></a>## 4、enum 枚举- 只能是其中一个值```sqlDROP TABLE IF EXISTS tb_enum;CREATE TABLE IF NOT EXISTS tb_enum (sex ENUM('男','女'));DESC tb_enum;INSERT INTO tb_enum VALUES('男');INSERT INTO tb_enum VALUES('女');INSERT INTO tb_enum VALUES('红');SELECT * from tb_enum;
5、set 集合,可以是多个
- 可以插入设置的多个值
DROP TABLE IF EXISTS tb_set; CREATE TABLE IF NOT EXISTS tb_set ( list SET('1','2','3','5') ); DESC tb_set; INSERT INTO tb_set VALUES('1,2'); INSERT INTO tb_set VALUES('2,3'); SELECT * FROM tb_set;6、时间
datetime和timestamp的区别
- Timestamp支持的时间范围较小,取值范围:19700101080001-2038年的某个时间,Datetime的取值范围:1000-1-1 —9999-12-31
- timestamp和实际时区有关,更能反映实际的日期,而datetime则只能反映出插入的当地时区
- timestamp的属性受Mysql版本和SQLMode的影响很大
2、数据库设计规范
mysql数据库规约.xmind
