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個高併發導致數倉資源類報錯分析