全球热点评!Mysql中的数据类型注意事项
整型数据类型
MySQL数据类型 | 含义(有符号) |
---|---|
tinyint | 1字节,范围(-128~127) |
smallint | 2字节,范围(-32768~32767) |
mediumint | 3字节,范围(-8388608~8388607) |
int | 4字节,范围(-2147483648~2147483647) |
bigint | 8字节,范围(+-9.22*10的18次方) |
注意事项1:
对于我们的tinyint 类型 在实际情况下:
【资料图】
一种使用方式,比如对于高考成绩,不可能是负数的成绩,这个时候我们刚好使用unsigned 来改变数据的范围,这个时候的范围从 -128 ----127 变成了0---255 这样就可以表示150分的成绩了
然后也不会使用其他的大的数据范围的类型,导致去多占用数据空间。。。。。
从这个实例中,也说明了我们建立一个数据表的时候,对于数据类型的设计也是需要考虑的,而不是任意的将空间开大,从而浪费了空间,并且有时侯会降低查找的效率。。。。。
注意事项2:
对于我们写数据库的时候,会遇到 int后面存在一个( ) ,括号里面的参数是数据的宽度
所以呢,如果直接就是 int(10) ,int(4), int (2) 这样写是没有什么意义的
需要在后面加一个约束条件就是 zerofill 。。。。
也就是没有达到这个括号里的这个宽度时,就要在前面补零,在上面的例子中宽度为2时,就要前面补0成为两位,宽度为3时,就要前面补0为3位。。。
浮点数据类型
MySQL数据类型 | 含义 |
---|---|
float(m, d) | 4字节,单精度浮点型,m总长度,d小数位 |
double(m, d) | 8字节,双精度浮点型,m总长度,d小数位 |
decimal(m, d) | decimal是存储为字符串的浮点数,对应我们java的Bigdecimal |
注意事项 3:
浮点类型中 我们需要合理的对数据范围进行考虑,有两个参数
(m,d) m代表的是这数据的总长度 ,然后d是这个数据的小数点后的数字个数。
例子:
数据类型为float(5, 3)的列,做了以下试验:
5-3 说明 小数点前最大两位,小数点后有三位
插入123.45678,最后查询得到的结果为99.999;
插入12.34567,最后查询结果为12.346;
对于这个数据类型decimal是存储为字符串的浮点数,对应我们java的Bigdecimal 用于的是我们对于金钱的存取,可以存取高精度的数据,使这个数据不会丢失
字符串数据类型
MySQL数据类型 | 含义 |
---|---|
char(n) | 固定长度,最多255个字符 |
varchar(n) | 可变长度,最大容量65535个字节 |
tinytext | 可变长度,最大容量255个字节 |
text | 可变长度,最大容量65535个字节 |
mediumtext | 可变长度,最大容量2的24次方-1个字节 16MB |
longtext | 可变长度,最大容量2的32次方-1个字节 4GB |
注意事项4:
使用类型的选择顺序 char》》varchar》》mediumtext》》longtext
char 的应用场景1:char非常适合存储密码的MD5值,因为这是一个定长的值。
对于我们这些个字符串的数据类型,char类型是固定长度的,如果可以用char的情况下,建议还是使用char类型来存储数据
原因如下:
这个时候我们需要考虑到varchar和char的区别是什么???
char是固定长度,而varchar是可变长度 例如 char(10) 和 varchar(10) 我们在其中存入的数据都是 "abc"这个字符串
对于char来说,就是给这个字符串去分配 10个字符的大小 ,所以对于这个“abc”来说实际上存储的是 3个字符和7个空字符的大小空间
对于varchar来说 就是只要存储 “abc“ 3 个字符的大小 ,但是存储的空间大小不只是3个字节,而是3个字节+几个字节来记录这个varchar 的最大长度
因为我们在mysql中存储它时,还需要使用1或2个额外字节记录字符串的长度,如果列的最大长度小于等于255字节(是定义的最长长度,不是实际长度),则使用1个字节表示长度,否则使用2个字节来表示。
char类型每次修改的数据长度相同,效率更高,varchar类型每次修改的数据长度不同,效率更低。
为什么呢?
上面的就是char中的样子,下面的是varchar的样子,对于char中的abc我们修改它需要一次即可,但是对于我们varchar中的abc我们需要完全改变它的值,我们需要三次操作。。。
然后就是text和varchar的区别了:
如果存储的数据大于64K,就必须使用到 mediumtext,longtext,因为 varchar 已经存不下了,所以text存储数据的意义完全在于的就是,可以是存储一个更大的数据。。。
对于长的文本,varchar和text都是采用的溢出存储,溢出存储的好处是我们可以读取数据的一部分到内存中,另外一部分是在磁盘中的,并未将其读取出来,一个原因是数据有时太大,我们无法全部读入,二是增加磁盘的压力去缓解内存的压力。。
日期和时间数据类型
MySQL数据类型 | 含义 |
---|---|
date | 3字节,日期,格式:2014-09-18 |
time | 3字节,时间,格式:08:42:30 |
datetime | 8字节,日期时间,格式:2014-09-18 08:42:30 |
timestamp | 4字节,自动存储记录修改的时间 |
year | 1字节,年份 |
关键词:
-
全球热点评!Mysql中的数据类型注意事项
2023-04-19 -
世界观天下!“成功学大师”落网 成功哪有捷径可走
2023-04-19 -
一季度A股交易额下滑11% 证券交易印花税却大降53% 数据因何“分道扬镳”?
2023-04-19 -
环球讯息:一只烧饼卖了25年,铺子门口天天排队
2023-04-19 -
教师节活动方案_教师节课件
2023-04-19 -
武夷山旅游职业中专学校宿舍图片_武夷山旅游职业中专_世界热资讯
2023-04-19 -
大唐无双第一土豪狂龙_大唐无双私服 天天动态
2023-04-19 -
【世界热闻】平方英尺和平米的换算公式_平方英尺和米的换算
2023-04-19 -
tplogin.cn管理员密码是多少_tplogincn管理员密码是多少_世界热点评
2023-04-19 -
双外援贡献41分,易建联15分8篮板,广东男篮109-96胜浙江东阳光-世界快资讯
2023-04-19 -
天天观热点:远古发现|这种约8亿年前的古生物,好像一串串珍珠项链……
2023-04-19 -
全球头条:歌尔股份增收不增利:被开除“果链”后清仓甩卖,元宇宙难撑起公司业务丨看财报
2023-04-19 -
德阳市区幼升小入学要求2023 世界最新
2023-04-19 -
要是公司倒闭了员工的工资怎么办_公司倒闭员工工资怎么办
2023-04-19 -
20日晚湖南将迎新一轮较强降雨过程,需重点防范中小河流洪水和山洪灾害
2023-04-19 -
浙江淳安提升治水护水智慧化水平|全球速看料
2023-04-19 -
财政部将在三方面着力 推动巩固中国经济回升势头 环球时快讯
2023-04-19 -
望坛回迁居民开始搬家,老居民凌晨4点来到新居
2023-04-19 -
蒸海螺隔夜能吃吗会中毒吗 环球动态
2023-04-19 -
当前通讯!优良品种、大豆油料、种业振兴……农业农村部发布会“干货”满满
2023-04-19 -
又一上市公司信托踩雷,2 亿资金“打水漂”?涉事方长安信托多只信托逾期! 当前短讯
2023-04-19 -
天天速读:进口新车报道:新款奔驰E级敞篷上市 售71.8-84.8万元
2023-04-19 -
小米投资能源及储能系统开发商深湾能源 环球关注
2023-04-18 -
新奥股份:城燃项目收购计划今年已做好相应安排
2023-04-18 -
融合无界,触手可及 亿咖通科技与星纪魅族集团联合亮相2023上海国际车展_快看
2023-04-18 -
焦点热门:征集线索!迁西县医保局发布通告
2023-04-18 -
环球速讯:沃尔沃s40保养灯归零_沃尔沃s40保养
2023-04-18 -
2023年海底捞还有礼物送吗 2023年海底捞会送什么礼物
2023-04-18 -
智能计算“浙江路径”初露雏形_每日热议
2023-04-18 -
玉禾田:中标14.37亿元智慧环卫管理一体化特许经营项目 速读
2023-04-18
-
守住网络直播的伦理底线
2021-12-16 -
石窟寺文化需要基于保护的“新开发”
2021-12-16 -
电影工作者不能远离生活
2021-12-16 -
提升隧道安全管控能力 智慧高速让司乘安心
2021-12-16 -
人民财评:提升消费体验,服务同样重要
2021-12-16 -
卫冕?突破?旗手?——武大靖留给北京冬奥会三大悬念
2021-12-16 -
新能源车险专属条款出台“三电”系统、起火燃烧等都可保
2021-12-16 -
美术作品中的党史 | 第97集《窗外》
2021-12-16 -
基金销售业务违规!浦发银行厦门分行等被厦门证监局责令改正
2021-12-16 -
保持稳定发展有支撑——从11月“成绩单”看中国经济走势
2021-12-16