003 mysql 資料型別

2021-08-22 07:30:25 字數 3888 閱讀 6180

2、string types(字串型別)

以上均可以插入,插入後 a 變成了 a。

以上均可以插入,插入後大寫都會變成小寫。

位:bit,位元位,乙個二進位制數字0或1就是乙個位。

位元組:byte(簡記b),1byte=8bit,1byte就是1b。

》ascii碼:ascii碼字元,共128個字元,任何乙個字元佔1個位元組。

》unicode:ascii字符集的擴充套件集,共65536個字元,任何乙個字元都佔2個位元組。

》gbk:數字、英文本母佔1個位元組,漢字佔2個位元組

》utf-8:數字、英文本元佔1個位元組,乙個中文字元(含繁體、中文標點)等於3個位元組。

數值型別:預設為有符號(signed)數值。

整型:tinyint,smallint,mediumint,int,bigint

type

storage (bytes)

minimum value signed

minimum value unsigned

maximum value signed

maximum value unsigned

tinyint1

-1280127255

smallint2

-3276803276765535

mediumint3

-83886080838860716777215

int4

-2147483648021474836474294967295

bigint8

-263

0263-1264-1

> 【注意】 > 1)定義字段 int(n) 時,如果將該字段定義為 zerofill,則無需定義 n,否則定義了也等於沒有定義,字段取值範圍仍然是 int 型別允許的取值範圍。其他整型欄位亦同。 > 2)儲存資料時,如果儲存值大於了字段允許的最大值,則儲存時將會儲存最大值在資料庫裡(寬鬆模式下--sql_model)。

浮點型:float,double,decimal

float/double/decimal(m,n):一般來說,m 表示總長度(不包括小數點),n 是小數字數。

【注意】

decimal:儲存精確的小數。即不會進行舍五入。

精確數值型別:整型(integer)、decimal。

字串型別:char、varchar、enum、set、blob、text、binary、varbinary

char(n):n 是允許字元的長度,預設為 1,最大 255。n 為 0 ~255 之間的整數。待續…

varchar(n):n 是允許字元的長度,必須顯示指定,最大 21844。n 為 0~65535 之間的整數。待續…

char 與 varchar 比較:

type

寫法m 的意思

特點空間耗費

效率char

char(m)

最大字元數,可以省略,預設為 1

固定長度的字元

比較耗費

varchar

varchar(m)

最大字元數,不可以省略

可變長度的字元

比較節省

enum 型別又稱列舉型別,要求插入的值必須屬於列表中指定值之一。

插入時不區分大小寫。

根據成員個數不同,儲存所佔的位元組也不同:

成員數

位元組數

1~2551255~655352 > 最多需要 65535 個成員。 ``` create table tab( c1 enum('a','b','c') );

insert into tab values(『a』);

insert into tab values(『b』);

insert into tab values(『c』);

insert into tab values(『a』);

### 2.4 set 型別

> set 型別和 enum 型別類似,裡面可以儲存 0~64個成員。

> set 型別一次可以選取多個成員,而 enum 只能選取乙個成員。

>  

> 根據成員個數不同,儲存所佔的位元組也不同:

>

成員數位元組數

1~8

19~16

217~24

325~32

433~64

8

create table tab(

c1 set(『a』,『b』,『c』)

);insert into tab values(『a』);

insert into tab values(『b』);

insert into tab values(『a,b』);

insert into tab values(『a,b,c』);

## 3、日期型別

> timestamp 和實際時區有關,更能反映實際的日期,而 datetime 則只能反映出插入資料時的當地時區。

> timestamp 的屬性受 mysql 版本和 sqlmode 的影響很大。

>

型別位元組

最小值最大值

date

41000-01-01

9999-12-31

datetime

81000-01-01 00:00:00

9999-12-31 23:59:59

timestamp

419700101080001

2023年的某個時刻

time

3-838:59:59

838:59:59

year

11901

2155

## 4、其他

略......

PoEdu 反彙編003 資料型別

c c 語言中,資料型別有很多,常用的 int long short char以及他們的unsigned型。我們熟知,int long都是占用32位 4位元組 short佔16位 2位元組 int和long的範圍為0x00000000 0x7fffffff 0x80000000 0xffffffff...

mysql資料型別用法 mysql資料型別和用法

歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...

mysql 資料型別 真假 MySQL 資料型別

mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...