DBA必備的Mysql知識點:資料型別和運算子

語言: CN / TW / HK
摘要:本文主要為大家帶來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和二進位制形式文字資料等。

字串資料

  1. 定長字串CHAR(M):固定長度的字串。在定義的時候需要定義字串長度為M(0~255),==儲存時,在右側填充空格已達到指定長度。==
  2. 變長字串VARCHAR(M),長度可變的字串。M(0~65535)表示最大長度,實際佔用為字串的實際長度加1。

文字型別資料

文字型別可以儲存非二進位制字串。當儲存或查詢文字型別的值時,不刪除尾部空格。

列舉型別資料

列舉字串(ENUM)是一個字串物件,語法格式如下:
<欄位名> ENUM('值 1', '值2', ..., '值n')

ENUM的特點如下:

  1. 取值時,在指定的列舉列表中獲取,一次只能獲取一個。
  2. 如果建立的成員中有空格,尾部的空格將被自動刪除。
  3. ENUM值的內部用整數表示(索引編號),最多可以有65535個元素。
  4. ENUM值按照索引順序排列,空字串排在非空字串前面,NULL值排在其他所有列舉值之前。
  5. ENUM存在預設值。宣告為NULL時,預設值為NULL;宣告為NOT NULL時,預設值為允許的值列表的第一個元素。

SET型別資料

SET是一個字串物件,語法格式如下:
<欄位名> SET('值 1', '值2', ..., '值n')

SET的特點如下:

  1. SET內部用整數表示(索引編號),最多可以有64個元素;
  2. SET成員中有空格,尾部的空格將被自動刪除。
  3. SET的值可以從定義的元素值中選擇多個聯合。

二進位制形式的文字資料

二進位制資料型別用於儲存影象、有格式的文字(Word、Excel等)、音訊等資料。

日期時間型資料

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

Mysql的運算子

算數運算子

比較運算子

邏輯運算子

 

點選關注,第一時間瞭解華為雲新鮮技術~