MySQL資料型別與運算子

2021-10-09 03:34:53 字數 3454 閱讀 3178

2019-08-03

資料型別用於以下目的。

有兩種基本的串型別,分別為定長串變長串

定長串接受長度固定的字串,其長度是在建立表時指定的。例如,名字列可允許30個字元,而社會安全號列允許11個字元(允許的字元數目中包括兩個破折號)。定長列不允許多於指定的字元數目。它們分配的儲存空間與指定的一樣多。因此,如果串ben儲存到30個字元的名字字段,則儲存的是30個字元,char屬於定長串型別。

變長串儲存可變長度的文字。有些變長資料型別具有最大的定長,而有些則是完全變長的。不管哪種,只有指定的資料得到儲存(額外的資料不儲存)text屬於變長串型別。

既然變長資料型別這樣靈活,為什麼還要使用定長資料型別?回答是因為效能。mysql處理定長列遠比處理變長列快得多。此外,mysql不允許對變長列(或乙個列的可變部分)進行索引。這也會極大地影響效能。

表1.串資料型別

資料型別

說 明char1~255個字元的定長串。它的長度必須在建立時指定,否則mysql假定為char(1)

enum接受最多64k個串組成的乙個預定義集合的某個串

longtexttext相同,但最大長度為4gb

mediumtexttext相同,但最大長度為16k

tinytexttext相同,但最大長度為255位元組

text最大長度為64k的變長文字

set接受最多64個串組成的乙個預定義集合的零個或多個串

varchar長度可變,最多不超過255位元組。如果在建立時指定為varchar(n),則可儲存0到n個字元的變長串(其中n

≤255

n \leq 255

n≤255)

數值資料型別儲存數值。mysql支援多種數值資料型別,每種儲存的數值具有不同的取值範圍。顯然,支援的取值範圍越大,所需儲存空間越多。此外,有的數值資料型別支援使用十進位制小數點(和小數),而有的則只支援整數。

有符號或無符號所有數值資料型別(除bitboolean外)都可以有符號或無符號。有符號數值列可以儲存正或負的數值,無符號數值類只能儲存正數。預設情況為有符號,但如果你知道自己不需要儲存負值,可以使用unsigned關鍵字,這樣做將允許你儲存兩倍大小的值。

表2.數值資料型別

資料型別

說 明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)的數

real4位元組的浮點值

smallint整數值,支援-32768~32767(如果是unsigned,為0~65535)的數

tinyint整數值,支援-128~127(如果是unsigned,為0~255)的數

表3.日期和時間資料型別

資料型別

說 明date表示1000-01-01~9999-12-31的日期,格式為yyyy-mm-dd

datetimedatetime的組合

timestamp功能和datetime相同(但範圍較小)

time格式為hh:mm:ss

year用2位數字表示,範圍是70(2023年)~69(2023年),用4位數字表示,範圍是2023年~2023年

二進位制資料型別可儲存任何資料(甚至包括二進位制資訊),如影象、多**、字處理文件等。

表4.二進位制資料型別

資料型別

說 明blobblob最大長度為64kb

mediumblobblob最大長度為16mb

longblobblob最大長度為4gb

tinyblobblob最大長度為255位元組

mysql 運算子 <=>,:=,@,@@的含義

運算子含義<=>安全比較運算子,用來做 null 值的關係運算

:==只有在setupdate時才是和:=一樣,賦值的作用,其它都是關係運算子等於的作用。:=不只在setupdate時賦值的作用,在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 ...