字段类型
整型
MySQL数据库中整型的字段类型有多个,但是我们只需要了解其中几个即可
tinyint 1bytes 正负号(占1bit)
smallint 2bytes 正负号(占1bit)
int 4bytes 正负号(占1bit)
bigint 8bytes 正负号(占1bit)
在MySQL数据库中整型数据的存储是默认自带正负号的
我们也可以取消正负号
create table t5(id tinyint unsigned);
浮点型
MySQL数据库中浮点型的字段类型有多个,但是我们只需要了解三中即可
float(40,20) 共存储40位数,小数点后面占20位
double(40,20) 共存储40位数,小数点后面占20位
decimal(40,20) 共存储40位数,小数点后面占20位
这三个浮点型的核心区别在于对数字的精确度不同
float的精确度大概只能到小数点后七八位
double的精确度大概能到小数点后十四位左右
decimal的精确度最高,几乎是给的什么数就存取什么数
字符类型
MySQL中字符类型有两个
char 定长 char(4)固定存储长度为4个字符,超出会报错,不足会以空格填充至四个
varchar 变长 varchar(4)最多存储四个字符,超出报错,不足则有多少存多少
create table t6(name char(4));
create table t7(name varchar(4));
insert into t6 values('j');
insert into t7 values('j');
直接查看表中存储的数据看不出来数据长短,需要查看字段存储的长度使用 char_length()
默认情况下MySQL针对char的存储会自动填充空格和删除空格,如果要取消空格自动删除使用下面语句
set global sql_mode='strict_trans_tables,pad_char_to_full_length';
二者对比
char 整存整取,速度快但是浪费存储空间
varchar 节省存储空间,但是存取数据的速度较char慢
具体的使用需要根据实际情况
数字的含义
字段类型括号中的数字在很多地方都是用来表示限制存储数据的长度
但是在整形中数据不是用来限制存储长度的,而是用来控制展示的长度
create table t8(id int(3));
insert into t8 values(12345),(1);
create table t9(id int(3) zerofill);
insert into t9 values(12345),(1);
select * from t9;
枚举与集合
枚举 (多选一)
create table t10(name enum('jason','kevin','jack'));
insert into t10 values('tony');
insert into t10 values('jason');
insert into t10 values('kevin');
查询出来的结果为jason和kevin
集合(多选多,多选一)
create table t11(name set('jason','kevin','jack'));
insert into t11 values('tony');
insert into t11 values('jack');
insert into tii values('jason','kevin')
select * from t11;
日期类型
日期类型的数据一般都是系统自动操作
create table t12(
register_time datetime,
birthday date,
study_time time,
work_time year
);
insert into t12 values('2022-11-23 17:17:33','2022-11-23','17:17:51','2022')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix