日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Mysql数据类型之浮点与二进制型数据使用案例总结

發布時間:2024/9/27 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql数据类型之浮点与二进制型数据使用案例总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Mysql數據類型之浮點與二進制型數據

數據類型概述


Mysql里的數據類型主要有數值型(整形、浮點型)、時間類型、字符串類型、JSON類型、坐標類型、混合類型(整數或字符串)。

數值型范圍表格

數據類型

存儲位數

數據范圍

tinyint

1

有符號: -128–127? 無符號: 0–255

smallint

2

有符號:--32768–32767 無符號:0–65535

mediumint

3

有符號:-8388608–8388607 無符號:0–16777215

int

4

有符號:-2147483648–2147483647 無符號: 0–4294967295

bigint

8

有符號: -2^63?- 2^63-1 無符號: 0–2^64-1

decimal(M, N)

1–29

M 1到65 N 0到38,M大于等于N

float

4

總位數65(其中小數部分38)

double

8

總位數65(其中小數部分38)

bit(M)

1-8

1-64 bits

decimal的說明

1 decimal(5,2) 即小數點后面是2位,總5位(整數部分3位),所以范圍是-999.99-999.99。

2 ?decimal(m) 等價于decimal(m,0),即不含小數點部分。而decimal,即不指定精度時對應decimal(10,0)。

float double的說明

1 float可以指定存儲“精度”(不是數據范圍),形式為flaot(n),該精度n和影響其存儲。當n在0和23之間則存儲時需要4個字節,而24到53之間則需要8個字節。

2 float也可以指定數據精度,一般形式為flaot(M,D),M代表總數值的位數,而D是小數點后的位數,比如float(7,3)的數據范圍是-9999.999到9999.999。

3 當float里指定了數據精度時,插入的數據將按照指定的精度四舍五入。比如在2里精度下9999.99859插入時將是9999.999,而9999.99849則是9999.998。

4 因為float和double存的是近似數,所以在做比較運算時可能會有問題。

bit的說明

1 bit類型是用來存二進制類型,它的一般形式是bit(M),其中M的范圍是1到64。

比如b'111'?and?b'10000000' 分別對應十進制的7和128。

2 添加到bit類型里的數據如果位數小于指定的M,則左邊自動補0。比如將b'101'?添加到列BIT(6)里時等價于b'000101'。

3 bit類型不指定精度時默認是1。

?代碼驗證

浮點型

DROP TABLE tb_fixpoint CREATE TABLE tb_fixpoint (id int auto_increment, decimal_1 decimal, primary key(id) )-- 查看創建腳本 show create table tb_fixpoint; CREATE TABLE `tb_fixpoint` (`id` int(11) NOT NULL AUTO_INCREMENT,`decimal_1` decimal(10,0) DEFAULT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3# 1 插入最多10位的整數 INSERT INTO tb_fixpoint VALUES(1,9999999999) > Affected rows: 1 > 時間: 0.324s# 2 插入11位以上數報錯 INSERT INTO tb_fixpoint VALUES(2,10000000000) > 1264 - Out of range value for column 'decimal_1' at row 1 > 時間: 0.001s # 3 插入含小數點的數不報錯,但實際截取小數點后的數 INSERT INTO tb_fixpoint VALUES(2,9999999999.2987)SELECT * FROM tb_fixpoint2 反例驗證decimal范圍 #2.1 總位數最多65位 ALTER TABLE tb_fixpoint ADD decimal_2 decimal(66,29) > 1426 - Too big precision 66 specified for 'decimal_2'. Maximum is 65 > 時間: 0s#2.2 小數點最多38位 ALTER TABLE tb_fixpoint ADD decimal_2 decimal(65,39) > 1425 - Too big scale 39 specified for 'decimal_2'. Maximum is 38 > 時間: 0s #2.3 總位數65,小數點后最多38位。 ALTER TABLE tb_fixpoint ADD decimal_2 decimal(65,38) > OK > 時間: 0.47s--#2.4 填充整數部分 UPDATE tb_datatype SET decimalcol= REPEAT(9,27) WHERE id = 1--#2.5 填充整數小數部分 UPDATE tb_datatype SET decimalcol= CONCAT(REPEAT(9,27),'.',REPEAT(9,38)) WHERE id = 1# 如果定義float(7,4)則存的范圍是-9999.999到9999.999 UPDATE tb_fixpoint SET float_3=9999.999 WHERE id = 1; UPDATE tb_fixpoint SET float_3=-9999.999 WHERE id = 2;# 會按照四舍五入方式截斷數據 UPDATE tb_fixpoint SET float_3=9999.99859 WHERE id = 2; UPDATE tb_fixpoint SET float_3=9999.99849 WHERE id = 2; -- 結果 9999.999 9999.998

bit型

# 新增bit類型 ALTER TABLE tb_fixpoint ADD bit_1 bit; UPDATE tb_fixpoint SET bit_1=b'01' WHERE id = 1; UPDATE tb_fixpoint SET bit_1=B'0' WHERE id = 2; #這里不能寫成0B,必須是小寫的b。 UPDATE tb_fixpoint SET bit_1=0b01 WHERE id = 2; #二進制數據只有0和1,2及其它數字都是錯誤輸入。 UPDATE tb_fixpoint SET bit_1=b'02' WHERE id = 1; > 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'b'02' WHERE id = 1' at line 1 > 時間: 0s # 超出bit的范圍 ALTER TABLE tb_fixpoint ADD bit_2 bit(65) > 1439 - Display width out of range for 'bit_2' (max = 64) > 時間: 0s# 超出bit的范圍,精度只到64. ALTER TABLE tb_fixpoint ADD bit_2 bit(64) > OK > 時間: 0.692s#插入65位二進制數據。 UPDATE tb_fixpoint SET bit_2=b'11111111111111111111111111111111111111111111111111111111111111110' WHERE id = 1 > 1264 - Out of range value for column 'bit_2' at row 1 > 時間: 0.001s#插入64位二進制數據。 UPDATE tb_fixpoint SET bit_2=b'1111111111111111111111111111111111111111111111111111111111111111' WHERE id = 2 > Affected rows: 1 > 時間: 0.065s#查看二進制數據及其字符編碼 SELECT b'1000011', CHARSET(b'1000011'); 結果為:C#二進制數據結合字符集查看數據 SELECT _latin1 b'1000011'; SELECT _utf8 0b1000011 COLLATE utf8_danish_ci;結果都是 C

完整腳本

SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0;-- ---------------------------- -- Table structure for tb_fixpoint -- ---------------------------- DROP TABLE IF EXISTS `tb_fixpoint`; CREATE TABLE `tb_fixpoint` (`id` int(11) NOT NULL AUTO_INCREMENT,`decimal_1` decimal(10, 0) NULL DEFAULT NULL,`decimal_2` decimal(65, 38) NULL DEFAULT NULL,`float_1` float NULL DEFAULT NULL,`float_2` float NULL DEFAULT NULL,`float_3` float(7, 3) NULL DEFAULT NULL,`bit_1` bit(1) NULL DEFAULT NULL,`bit_2` bit(64) NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;-- ---------------------------- -- Records of tb_fixpoint -- ---------------------------- INSERT INTO `tb_fixpoint` VALUES (1, 9999999999, NULL, NULL, NULL, 9999.999, b'1', NULL); INSERT INTO `tb_fixpoint` VALUES (2, 9999999999, NULL, NULL, NULL, 9999.998, b'1', b'1111111111111111111111111111111111111111111111111111111111111111');SET FOREIGN_KEY_CHECKS = 1;

總結

以上是生活随笔為你收集整理的Mysql数据类型之浮点与二进制型数据使用案例总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久久久久久久久久久久久久久久久 | 日本不卡视频一区二区三区 | 丁香婷婷六月天 | 国产一级做a爰片久久毛片男男 | 涩涩视频软件 | 精品一区二区三区无码视频 | 久久久无码精品亚洲无少妇 | 色老头一区二区三区在线观看 | 制服一区 | 久草网站| 国产牛牛 | 国偷自拍| 亚洲日本va中文字幕 | 激情自拍视频 | 日本黄色片一级 | 亚洲一区欧洲二区 | 视频区小说区图片区 | 国产精品无码在线 | 国产欧美在线播放 | 欧美日韩亚洲系列 | 蜜臀久久精品久久久久久酒店 | 日韩在线网址 | 韩国电影一区二区三区 | 欧美激情第二页 | 亚洲第一页色 | 一级黄色视屏 | 欧美成人一级 | 日本免费网站 | a级黄毛片 | 在线免费观看日韩视频 | 欧美一级片一区二区 | 日韩视频网站在线观看 | 国产在线一区不卡 | 40到50岁中老年妇女毛片 | 色黄大色黄女片免费中国 | 小俊大肉大捧一进一出好爽 | 色天天干 | 在线精品一区 | 成人免费毛片网 | av鲁丝一区鲁丝二区鲁丝 | 黄大色黄大片女爽一次 | 日日摸日日操 | 很黄很色的视频 | 欧美日韩高清一区二区 国产亚洲免费看 | 亚洲成人高清 | www插插 | 成人影音在线 | 欧美午夜在线观看 | 国产男女猛烈无遮挡免费视频动漫 | 久久露脸 | 日韩欧美一区二区三区在线 | 国产精品久久影院 | 青青在线观看视频 | 日韩在线影视 | 中文字幕在线播放av | 亚洲午码 | 亚洲国产成人精品激情在线 | 欧美三级三级三级爽爽爽 | 一区二区三区精 | 华人永久免费 | 肉色超薄丝袜脚交一区二区 | 日本乱偷中文字幕 | 亚洲久久久久久 | 日本成人一区二区三区 | 91综合色| 国产成人自拍在线 | 久热最新 | 成人美女视频 | 成人国产精品久久久网站 | 羞羞的网站在线观看 | 精品国产午夜福利在线观看 | 亚洲韩国精品 | www.人人草 | 国产femdom调教7777 | 国产精品视频久久 | 亚洲自拍偷拍精品 | 三级a做爰全过程 | 久久精品99北条麻妃 | 天天综合永久 | 免费看黄色网 | 国产亚洲欧美视频 | 国产真实偷伦视频 | 亚洲一区二区三区免费 | 亚洲伦理影院 | 日本一道本 | 日本一区二区视频免费 | 丁香九月激情 | 欧美做受 | 成人蜜桃视频 | 又黄又爽网站 | 凹凸日日摸日日碰夜夜 | 亚洲中文字幕97久久精品少妇 | 久久精品www | 日韩激情片| 国产亚洲一区二区三区四区 | 男生和女生一起搞鸡 | 亚洲精品久久久乳夜夜欧美 | 99午夜视频| 国产精品白虎 |