建表的过程,就是画表头的过程 //声明表头
建表的过程就是一个 声明字段 过程
建列时,—> 能够容纳放置的的内容,但又不浪费
存储同样的数据,不同的列类型,所占的空间和效率是不一样的。 这就是我们建表前 列类型的意义
数值型
整形
Tinyint
占据空间:1字节,存储范围:-128—127,0—255(2的8次方-1)
Smallint
占据空间:2字节,存储范围:-32768—32767
Mediuint
占据空间:3字节,存储范围:
Int
占据空间:4字节,存储范围:-21亿—42亿
bigint
占据空间:8字节,存储范围:
对于int型 占据字节越大—> 范围越大
详解:
一个字节 8个位 0—2^8-1 0-255
-2^7 —> +2^7-1
(-127-128)
N个字节 8N个位 0—2^8N-1
-2^(8N-1) --> +2^(8N-1)-1;
Tinyint
范围: -128—127
Tinyint unsigned (加列类型unsigned表示其为无符号的类型,正数)
范围: 0—255
zerofill zero是零,fill是填充 代表0填充
向表class 里插入 列(sunm)
alter table class add sunm smallint(5) zerofill not null default 0;
insert into class (sname,sunm) values (‘子龙’,1);
设置子龙的学号为1
虽设置学号为1 但前面使用了 smallint(5) zerofill 自动补全为5位 所以输出结果为00001
报错: out of range 超出范围