mysql表示字段 MySQL欄位型別

2021-10-18 10:06:16 字數 2440 閱讀 2715

1 字段型別

字段型別分別為:數值型別、字串型別、日期時間型別。

1.1 數值型別

數值型別分為整數型別和小數型別。整數型別為tinyint、smallint、mediumint、int、bigint。小數型別分為浮點型和定點型,有float、double、decimal。

1.1.1 tinyint

迷你整形,系統採用1個位元組來儲存。最大能表示的值為0-255(2^8 - 1)

1.1.2 smallint

小整形,系統採用2個位元組來儲存。最大能表示的值為0-65535(2^16 – 1)。

1.1.3 mediumint

中整形,系統採用3個位元組來儲存。最大能表示的值為2^24 – 1。

1.1.4 int

整形,系統採用4個位元組來儲存。最大能表示的值為2^32 – 1。

1.1.5 bigint

大整形,系統採用8個位元組來儲存。最大能表示的值為2^64 – 1。

1.1.6 float

float又稱之為單精度型別,系統採用4個位元組來儲存。但是能表達的範圍要比整形大的多,大概是10^38。單精度浮點,精確到大約為7位。

1.1.7 double

double又稱之為雙精度型別,系統採用8個位元組來儲存。表示的範圍更大,大概是10^308。精度為大約15位。

1.1.8 decimal

decimal又稱之為定點數,系統自動根據儲存的資料來分配儲存空間。大概9個數就會分配4個位元組來儲存,同時小數字和整數字是分開儲存的。

decimal(m, d):m表示總長度,最大值不能超過65,d代表小數部分長度,最長不能超過30。

1.2 字串型別

1.2.1 char

定長字元,指定長度之後,系統會分配指定的空間用於儲存資料。

基本語法:char(l),l代表字元數(英文和中文一樣),l為0-255。

1.2.2 varchar

變長字元,指定長度後,系統根據實際儲存的資料來計算長度,分配合適的長度(資料沒有超出長度)。

基本語法:varchar(l),l代表字元數,l的理論長度為0-65535。

因為varchar要記錄資料長度,所以每個varchar資料產生後,系統都會在資料後面增加1-2個位元組的額外開銷,是用來儲存資料所占用的空間長度。

char和varchar的區別:

char一定會使用指定的空間,而varchar是根據資料來定空間。

char的資料查詢效率比varchar高。varchar是需要通過後面的記錄數來計算的。

1.2.3 text

普通的字元文字。

在選擇字元儲存的時候,如果資料超過255個字元,那麼一定選擇text儲存。

在選擇對應的儲存文字的時候,不用刻意去選擇text型別,系統會自動根據儲存的資料長度來選擇合適的文字型別。

1.2.4 enum

列舉型別。

語法:enum(資料值1,資料值2…)

空間:如果資料值列表在255個以內,那麼乙個位元組就夠,如果超過255但是小於65535,那麼系統採用兩個位元組儲存。

1.2.5 set

集合:是一種將多個資料選項可以同時儲存的資料型別,本質是將指定的項按照對應的二進位制位來進行控制:1表示該選項被選中,0表示該選項沒有被選中。

語法:set(『值1』,』值2』,』值3』…)

系統為set提供了多個位元組進行儲存,但是系統會自動計算來選擇具體的儲存單元

1個位元組:set只能有8個選項

2個位元組:set只能有16個選項

3個位元組:set只能表示24個選項

8個位元組:set可以表示64個選項

set和enum一樣,最終儲存到資料字段中的依然是數字而不是真實的字串

1.3 日期時間型別

1.3.1 date

日期型別,系統採用3個位元組來儲存,對應的格式為yyyy-mm-dd,能表示的範圍是1000-01-01到9999-12-12。初始值為0000-00-00

1.3.2 time

時間型別,能夠表示某個指定的時間,系統採用3個位元組來儲存。對應的格式為hh:ii:ss,但是mysql中time能表示的範圍要大的多,能表示-838:59:59-838:59:59。用處是描述時間段。

1.3.3 datetime

日期時間型別,就是將前面的date和time合併起來,表示的時間,使用8個位元組來儲存。

格式為:yyyy-mm-dd hh:ii:ss,能表示的區間為1000-01-01 00:00:00到9999-12-12 23:59:59,其值可以為0值:0000-00-00 00:00:00

1.3.4 timestamp

時間戳型別,表示從格林威治時間開始。

格式為:yyyy-mm-dd hh:ii:ss。其值表示的區間為:1970-01-01 00:00:00 到 2038-01-19 03:14:07

1.3.5 year

年型別,採用1個位元組來儲存。能表示1900-2155。

mysql 字段位元組 MySql欄位型別及位元組

字段型別 tinyint 乙個很小的整數。有符號的範圍是 128到127,無符號的範圍是0到255。smallint 乙個小整數。有符號的範圍是 32768到32767,無符號的範圍是0到65535。mediumint 乙個中等大小整數。有符號的範圍是 8388608到8388607,無符號的範圍是...

mysql欄位公式 MySQL(四)欄位及常用函式

一 字段 資料庫表中的每一行叫做乙個 記錄 每乙個記錄包含這行中的所有資訊,但記錄在資料庫中並沒有專門的記錄名,常常用它所在的行數表示這是第幾個記錄。在資料庫中存放在表行列交叉處的資料叫做 值 它是資料庫中最基本的儲存單元,它的位置要由這個表中的記錄和字段來定義。1 字段 filed 與物件或類關聯...

mysql set欄位 MySQL的SET欄位型別

set是乙個字串物件,可以有零或多個值,其值來自表建立時規定的允許的一列值。指定包括多個set成員的set列值時各成員之間用逗號 間隔開。這樣set成員值本身不能包含逗號。例如,指定為set one two not null的列可以有下面的任何值 one two one,two set最多可以有64...