Mysql Mysql資料型別

2021-10-10 05:21:41 字數 1601 閱讀 5024

在設計表時,應該特別重視所用的資料型別。使用錯誤的資料型別可能會嚴重地影響應用程式的功能和效能。 更改包含資料的列不是一件小事(而且這樣做可能會導致資料丟失)。最常見資料型別:整型、浮點型、字串、日期等

1.1 定長串:char

接受長度固定的字串,其長度是在建立表時指定的。 定長列不允許儲存多於指定長度字元的資料。

指定長度後,就會分配固定的儲存空間用於存放資料

char(7) 不管實際插入多少字元,它都會占用7個字元位置
1.2 變長串 varchar儲存可變長度的字串 varchar(7) 如果實際插入4個字元, 那麼它只佔4個字元位置,當然插入的資料長度不能超過7 個字元。

既然變長資料型別這樣靈活,為什麼還要使用定長資料型別? 

回答:因為效能,mysql處理定長列遠比處理變長列快得多。

1.3 其他

mysql支援多種數值資料型別,每種儲存的數值具有不同的取值範圍。支援的取值範圍越大,所需儲存空間越多與字串不一樣,數值沒必要括在引號內。

decimal(5, 2) 表示數值總共5位, 小數佔2位 

tinyint 1位元組(8位) 0-255。-128,127

int 4位元組。 -21億,21億。0-42億

mysql中沒有專門儲存貨幣的資料型別,一般情況下使用decimal(8, 2)

但是int還是可以加數字的。

int(4) unsigned zerofill 這時候會給int乙個假定寬度。

如果int長度小於4位,那麼會在前面補足0,比如1會變成0001。

只有當給int型別設定有前導零時,設定int的寬度才有意義。

-unsigned 無符號(給數值型別使用,表示為正數,不寫可以表示正負數都可以)

-欄位型別後面加括號限制寬度

char(5). varchar(7) 在字元型別後面加限制 表示 字串的長度

int(4) 一般沒有意義,預設無符號的int為int(11),有符號的int(10)

int(4) unsigned zerofill只有當給int型別設定有前導零時,設定int的寬度才有意義。

-not null 不能為空,在運算元據庫時如果輸入該字段的資料為null ,就會報錯

-default 設定預設值

-primary key 主鍵不能為空,且唯一.一般和自動遞增一起配合使用。

-auto_increment 定義列為自增屬性,一般用於主鍵,數值會自動加1

-unique 唯一索引(資料不能重複:使用者名稱)可以增加查詢速度,但是會降低插入和更新速度

MySQL MySQL資料型別總結

資料型別是定義列中可以儲存什麼資料以及該資料實際怎樣儲存的基本規則。資料型別用於以下目的 資料型別允許限制可儲存在列中的資料。資料型別允許在內部更有效地儲存資料。資料型別允許變換排序順序。串資料型別儲存串,如名字,位址,號碼,郵政編號等等。有兩種基本的串型別 定長串和變長串。串資料型別 資料型別 說...

Mysql Mysql資料型別彙總

mysql資料型別 含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 2147483647 ...

mysql mysql部分資料型別

1.數值 型別位元組大小 signed unsigned tinyint 1 128 127 0 255 smallint 2 32768 32767 0 65535 mediumint 3 8388608 8388607 0 16777215 int integer 4 2147483648 21...