当前位置:网站首页>mysql数据类型学习笔记
mysql数据类型学习笔记
2022-07-01 06:21:00 【小美元】
整形包括五类
int类型占4个字节一个字节八位则是2的32个位
int(5)表明宽度是5,但如果超出5位的也不会管
int(5)zerofill 时不满5位会自动用0填充,同时变成无符号数
8.0.17创建表的时候指明字段不在指明字数,zerofil表示指明宽度,无符号的话是0-4294967295
适用场景
tinyint: 系统设置0-100的时候
smallint:系统设置库存总量65535 无符号的最大值
mediumint:车站的客流量 一千六百万
int:够大,用的比较多比如商品编号
bigint:大型网站点击量
浮点类型
浮点数和定点数使用的场景要比整数要大一些
float:单精度 4
double:双精度 8
浮点问题unsigend空间没有变大。mysql特殊情况,因此一般不会为了使其变大加unsigend float(m,d)m是小数位和整数位的和,d是小数位,这种表示方法叫非标准类型
使用doube和float计算数据的时候让某个数等于一个数会有误差,使用浮点类型尽量不要用=判断数据是否相等,那么mysql有没有精准的数据类型呢?有定点数
定点数
decimal(m,d)总共占用存储空间m+2个,浮点数表达的数值范围更大一些。底层当中用字符串来存储数据所以足够精准
decimal不指定精度和标度那么默认就是(10,0)默认没有小数,如果超出指定范围那么就会四舍五入
mysql 8.0的时候会加上后边的精度和指标
如果在默认的decimal时加上了小数那么就会四舍五入
位类型
1-64位的存储
没有指定m默认是1位,默认1位的时候存储一个数值
insert into my(f1) values(2) 此处会报错,因为十进制的2是存储两位10,
在命令行中查找存储的值时发现存储的是16进制显示,如果想要规定进制显示则bin(F1)这样显示
想要以十进制的显示则select f1 +0, f2 + 0 from my
由于和十进制做运算则显示结果也为十进制
日期时间类型讲解
year占1个字节存储空间比较小,一般写4位数两位数有区别对应,同时四位数得加单引号
date类型 3个字节 yyyy-mm-dd,想要当前系统时间则是now()或者currentdate()
数字类型也可以,写数字类型也可以,存在隐式转换
time 3个字节 时分秒 hh-mm-ss 前面带D代表天数
12:10表示小时分钟
values(2 12:30:29)2天12小时30分29秒
datetime占用8个字节 年月日 时分秒
使用的时候很多
timestap 字节数占用的少 但存储范围比较有限从1970到2038年
同时时区会变,存储的按照时区转换成毫秒数,时区变换的时候毫秒数也会变,进行年月日时分秒的排序的时候timestap会更快一点
文本字符串类型
char
char默认时候指定一个字符,如果指定5的话是可以容纳5个汉字的
并且当存储数量为5的时候,存储3个右边两个空位以空格自动补齐。在检索的时候自动去掉空格。
在放入‘12 ’的时候,如果计算此字符串的长度本该是4却发现其结果是2,实则为自动去掉了两个空格
varchar 必须指明个数,一个汉字三个字节 varchar(20)5.0以上的版本是指20个字符,所以可以存20个汉字
经验之谈:具体来讲如果存储很短的信息,比如门牌号varchar的话使用char
固定长度使用uuid进行存储,当需要来回的改的时候使用varchar。具体需要存储引擎来对接。innodb使用varchar
text类型
tinytexy:
text:
mediumtext:
longtext:
没有固定长度,不可以用主键,实际存储类型不是太大建议用char或者varchar
枚举类型。
建表的时候提供值,在插入的时候只能加入,大小写忽略。也可以使用索引进行枚举元素的调用,比如123,也可以加入null
set类型:成员个数是64 可以多选
二进制类型
json类型
空间类型
总结:如果整数用int类型,小数decimal,日期datetime(m,d)指定标度和精度。字符串是非负数那么自动定义为unsigned,小数类型为decimal,如果超出decimal的存储范围则小数和整数分开存储,存储长度相等则用char,如果不等则用varchar,如果长度超出5000则使用text存储
边栏推荐
- C#如何打印輸出原版數組
- 存储过程学习笔记
- C# ManualResetEvent 类的理解
- 伪装请求头库: anti-useragent
- JMM details
- [postgraduate entrance examination advanced mathematics Wu Zhongxiang +880 version for personal use] advanced mathematics Chapter II Basic Stage mind map
- 微信公众号内嵌跳转微信小程序方案总结
- High order binary balanced tree
- Teach you how to implement a deep learning framework
- Tidb database characteristics summary
猜你喜欢
C language course set up property fee management system (big work)
How did ManageEngine Zhuohao achieve the goal of being selected into Gartner Magic Quadrant for four consecutive years?
Tidb database characteristics summary
JDBC database operation
C language course set up student elective course system (big homework)
async 与 await
Excel visualization
异常检测方法梳理,看这篇就够了!
[unity shader stroke effect _ case sharing first]
sci-hub如何使用
随机推荐
C语言课设物业费管理系统(大作业)
【KV260】利用XADC生成芯片温度曲线图
10-golang运算符
子类调用父类的同名方法和属性
SystemVerilog learning-07-class inheritance and package use
Top 10 Free 3D modeling software for beginners in 2022
C#如何打印輸出原版數組
Code power is full of quantitative learning | how to find a suitable financial announcement in the financial report
json模块
lxml模块(数据提取)
Kubedm builds kubenetes cluster (Personal Learning version)
地宫取宝(记忆化深搜)
【#Unity Shader#自定义材质面板_第一篇】
【ManageEngine卓豪 】助力世界顶尖音乐学院--茱莉亚学院,提升终端安全
XAF Bo of dev XPO comparison
HCM Beginner (I) - Introduction
Self confidence is indispensable for technology
MongoDB:一、MongoDB是什么?MongoDB的优缺点
DML statement in SQL (data operation language)
证券类开户有什么影响 开户安全吗