1)整形
1.介绍
分类:tinyint , smallint , mediumint , int , bigint
应用场景:存储年龄,等级,id,各种号码等
典型存储范围介绍:
https://images2017.cnblogs.com/blog/1036857/201708/1036857-20170801181433755-146301178.png
tinyint #默认有正负符号限制
无正值:约束条件 unsigne
int #默认最大展示的位数是11位
int(8)不是限制长度, 而是控制展示数据的位数, 8位以内以空格补全, 超出则正常显示.
zerofill #若插入的值宽度不够, 则用0补全的约束条件
2)浮点型
1.介绍
分类:float,double,decimal
-应用场景:身高,体重,薪资
存储限制:
-float(255.30)
-double(255,30)
-decimal(65,30)
#注意:字段限制特点(5,3)前一位数字表示所有的位数, 后一位表示小数的个数
#精确度验证
create table t1(x float(255,30));
create table t2(x double(255,30));
create table t3(x decimal(65,30));
#例如创建一个身高表
create table height_table(id int not null,height double(5,3));
#插入一个数据
insert into height_table values(2,1.9111);
#只会显示小数宽度为3的值,多出来的不显示
3) 字符类型
-分类: varchar, char
-应用场景:姓名,地址,描述信息
1.char 定长 #定长指的是,事先就设定好了的存储的固定长度; 比如事先准备的char长度为4, 若插入的数据长度为1,最后存的值也为4, 不够的值用空格补全,存入数据库中;
#针对char类型,mysql在存储时会将数据用空格补全存放到硬盘中,但是在读取时会自动去掉末尾的空格.
char一般使用于一些固定长度的值
缺点:浪费空间
优点;存储数据快
2.varchar:不定长
varchar一般用于一些不固定长度的值中
缺点:存取速度慢
优点:节省空间
4)日期类型
-分类
date: 2019-12-10
time: 11:11:11
datetime:2019-12-10 11:11:11
year:2010
5)枚举与集合类型
-分类
-枚举enum 多选一
-集合set 多选一或多选多
#枚举
create table t1(id int not null,name varchar(16),gender enum("male","female"));
enum里面有什么数据,就选什么数据插入
#集合
create table t2(id int not null,name varchar(16),hobbies set("read","sleep","run"));
4)约束条件
约束条件就是对于数据库表中插入数据时加以约束的限制.
1)约束条件介绍
primary key 主键 #主要是用于快速定位到该表中的某一条数据
一般主键都以id来表示
foreign key 外键 #标识该字段为该表的"外键",用于把当前的表与另一张表绑定关系
not null 标识该字段不能为空
unique key 标识该字段的值是唯一的,该约束的作用是,若一张表中插入了该字段已存在的值,则无法插入.
auto_increment 标识该字段的值自动增长 #每插入一条数据时,都会让该字段自动+1.一般将表中的id字段设置为自增,该字段从1开始
default 为该字段设置默认值