数据类型用来指定一定的存储格式、约束和有效范围。
Mysql主要包括:数值型、字符串类型、日期和时间类型等。1.数值类型:
1)整数类型:
tinyint、smallint、mediumint、int、bigint如果超出类型范围的操作,会提示"out of range"错误提示。注:
1.Mysql在类型名称后指定显示宽度:例如:int(5) 如果不显示指定宽度时,默认为int(11)。2.一般配合zerofill使用,顾名思义,zerofill就是用"0"填充的意思,在数字位数不够的空间用字符"0"填满。以下会进行对比举例说明(1)创建表 t1,有 id1 和 id2 两个字段,指定其数值宽度分别为 int 和 int(5)。
(2)在 id1 和 id2 中都插入数值 1,可以发现格式没有异常。
(3)分别修改 id1 和 id2 的字段类型,加入 zerofill 参数:
比较举例:
注:(属性)
1.所有整数类型,都有一个可选属性UNSIGNED(无符号)。但是如果一个列指定为zerofill时,Mysql自动为该列添加 UNISIGNED 属性。2.如果整数类型要进行顺序排列,并想标记时,使用属性:AUTO_INCREMENT(用于产生唯一标识符或顺序值且只用于整数类型,一个表中最多只能有一个AUTO_INCREMENT列)。
对于任何想要使用AUTO_INCREMENT 的列,应该定义为 NOT NULL,并定义为 PRIMARY KEY 或定义为 UNIQUE 键。例如,可按下列任何一种方式定义 AUTO_INCREMENT 列:CREATE TABLE AI (ID INT AUTO_INCREMENT NOT NULL PRIMARY KEY);CREATE TABLE AI(ID INT AUTO_INCREMENT NOT NULL ,PRIMARY KEY(ID));CREATE TABLE AI (ID INT AUTO_INCREMENT NOT NULL ,UNIQUE(ID));