我举个小例子给你简单解释一下。
创新互联是一家专注于成都做网站、成都网站设计与策划设计,巫溪网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:巫溪等地区。巫溪做网站价格咨询:13518219792
例:
CREATE TABLE TABLE_1
(
ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
// ID列为无符号整型,该列值不可以为空,并不可以重复,而且自增。
NAME VARCHAR(5) NOT NULL
)
AUTO_INCREMENT = 100;(ID列从100开始自增)
PRIMAPY是主键的意思,表示定义的该列值在表中是唯一的意思,不可以有重复。
UNSIGNED是无符号的意思,代表该字段没有正负。
AUTO_INCREMENT可以理解为自动递增的意思,每增加一条记录,值会自动加1。(例如在上面的例子中,ID列每增加一条记录,便会从100自增) 。
我想通过上面的例子,你应该可以理解一些了,不明白再问我。谢谢。
主要的区别是占用空间和表示范围
tinyint 占用1字节
表示非负: 0--255
无符号表示:-128--127
举例表示人的年龄就可以用:age tinyint;
smallint 占用2字节
表示非负:0--2^16-1 既 0到65535
无符号表示:-2^15--2^15-1
举例表示乌龟的年龄:agewg smallint;
int 占用4字节
表示非负 0--2^32-1 既 零到四十二亿九千万
无符号表示:-2^31--2^31-1
举例表示恐龙化石年龄:agekl int;
bigint 占用8字节
表示非负 0--2^64-1 这已经是天文数字了,能表示 18后面17个零那么大的数字
无符号表示:-2^63--2^63-1
bigint比较占用空间,一般都不用。
举例表示宇宙年龄:ageyz bigint;
完全手打亲!
带符号和无符号,顾名思义,就是是否有正负之分:
比如8为二进制,
如果带符号,需要用1位表示符号(1表示负数,0表示正),剩下7位表示数据.
那么表示范围是-127---127(包括-0和+0).
如果不带符号,8位全部表示数据,
那么表示范围是
0--256