MySQL資料庫中的一些字段型別解釋

2021-08-30 18:59:28 字數 2163 閱讀 5709

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