2019-08-03
資料型別用於以下目的。
有兩種基本的串型別,分別為定長串和變長串。定長串接受長度固定的字串,其長度是在建立表時指定的。例如,名字列可允許30個字元,而社會安全號列允許11個字元(允許的字元數目中包括兩個破折號)。定長列不允許多於指定的字元數目。它們分配的儲存空間與指定的一樣多。因此,如果串ben
儲存到30個字元的名字字段,則儲存的是30個字元,char
屬於定長串型別。
變長串儲存可變長度的文字。有些變長資料型別具有最大的定長,而有些則是完全變長的。不管哪種,只有指定的資料得到儲存(額外的資料不儲存)text
屬於變長串型別。
既然變長資料型別這樣靈活,為什麼還要使用定長資料型別?回答是因為效能。mysql
處理定長列遠比處理變長列快得多。此外,mysql
不允許對變長列(或乙個列的可變部分)進行索引。這也會極大地影響效能。
表1.串資料型別
資料型別
說 明char
1~255個字元的定長串。它的長度必須在建立時指定,否則mysql
假定為char(1)
enum
接受最多64k個串組成的乙個預定義集合的某個串
longtext
與text
相同,但最大長度為4gb
mediumtext
與text
相同,但最大長度為16k
tinytext
與text
相同,但最大長度為255位元組
text
最大長度為64k的變長文字
set
接受最多64個串組成的乙個預定義集合的零個或多個串
varchar
長度可變,最多不超過255位元組。如果在建立時指定為varchar(n)
,則可儲存0到n個字元的變長串(其中n
≤255
n \leq 255
n≤255)
數值資料型別儲存數值。mysql
支援多種數值資料型別,每種儲存的數值具有不同的取值範圍。顯然,支援的取值範圍越大,所需儲存空間越多。此外,有的數值資料型別支援使用十進位制小數點(和小數),而有的則只支援整數。
有符號或無符號所有數值資料型別(除表2.數值資料型別bit
和boolean
外)都可以有符號或無符號。有符號數值列可以儲存正或負的數值,無符號數值類只能儲存正數。預設情況為有符號,但如果你知道自己不需要儲存負值,可以使用unsigned
關鍵字,這樣做將允許你儲存兩倍大小的值。
資料型別
說 明bit
位欄位,1~64位。(在mysql 5
之前,bit
在功能上等價於tinyint
)
bigint
整數值,支援-9223372036854775808~9223372036854775807(如果是unsigned
,為0~18446744073709551615)的數
boolean(或bool)
布林標誌,或者為0或者為1,主要用於開/關(on/off)標誌
decimal(或dec)
精度可變的浮點值
double
雙精度浮點值
float
單精度浮點值
int(或integer)
整數值,支援-2147483648~2147483647(如果是unsigned
,為0~4294967295)的數
mediumint
整數值,支援-8388608~8883607(如果是unsigned
,為0~16777215)的數
real
4位元組的浮點值
smallint
整數值,支援-32768~32767(如果是unsigned
,為0~65535)的數
tinyint
整數值,支援-128~127(如果是unsigned
,為0~255)的數
資料型別
說 明date
表示1000-01-01~9999-12-31的日期,格式為yyyy-mm-dd
datetime
date
和time
的組合
timestamp
功能和datetime
相同(但範圍較小)
time
格式為hh:mm:ss
year
用2位數字表示,範圍是70(2023年)~69(2023年),用4位數字表示,範圍是2023年~2023年
二進位制資料型別可儲存任何資料(甚至包括二進位制資訊),如影象、多**、字處理文件等。
表4.二進位制資料型別
資料型別
說 明blob
blob
最大長度為64kb
mediumblob
blob
最大長度為16mb
longblob
blob
最大長度為4gb
tinyblob
blob
最大長度為255位元組
mysql 運算子 <=>,:=,@,@@的含義
運算子含義<=>
安全比較運算子,用來做 null 值的關係運算
:=
=
只有在set
和update
時才是和:=
一樣,賦值的作用,其它都是關係運算子等於
的作用。:=
不只在set
和update
時賦值的作用,在select
也是賦值的作用。
@
用來標識使用者變數
@@
讀取系統變數
MySQL 資料型別,運算子
3.decimal m,d 定點型別 當對精度要求較高的時候使用該欄位更好 整數和浮點數 如果不需要小數,則可以使用整數來儲存資料,如果需要小數部分,則使用浮點數,對於存入浮點資料列,存入的數值會對小數字進行四捨五入,浮點數有double和float,double的精度比float高 浮點數與定點數...
資料型別與運算子
字下美人數 駱駝 有意義 字 字母a z a z 下 下劃線 美 美元符 人 人民幣符 數 數字0 9 要點 不能以數字開頭 變數名由 字下美人數 組成 駱駝 駝峰命名法 小寫字母開頭 例classname addressofschool 有意義 見名知義 基本資料型別 1 數值型 整數型別 byt...
資料型別與運算子
資料型別 型別轉換 算術運算子 賦值運算子 比較運算子 邏輯運算子 條件語句 資料型別 位元組範圍 byte 1b 8位 128 127 short 2b 16位 32768 32767 int4b 32位 2 31 2 31 1 long 8b 64位 2 63 2 63 1 floate 4b ...