DBA必備的Mysql知識點:資料型別和運算子
摘要:本文主要為大家帶來Mysql中的3種資料型別和3種運算子。
本文分享自華為雲社群《Mysql中的資料型別和運算子》,作者: 1+1=王。
Mysql的資料型別
Mysql支援數值型、文字型和日期時間型三大資料型別。
數值型資料
數值型是描述定量資料的資料型別,包括整數型資料型別和浮點型資料型別。
整數型資料型別
整數型資料型別包括INTEGER、SMALLINT、TINYINT、MEDIUMINT和BIGINT五種長度不同的型別。

根據佔用位元組數可以求出每一種資料型別的取值範圍,例如:
TINYINT需要1位元組(即8bits),那麼TINYINT無符號數的取值的最大值為2^8^-1=255;有符號數的最大值為2^7^-1=127。

浮點型型資料型別
Mysql中浮點型資料型別包括浮點型(單精度FLOAT、雙精度DOUBLE)和定點型(DECIMAL)。
此類資料可以用(M,N)來表示,其中M稱為精度,表示總位數;N稱為標度,表示小數的位數。
例如:
- FLAOT(8,3)表示是FLOAT型別,資料長度為8,小數點後保留3位。
字元型資料
字元型資料可以用來儲存字串、圖片和聲音的二進位制資料。
MYsql中的字元型資料有CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET和二進位制形式文字資料等。
字串資料
- 定長字串CHAR(M):固定長度的字串。在定義的時候需要定義字串長度為M(0~255),==儲存時,在右側填充空格已達到指定長度。==
- 變長字串VARCHAR(M),長度可變的字串。M(0~65535)表示最大長度,實際佔用為字串的實際長度加1。
文字型別資料
文字型別可以儲存非二進位制字串。當儲存或查詢文字型別的值時,不刪除尾部空格。

列舉型別資料
列舉字串(ENUM)是一個字串物件,語法格式如下:
<欄位名> ENUM('值 1', '值2', ..., '值n')
ENUM的特點如下:
- 取值時,在指定的列舉列表中獲取,一次只能獲取一個。
- 如果建立的成員中有空格,尾部的空格將被自動刪除。
- ENUM值的內部用整數表示(索引編號),最多可以有65535個元素。
- ENUM值按照索引順序排列,空字串排在非空字串前面,NULL值排在其他所有列舉值之前。
- ENUM存在預設值。宣告為NULL時,預設值為NULL;宣告為NOT NULL時,預設值為允許的值列表的第一個元素。
SET型別資料
SET是一個字串物件,語法格式如下:
<欄位名> SET('值 1', '值2', ..., '值n')
SET的特點如下:
- SET內部用整數表示(索引編號),最多可以有64個元素;
- SET成員中有空格,尾部的空格將被自動刪除。
- SET的值可以從定義的元素值中選擇多個聯合。
二進位制形式的文字資料
二進位制資料型別用於儲存影象、有格式的文字(Word、Excel等)、音訊等資料。

日期時間型資料
Mysql中的日期和時間資料包括YEAR、TIME、DATE、DATETIME和TIMESTAMP。

Mysql的運算子
算數運算子

比較運算子

邏輯運算子

「其他文章」
- 使用卷積神經網路實現圖片去摩爾紋
- 核心不中斷前提下,Gaussdb(DWS)記憶體報錯排查方法
- 簡述幾種常用的排序演算法
- 自動調優工具AOE,讓你的模型在昇騰平臺上高效執行
- GaussDB(DWS)運維:導致SQL執行不下推的改寫方案
- 詳解目標檢測模型的評價指標及程式碼實現
- CosineWarmup理論與程式碼實戰
- 淺談DWS函數出參方式
- 程式碼實戰帶你瞭解深度學習中的混合精度訓練
- python進階:帶你學習實時目標跟蹤
- Ascend CL兩種資料預處理的方式:AIPP和DVPP
- 詳解ResNet 網路,如何讓網路變得更“深”了
- 帶你掌握如何檢視並讀懂昇騰平臺的應用日誌
- InstructPix2Pix: 動動嘴皮子,超越PS
- 何為神經網路卷積層?
- 在昇騰平臺上對TensorFlow網路進行效能調優
- 介紹3種ssh遠端連線的方式
- 分散式資料庫架構路線大揭祕
- DBA必備的Mysql知識點:資料型別和運算子
- 5個高併發導致數倉資源類報錯分析