1.文字型別
char
用法:char(length)
char型別最大長度是255個字元。當插入到表中的字串的長度小於length時候,將給字段右邊不夠的部分用空格填補。
varchar
用法:varchar(length)
varchar的最大長度是255個字元。varchar和char幾乎一樣,區別在於varchar是變長的型別,不會填補空格。
tinytext
用法:tinytext
tinytext最大長度是255字元。
text
用法:text
text最大長度是65535(2的17次方)字元。
mediumtext
用法:mediumtext
mediumtext最大長度是16777215個字元。
longtext
用法:longtext
longtext最大長度是4294976259個字元。
(tinytext,text,mediumtext,longtext這四種型別,都是可邊長字段型別,與varchar一樣,只是最大長度不同而已)
enum
用法:enum('value1','value2','value3',....)[default 'value']
使用enum的時候,可以限制插入的值只能是括號裡包含的值列表中的乙個,同時也可以用可選的default 'value'指定預設情況下的值。
set用法:set('value1','value2','value3',...)[default 'value']
使用set的時候,可以限制插入的值只能是括號裡包含的值列表中的乙個或多個,同時也可以用可選的default 'value'指定預設情況下的值。
2.數字型別
int/integer
用法:int(display size)[unsigned][zerofill]
tinyint
用法:tinyint(display size)[unsigned][zerofill]
mediumint
用法:mediumint(display size)[unsigned][zerofill]
bigint
用法:bigint(display size)[unsigned][zerofill]
float
//用法:float()[zerofill]
用法:float[(m,d)][zerofill]
表示乙個小的浮點數(單精度),不能是無符號數。m表示顯示寬度,d表示精度。
double
用法:double[(m,d)][zerofill]
表示乙個雙精度浮點數,不能是無符號數。m表示顯示寬度,d表示精度。
decimal/numeric
用法:decimal[(m[,d])][zerofill]
decimal列中的數字被儲存為字元,每個數字被儲存為乙個字串,每個字元代表值的每一位數。如果d為0則表示沒有小數點。decimal的最大範圍和double一樣,但是實際的範圍是給定的引數m指定的,如果省略m,則m為0。
3.日期和時間類
date
用法:date
date型別以yyyy-mm-dd格式儲存資料。它允許1000-01-01到9999-12-31之間的值。
datetime
用法:datetime[null | not null][default]
datetime型別以yyyy-mm-dd hh:mm:ss格式儲存資料。
timestamp
用法:timestamp(format)
format可以是2到14間的任意數字。
下面是format數字的對照列表:
2 yy
4 yymm
6 yymmdd
8 yyyymmdd
10 yymmddhhmm
12 yymmddhhmmss
14 yyyymmddhhmmss
time
用法:time
以hh:mm:ss格式儲存時間資料。
year
用法:year[(2 | 4)]
用2位數字格式,允許的日期是1970到2069之間的年份。(79到99的前面加19,01到69的前面加20)
用4為數字格式允許1901到2155之間的值。
資料庫字段設計的一些建議
在資料庫開發的時候,表之間的聯絡,可以用外來鍵 外來鍵可以帶來資料的完整性和一致性。但其缺點也是顯而易見的,會讓開發的難度增大。本人不討論是否使用外來鍵。因為它的作用和麻煩程度相信大家都有自己的判斷。我想討論的是,在不使用外來鍵的情況下,通過規則來使表之間存在聯絡。比如,一張資料庫,有使用者,有他所...
mySql資料庫的一些操作
mysql下讀取表中字段的說明和備註資訊 在mysql下執行完下面這個建表語句後。如何從資料字典中,檢索出這個表的字段的相關資訊?drop table if exists test table create table test table test id int not null auto inc...
mysql資料庫一些常規操作
1.為指定mysql使用者指定表授權 grant select,insert,update,delete on testdb.orders to dba localhost 2.檢視當前mysql所有使用者 select distinct concat user user,host,as query...