六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

MySQL 圖文詳細教程之列分類中的數值型

[摘要]本篇文章主要給大家介紹mysql中列類型之數值型的相關知識點,希望對需要的朋友有所幫助!推薦參考教程:《mysql教程》列類型(數據類型)所謂的列類型,其實就是指數據類型,即對數據進行統一的分類,從...
本篇文章主要給大家介紹mysql中列類型之數值型的相關知識點,希望對需要的朋友有所幫助!

推薦參考教程:《mysql教程

列類型(數據類型)

所謂的列類型,其實就是指數據類型,即對數據進行統一的分類,從系統的角度出發是為了能夠使用統一的方式進行管理,更好的利用有限的空間。

在 SQL 中,將數據類型分成了三大類,分別為:數值型、字符串型和日期時間型。

1

對于數值型數據,可以進一步將其劃分為整數型小數型

整數型

在 SQL 中,由于要考慮節省磁盤空間的問題,因此系統又將整型細分成五類,分別為:

  • tinyint:迷你整型,使用 1 個字節存儲數據(常用);

  • smallint:小整型,使用 2 個字節存儲數據;

  • mediumint:中整型,使用 3 個字節存儲數據;

  • int:標準整型,使用 4 個字節存儲數據(常用);

  • bigint:大整型,使用 8 個字節存儲數據。

接下來,輸入如下 SQL 語句進行測試:

-- 創建整型表create table my_int(
    int_1 tinyint,
    int_2 smallint,
    int_3 int,
    int_4 bigint
)charset utf8;

2

如上圖所示,咱們已經成功創建my_int表,再插入數據:

-- 插入數據insert into my_int values (1,2,3,4);insert into my_int values ('a','b','c','d');insert into my_int values (255,2,3,4);

3

如上圖所示,通過列類型,咱們可以限定插入數據的類型以及長度范圍。

至于為什么在對int_1賦值時,報出超出范圍的錯誤,則是因為在 SQL 中數值類型默認是有符號位的,即分正負。如果需要使用無符號的數據,這就需要咱們自己對數據類型進行聲明啦,即在聲明數據類型時,追加unsigned關鍵字。例如:

-- 在 my_int 表中,添加 int_5 字段,設置其數據類型為 tinyint unsignedalter table my_int add int_5 tinyint unsigned;

4

如上圖所示,添加int_5字段成功,繼續插入數據:

-- 插入數據insert into my_int values (1,2,3,4,255);

5

如上圖所示,當咱們將tinyint限定為unsigned之后,已經可以插入0~255之間的任何整數啦!但是,回過頭來,讓咱們仔細看看下面這張圖:

6

通過觀察上面這張圖,咱們會發現:每個字段的數據類型后面都會跟著一對括號,并且里面含有數字。這些數字啊,其實并沒有什么特別的含義,只是表示數據的顯示寬度。實際上,咱們可以修改顯示的寬度,但是這種修改并不會改變數據本身的大小。

顯示寬度的意義:在于當數據不夠顯示寬度的時候,會自動讓數據變成對應的顯示寬度,通常需要搭配一個前導0來增加寬度,其不改變數據值的大小,即用zerofill進行零填充,并且零填充會導致數值自動變成無符號。

下面,執行如下 SQL 語句:

-- 在 my_int 表中,添加 int_6 字段,設置其數據類型為 tinyint zerofillalter table my_int add int_6(3) tinyint zerofill;

7

再插入數據,進行測試:

-- 插入數據insert into my_int values (1,2,3,4,5,6);

8

如上圖所示,零填充的意義:在于保證數據的格式。

小數型

小數型,即帶有小數點或者范圍超出整型的數值類型

在 SQL 中,將小數型細分為浮點型定點型兩種,其中:

  • 浮點型:小數點浮動,精度有限,容易丟失精度;

  • 定點型:小數點固定,精度固定,不會丟失精度。

第 1 種:浮點型

浮點型數據是一種精度型數據,因為超出指定范圍之后,其會丟失精度,自動進行四舍五入操作。理論上,浮點型分為兩種精度:

  • float:單精度,占用 4 個字節存儲數據,精度范圍大概為 7 位左右;

  • double:雙精度,占用 8 個字節存儲數據,精度范圍大概為 15 位左右。

浮點型的使用方式:如果直接用float,則表示沒有小數部分;如果用float(M,D),其中M代表總長度,D代表小數部分長度,M-D則為整數部分長度。

執行如下 SQL 語句創建浮點數表,進行測試:

-- 創建浮點數表create table my_float(
    f1 float,
    f2 float(10,2),
    f3 float(6,2)
)charset utf8;

在咱們向浮點數表my_float插入數據的時候,可以直接插入小數,也可以插入用科學計數法表示的數據。此外,插入浮點型數據時,整數部分是不能超出長度范圍的,但是小數部分是可以超出長度范圍的,系統會自動進行四舍五入的操作。特別是,如果浮點數是因為系統進位(四舍五入)導致整數部分超出指定的長度,那么系統是允許成立的。

-- 插入測試數據insert into my_float values (2.15e4,20.15,9999.99);insert into my_float values (20151120,123456789.99,9999.99);insert into my_float values (5211314,123456.99,99.99999);

1

如上圖所示,咱們的結論得到了驗證。

第 2 種:定點型

定點型數據,絕對的保證整數部分不會被四舍五入,也就是說不會丟失精度,但小數部分有可能丟失精度,雖然理論上小數部分也不會丟失精度。

執行如下 SQL 語句創建定點數表,以浮點數做對比,進行測試:

-- 創建定點數表create table my_decimal(
    f1 float(10,2),
    d1 decimal(10,2)
)charset utf8;

當咱們插入數據的時候,定點數的整數部分一定不能超出長度范圍(進位也不可以),小數部分的長度則可以隨意超出,沒有限制,系統會自動進行四舍五入的操作:

-- 插入測試數據insert into my_decimal values (99999999.99,99999999.99);insert into my_decimal values (123456789.99,2015.1314);insert into my_decimal values (123456.99,2015.1314);

2

如上圖所示,咱們的結論同樣得到了驗證。

以上就是MySQL 教程之列類型中的數值型的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 欧美在线播放一区二区 | 在线观看视频一区二区 | 日韩中文字幕高清在线专区 | 三十极夜2免费视频 | 日韩视频欧美视频 | 日本中出视频 | 人人干美女 | 性感制服| 午夜国产福利在线 | 天美传媒一区 | 欧美亚洲另类久久综合 | 性xxx视频在线观看 性xxx欧美 | 四虎影院在线免费观看视频 | 亚洲色无码播放 | 日本天堂免费a | 亚洲www美色 | 日本不卡免费高清一级视频 | 日韩黄色a级片 | 亚洲永久在线 | 呦呦国产 | 欧美综合图区亚洲综合图区 | 一本大道香蕉久97在线视频 | 亚洲最新在线观看 | 全免费午夜一级毛片一级毛 | 深夜成人福利视频 | 四虎在线最新永久免费播放 | 伊人网在线免费视频 | 青娱乐免费视频观看 | 视频一区精品 | 亚洲色欲色欲www在线观看 | 中日韩视频在线看免费观看 | 五月婷婷综合基地 | 色狠狠狠色噜噜噜综合网 | 天天澡夜夜澡人人澡 | 四虎永久在线精品影院 | 啪啪免费网 | 色综合888 | 在线播放精品一区二区啪视频 | 色狠台湾色综合网站 | 四虎在线视频免费观看 | 午夜国产福利在线 |