数据类型
1、数值类型
1、整型
1、int 大整型(4个字节)
取值范围 :2**32 - 1(42亿多)
2、tinyint 微小整型(1个字节)
1、有符号(signed默认) : -128 ~ 127
2、无符号(unsigned) : 0 ~ 255
age tinyint unsigned,
3、smallint 小整型(2个字节)
4、bigint 极大整型(8个字节)
2、浮点型
1、float(4个字节,最多显示7个有效位)
1、用法
字段名 float(m,n) m->总位数 n->小数位位数
float(5,2)取值范围? -999.99 ~ 999.99
2、decimal(最多显示28个有效位)
1、decimal(m,n)
2、存储空间(整数、小数分开存储)
规则:将9的倍数包装成4个字节
余数 字节
0 0
1-2 1
3-4 2
5-6 3
7-9 4
示例:decimal(19,9)
整数部分:10/9=商1余1 4字节+1字节=5字节
小数部分:9/9=商1余0 4字节+0字节=4字节
占:9字节
3、练习
1、创建库 studb2 ,并在库中创建表 stuinfo,要求:
id :大整型
name :字符类型,宽度为15
age :微小整型,不能为负数
height :浮点型,小数位为2位(float)
money :浮点型,小数位为2位(decimal)
create table stuinfo(
id int,
name char(15),
age tinyint unsigned,
height float(5,2),
money decimal(20,2)
);
2、查看stuinfo的表结构
3、查看stuinfo的默认字符集
4、在表中插入1条完整记录
desc stuinfo;
insert into stuinfo values (1,"Bob",23,176,88888.88);
5、查询所有表记录
select * from stuinfo;
6、在表中id 、name两个字段插入2条记录
insert into stuinfo(id,name) values
(2,"Jim"),(3,"Tom");
7、查询所有学生的id和姓名
select id,name from stuinfo;
2、字符类型
1、char(定长)
1、取值范围:1~255
2、varchar(变长)
1、取值范围:1~65535
3、text / longtext(4G) / blob / longblob(4G)
3、char和varchar的特点
1、char :浪费存储空间,性能高
2、varchar :节省存储空间,性能低
发表评论