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...