06、MySQL—列類型

来源:https://www.cnblogs.com/CSAH/archive/2019/07/02/11123775.html
-Advertisement-
Play Games

1、整數類型 I.有符號整型 (1) Tinyint:單位元組整形,系統採用一個位元組來保存的整形:一個位元組 = 8位,最大能表示的數值是0-255. (2) Smallint:雙位元組整形,系統採用兩個位元組來保存的整形:能表示0-65535之間 (3) Mediumint:三位元組整形,採用三個位元組來保存 ...


1、整數類型

I.有符號整型

(1) Tinyint:單位元組整形,系統採用一個位元組來保存的整形:一個位元組 = 8位,最大能表示的數值是0-255.

(2) Smallint:雙位元組整形,系統採用兩個位元組來保存的整形:能表示0-65535之間

(3) Mediumint:三位元組整形,採用三個位元組來保存數據

(4) Int:整形(標準整形),採用四個位元組來保存數據

(5) Bigint:大整形,採用八個位元組來保存數據。

① 創建數據表

 

② 插入合理數據

 

③ 插入錯誤數據(超出對應的數據範圍)

 

錯誤原因:並不是說tinyint沒有這麼大的空間,而是因為mysql預設的為整形增加負數。

實際表示的區間為-128,127

 

實際應用中,應該根據對應的數據的範圍來選定對應的整形類型:通常使用的比較多的TINYINT和int。

II.無符號整型

無符號:表示存儲的數據在當前欄位中,沒有負數(只有正數,區間為0-255)

基本語法:

在類型之後加上一個 unsigned

範例:創建無符號整型數

 

III 顯示長度

顯示長度:指數據(整型)在數據顯示的時候,到底可以顯示多長位。

Tinyint(3): 表示最長可以顯示3位,unsigned說明只能是正數,0-255永遠不會超過三個長度

Tinyint(4):表示最長可以顯示4位,-128~127

顯示長度只是代表了數據是否可以達到指定的長度,但是不會自動滿足到指定長度:如果想要數據顯示的時候,保持最高位(顯示長度),那麼還需要給欄位增加一個zerofill屬性才可以。

Zerofill:從左側開始填充0(左側不會改變數值大小),所以負數的時候就不能使用zerofill,一旦使用zerofill就相當於確定該欄位為unsigned

範例:使用zerofill創建數據

 

說明:

數據顯示的時候,zerofill會在左側填充0到指定位:如果不足3位,那麼填充到3位,如果本身已經夠了或者超出,那麼就不在填充。

 

說明:

顯示長度可以自己設定:超出長度(但是不超出範圍)不會影響,只會對不夠長度的進行補充(顯示長度)

 

2、小數類型

專門用來存儲小數的;在Mysql中將小數類型又分為兩類:浮點型和定點型

I 浮點型

浮點型又稱之為精度類型:是一種有可能丟失精度的數據類型,數據有可能不那麼準確(由其是在超出範圍的時候)

說明:浮點型之所以能夠存儲較大的數值(不精確),原因就是利用存儲數據的位來存儲指數

整型:所有位都為1

1

1

1

1

1

1

1

計算結果:

 

浮點型:有部分用於存儲數據,有部分用於存指數

1

1

1

1

1

1

1

前三位轉換成十進位之後用作10的指數: 10^7 * 數據值

(1) Float

Float又稱之為單精度類型:系統提供4個位元組用來存儲數據,但是能表示的數據範圍比整型大的多,大概是10^38;只能保證大概7個左右的精度(如果數據在7位數以內,那麼基本是準確的,但是如果超過7位數,那麼就是不准確的)。

基本語法:

Float:表示不指定小數位的浮點數

基本語法:

Float(M,D):表示一共存儲M個有效數字,其中小數部分占D位

基本語法:

Float(10,2):整數部分為8位,小數部分為2位

① 創建一個數據表保存浮點數據

 

② 存入數據:合法數據

 

註意:如果數據精度丟失,那麼浮點型是按照四捨五入的方式進行計算

③ 插入數據,超出大小

 

④ 數據長度剛好滿足條件,但是會超出精度

 

說明:

用戶不能插入數據直接超過指定的整數部分長度,但是如果是系統自動進位導致,系統可以承擔。

⑤ 浮點數可以採用科學計數法來存儲數據

 

浮點數的應用:通常是用來保存一些數量特別大,大到可以不用那麼精確的數據。

(2) Double

Double又稱之為雙精度:系統用8個位元組來存儲數據,表示的範圍更大,10^308次方,但是精度也只有15位左右。

II 定點數

定點數:能夠保證數據精確的小數(小數部分可能不精確,超出長度會四捨五入),整數部分一定精確

(1) Decimal

Decimal定點數:系統自動根據存儲的數據來分配存儲空間,每大概9個數就會分配四個位元組來進行存儲,同時小數和整數部分是分開的。

基本語法:

Decimal(M,D):M表示總長度,最大值不能超過65,D代表小數部分長度,最長不能超過30。

① 創建表:與浮點數對比

 

② 插入正常數據

  

③ 插入最大數據

 

④ 嘗試定點數進行四捨五入

 

定點數的應用:如果涉及到錢的時候有可能使用定點數,涉及到精確度較高的情況下,推薦使用定點數。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • [toc] linux許可權管理 特殊許可權 一,特殊許可權 1.suid(4000) SetUID(suid):會在屬主許可權位的執行許可權上寫個s 如果該屬主許可權位上有執行許可權,則:s 如果該屬主許可權位上沒有執行許可權,則:S 授權方式 setuid總結: ​ 1.讓普通用戶對可執行的二進位文件,臨時擁有二 ...
  • [toc] Linux許可權管理 特殊許可權 一、Linux系統特殊許可權概述 除了r(讀)、 w(寫)、 x(執行)這三種普通許可權外,在查詢系統文件許可權時會發現還有其他的許可權字母。 二、特殊許可權suid介紹 1. 許可權(4000) 在Linux系統中,每個普通用戶都可以更改自己的密碼,這是合理的設置,問 ...
  • 一、rpm 簡介 這是一個資料庫管理工具,可以通過讀取資料庫,判斷軟體是否已經安裝,如果已經安裝可以讀取出來所有文件的所在位置等,並可以實現刪除這些文件。 rpm:RPM is Redhat Package Manager(遞歸縮寫) rpm可以完成的操作 安裝軟體 卸載軟體 查詢軟體信息 升級、降 ...
  • 參考文章:https://www.jianshu.com/p/97c35d569aa3 因為Ubuntu自帶的源伺服器在國外,下載和更新軟體的時候速度很慢,不穩定,所以需要將源更新為國內的源。國內的源比較多,常用的就是阿裡的源。 1.備份原有源文件,方便在替換出問題時回滾 2.更改sources.l ...
  • 作用 實現對不同伺服器時間的同步校準 NTP時間服務 第一步 安裝 第二步 設置 進入配置文件 然後刪除裡面的所有內容。並插入以下代碼 第三部 重啟NTP服務 第四部 檢查NTP服務狀態 第五部 客戶端下載NTP客戶端服務 第六步 啟動測試 [root@localhost ~]# date -s " ...
  • 一 Kubernetes證書 1.1 TLS Kubernetes系統的各個組件需要使用TLS證書對其通信加密以及授權認證,建議在部署之前先生成相關的TLS證書。 1.2 CA證書創建方式 kubernetes 系統各個組件需要使用TLS證書對通信進行加密,通常可通過以下工具生產自建證書: open ...
  • 顯示屏幕(LCD)模塊提供屏幕相關功能介面,調用者為上層應用模塊(含 init、狀態機、ui),上下文依賴關係,如圖 3 7 所示。 系統框架為 linux+Huawei LiteOS 雙系統架構,媒體業務部署在 Huawei LiteOS 端,為了上電快速預覽,需要屏幕需部署在 Huawei Li ...
  • 本博客代碼運行環境 什麼是MQ 本教程pdf及代碼下載地址:代碼:https://download.csdn.net/download/zpcandzhj/10585077教程:https://download.csdn.net/download/zpcandzhj/10585092 RabbitM ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...