MySQL學習筆記(5)之數據定義類型

數據定義類型總彙

1、整數型:

整數類型

字節

有符號範圍

無符號範圍

用途

tinyint

1

(-128,127)

(0,255)

小整數

smallint

2

(-32 76832 767)

(065 535)

大整數

mediumint

3

(-8 388 6088 388 607)

(016 777 215)

大整數

intinteger

4

(-2 147 483 6482 147 483 647)

(04 294 967 295)

超大整數

bigint

8

(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)

(018 446 744 073 709 551 615)

極大整數


2、字段定義方法:

Tinyint(寬度)

Unsigned無符號整數。

Zerofill左側補0,必須爲正數。

[null/not null]是否允許爲NULL

dfault 默認值。

Auto_increment自動增量

Primary key主鍵

寬度不代表限制取值範圍。

 

3、主鍵:

一般主鍵爲整數,主鍵是索引的一種。

一個表只能有一個主鍵,主鍵可由一列或多列組成(複合主鍵)。

Primary key = not null + unique

 

主鍵存在的方式:

1.唯一主鍵。如用戶ID和學生學號......

2.複合主鍵。如主機地址+端口號 主鍵。

3.增加一個ID字段作爲主鍵。如ID = 0 , +∞)

 

4、浮點數:

浮點數類型

字節

特點

定義(M=有效位數,D=小數位數)

Float

4

單精度

Float(M,D)

Double

8

雙精度

Double(M,D)

Decimal

[M/D]+2

嚴格浮點數

Decimal(M,D)


 5、字符串:

不能插入超過L長度的字符串,L是字符數不是字節數。

定長字符串:設輸入數爲NN<=L

Char(L)L<=255N<L時,用空格補齊,實佔空間爲L。速度快

邊長字符串:

Varchar(L)L<=65535(ascii)=22000(utf8) 當N<L,實佔空間爲N+(1~2)字節。

 

 6、大文本類型:

字節根據編碼去換算課存多少漢字。

utf8/3=?Gbk/2=?

類型名

字節

tinytext

0 ~ 255

Text

0 ~ 65535

mediuntext

0 ~ 2^24-1

longtext

0 ~ 2^32-1


 7、二進制大對象類型:

Blob

保存二進制內容,如 圖片、視頻、音樂 .......等等。

 

 8、枚舉類型:

Enum (‘值1’,‘值2’,......

保存單選數據,只能選定義過的數據。

 

 9、集合類型:

不支持NULL

Set 成員 max 64

格式:set (‘a’,‘b’,‘c’,......not null

 

10、時間類型:

類型

字節

範圍

格式

用途 

datetime

4

1000-01-01/9999-12-31 

YYYY-MM-DD

 日期值 

time

3

 -838:59:59/838:59:59 

HH:MM:SS

時間值

year

1

1901/2155

YYYY

年份值

datetime

8

1000-01-01 00:00:00/9999-12-31 23:59:59

YYYY-MM-DD HH:MM:SS

年份時間值

timestamp

4

1970-01-01 00:00:00/2037 年某時 

YYYYMMDD HHMMSS

時間戳


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章