永发信息网

数据库占多少字节空间是什么意思,比如mysql,float占4字节,double占8字节,是指占内存的大小吗

答案:2  悬赏:60  手机版
解决时间 2021-03-14 20:12
数据库占多少字节空间是什么意思,比如mysql,float占4字节,double占8字节,是指占内存的大小吗
最佳答案
是指DB最小存储单位吧
全部回答
1.float类型 float列类型默认长度查不到结果,必须指定精度,比如 num float, insert into table (num) values (0.12); select * from table where num=0.12的话,empty set。 num float(9,7), insert into table (num) values (0.12); select * from table where num=0.12的话会查到这条记录。 mysql> create table tt -> ( -> num float(9,3) -> ); query ok, 0 rows affected (0.03 sec) mysql> insert into tt(num)values(1234567.8); query ok, 1 row affected, 1 warning (0.04 sec) 注:超出字段范围,插入数据有误 mysql> select * from tt; +-------------+ | num | +-------------+ | 1000000.000 | +-------------+ 2 rows in set (0.00 sec) *************************************************************************** 注:通常在 linux 下安装完 mysql 后,默认的 sql-mode 值是空,在这种情形下 mysql 执行的是一种不严格的检查,例如日期字段可以插入 ’ 0000-00-00 00:00:00 ’这样的值,还有如果要插入的字段长度超过列定义的长度,那么 mysql 不会终止操作,而是会自动截断后面的字符继续插入操作。 我们发现插入的字符被自动截断了,但是如果我们本意希望如果长度超过限制就报错,那么我们可以设置 sql_mode 为 strict_trans_tables ,如下: mysql> set session sql_mode='strict_trans_tables'; 这样我们再执行同样的操作,mysql 就会告诉我们插入的值太长,操作被终止,如下: mysql> insert into tt(num) values(1234567.8); error 1264 (22003): out of range value for column 'num' at row 1 *************************************************************************** mysql> insert into tt(num)values(123456.8); query ok, 1 row affected (0.00 sec) mysql> select * from tt; +-------------+ | num | +-------------+ | 1000000.000 | | 123456.797 | +-------------+ 2 rows in set (0.00 sec) 注:小数位数不够,自动补齐,但是存在一个问题就是如上的近似值。 mysql> insert into tt(num)values(123456.867); query ok, 1 row affected (0.04 sec) mysql> select * from tt; +-------------+ | num | +-------------+ | 1000000.000 | | 123456.797 | | 123456.867 | +-------------+ 3 rows in set (0.00 sec) mysql> select * from tt where num=123456.867; +------------+ | num | +------------+ | 123456.867 | +------------+ 1 row in set (0.00 sec) mysql> insert into tt(num)values(2.8); query ok, 1 row affected (0.04 sec) mysql> select * from tt; +-------------+ | num | +-------------+ | 1000000.000 | | 123456.797 | | 123456.867 | | 2.800 | +-------------+ 4 rows in set (0.00 sec) mysql> select * from tt where num=2.8; +-------+ | num | +-------+ | 2.800 | +-------+ 1 row in set (0.00 sec) mysql> insert into tt(num)values(2.888888); query ok, 1 row affected (0.00 sec) mysql> select * from tt; +-------------+ | num | +-------------+ | 1000000.000 | | 123456.797 | | 123456.867 | | 2.800 | | 2.889 | +-------------+ 5 rows in set (0.00 sec) 注:小数位数超了,自动取近似值。 -------------------------------------------------------------------------------------- 2.double类型 mysql> create table tt( -> num double(9,3) -> ); query ok, 0 rows affected (0.04 sec) mysql> insert into tt(num) values(234563.9); query ok, 1 row affected (0.00 sec) mysql> select * from tt; +------------+ | num | +------------+ | 234563.900 | +------------+ 1 row in set (0.00 sec) mysql> insert into tt(num) values(2345623.2); query ok, 1 row affected, 1 warning (0.04 sec) mysql> insert into tt(num) values(234563.2); query ok, 1 row affected (0.00 sec) mysql> select * from tt; +------------+ | num | +------------+ | 234563.900 | | 999999.999 | | 234563.200 | +------------+ 2 rows in set (0.00 sec) mysql> insert into tt(num) values(2.8); query ok, 1 row affected (0.00 sec) mysql> select * from tt; +------------+ | num | +------------+ | 234563.900 | | 999999.999 | | 234563.200 | | 2.800 | +------------+ 3 rows in set (0.00 sec) float(m,d)或real(m,d)或double precision(m,d)。这里,“(m,d)”表示该值一共显示m位整数,其中d位位于小数点后面。 例如,定义为float(7,4)的一个列可以显示为-999.9999。mysql保存值时进行四舍五入,因此如果在float(7,4)列内插入999.00009,近似结果是999.0001。 单精度浮点数(float)的尾数是用24bit表示的,双精度(double)浮点数的尾数是用53bit表示的,转换成十进制: 2^24 - 1 = 16777215 2^53 - 1 = 9007199254740991 由上可见,ieee754单精度浮点数的有效数字二进制是24位,按十进制来说,是8位;双精度浮点数的有效数字二进制是53位,按十进制来说,是16 位。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
衢州农家菜地址在什么地方,想过去办事
vivo手机发不出去短信但能收到怎么回事
建兰怎么养 建兰盆栽养殖方法
皖西学院每年体育选修是在什么时候
联想锋行k330 可以怎么升级显卡,升级完要多
农村自建房三件,中问客厅两边卧室,楼递在哪个
本人现在17岁.小时候由于生病不爱吃东西导致
鑫晟五交化在哪里啊,我有事要去这个地方
巡察组巡察期间组内人员怎样进行分工
出生证不是就是一张纸的吗?什么是电子档
酚羟基与胺类(氨基)发生中和反应吗?
为什么屏蔽网线要比非屏蔽的网线传输距离要短
金龙酒店老板是谁?
造假币七万多会被判刑多少年
一品食尚在什么地方啊,我要过去处理事情
推荐资讯
下周去太原,请大家说说有哪里好玩?
浓浓婚庆·婚纱摄影蓝村店这个地址在什么地方
给迷茫中的初学者 如何去学习编程
抄歌词到底有什么用啊 我因为抄歌词费了好几
工具设备白光手柄9501和2028 有何区别
德国跟法国不是世仇吗.怎么二战期间,德国不
高中 生物 内环境都有什么 常考的都是什么
360下载的战地1942压缩文件安装教程
新一佳老魏副食品店这个地址在什么地方,我要
女子摔跤的网站有吗
OPPO find5 后置摄像头坏了,闪光灯也打不开
福怡轩我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?