===
最常用的MySQL資料類型是VARCHAR, DECIMAL, DATE, INT, TEXT 和 TIMESTAMP。
第一個:
VARCHAR通常用來表示最多為255個字元的變數長度字串。如果你要儲存和處理字母數字類的資料,這種資料類型是最合適的。適用於這類資料的典型例 子包括人名,郵遞區號,電話號碼和不超過255個字元長度的任意字母數字組合。那些要用來計算的數字不要用VARCHAR類型儲存,因為可能會導致一些與 計算相關的問題。換句話說,可能影響到計算的準確性和完整性。
第二個:
DECIMAL最適合儲存那些將被用於計算的資料。在MySQL中,我們可以指定儲存一些正當的數字。還可以指定是否允許存在負值。
指定DECIMAL類型的長度會有些棘手。例如,如果你需要在小數點前面儲存五位元,且小數點後只保留三位,那麼在資料庫中其適當的長度將 是:Decimal(5+3,3)或 Decimal(8,3),可以使用的資料包括:12345.678,56872.690,11.6和12.568等。而這些數字則會引發出錯信 息:128781.1,8972865.231。
第三個:
建議用DATE資料類型來儲存日期。MySQL中預設的日期格式是yyyy-mm-dd。
第四個:
INT資料類型可以用來儲存那些不包含小數點的數字。INT代表整數。
有些整數類型以及他們最多所能擁有的數字位我們必須有所瞭解:
·TINYINT——這個類型最多可容納三位元。
·SMALLINT——最多可容納五位元。
·MEDIUMINT——最多可容納八位元。
·INT——可以容納十位元。
·BIGINT——最多可容納二十位元。
第五個:
TEXT可以接受文本輸入,VARCHAR只能接受255個字元,但是TEXT可以用來儲存超量的資料。
第六個:
當TIMESTAMP資料類型被選定,可以點擊“CURRENT_TIMESTAMP”作為預設,MySQL會自動返回每個MySQL資料插入的確切時間。
===
下面是一些推薦的資料庫設計規格:
1. 第一個數範圍:
要收集的資料:客戶姓名
推薦網域名稱:customername
MySQL資料類型:VARCHAR
允許的客戶名最大長度:64
2. 第二個數範圍:
要收集的資料:價格
推薦網域名稱:price
MySQL資料類型:DECIMAL
小數點前最多允許位元:4
小數點後保留到3位
最終的小數位長度:DECIMAL(4+3, 3) 或者 DECIMAL(7, 3)
不允許出現負值
3. 第三個數範圍:
要收集的資料:購買日期
推薦網域名稱:datepurchased
MySQL資料類型:DATE
最大長度:不可用
4. 第四個數範圍:
要收集的資料:產品序號
推薦網域名稱:productkey
MySQL資料類型:SMALLINT
該變數的最大長度:5
其他屬性:少於5時用0填補,不允許出現負值
5. 第五個數範圍:
要收集的資料:投訴細則
推薦網域名稱:complaintdetails
MySQL資料類型:TEXT
最大字元長度:取決於使用者的輸入情況
6. 第六個數範圍:
要收集的資料:投訴受理日期
推薦網域名稱:reveivingdate
MySQL資料類型:TIMESTAMP
其他屬性:為Current_Timestamp設定預設值,這樣它便可以記錄投訴的確切時間。
===
mysql中char和varchar有什麼區別?
char是一種固定長度的類型,varchar則是一種可變長度的類型,它們的區別是: char(M)類型的資料列裡,每個值都佔用M個位元組,如果某個長度小於M,MySQL就會在它的右邊用空白字元補足.(在檢索操作中那些填補出來的空白字元將被去掉)在varchar(M)類型的資料列裡,每個值只佔用剛好夠用的位元組再加上一個用來記錄其長度的位元組(即總長度為L+1位元組).在MySQL中用來判斷是否需要進行對據列類型轉換的規則 1、在一個資料表裡,如果每一個資料列的長度都是固定的,那麼每一個資料行的長度也將是固定的. 2、只要資料表裡有一個資料列的長度的可變的,那麼各資料行的長度都是可變的. 3、如果某個資料表裡的資料行的長度是可變的,那麼,為了節約儲存空間,MySQL會把這個資料表裡的固定長度類型的資料列轉換為相應的可變長度類型.例外:長度小於4個字元的char資料列不會被轉換為varchar類型