MySQL資料型別 資料型別選擇

2021-07-30 03:31:58 字數 2291 閱讀 3278

在mysq中建立表時,需要考慮為字段選擇哪種資料型別是最合適的。選擇合適的資料型別,會提高資料庫的效率。

整數型別和浮點數型別最大的區別在於能否表達小數。整數型別不能表示小數,而浮點數型別可以表示小數。不同的整數型別的取值範圍不同。

tinyint型別的取值範圍是0~255。如果欄位的最大值不超過255,那選擇tinyint型別就足夠了。bigint型別的取值範圍最大,

最常用的整數型別是int型別。

浮點型型別包括float型別和double型別。double型別的精度比float型別高。

如果需要精確到小數點後10以上,就應該選擇double型別,而不應該選擇float型別。

對於浮點數和定點數,當插入值的精度高於實際定義的精度,系統會自動進行四捨五入處理。其目的是為了使該值的精度達到要求。浮點數進行四捨五入不會報警,定點數出現警告。

在未指定精度的情況下,浮點數和定點數有其預設的精度。float型別和double型別缺省會儲存實際精度。這個精度與作業系統和硬體的精度有關。decimal型別預設整數字為10, 小數字為0,即預設為整數。

在mysql中,定點數精度比浮點數要高。而且,浮點數會出現誤差。

如果要對資料的精度要求比較高,應該選擇定點數。

char型別的長度是固定的,而varchar型別的長度是在範圍內可變的。因此,varchar型別占用的空間比char型別小。而且,varchar型別比char型別靈活。

對於長度變化比較大的字串型別,最好選擇varchar型別。

雖然,char型別的占用空間比較大,但是char型別的處理速度比varchar快。因此,

對於長度變化不大和查詢速度要求較高的字串型別,最好選擇char型別。4、

year型別只表示年份。

如果要記錄年份,選擇year型別可以節約空間。time型別只表示時間。

如果只需要記錄時間,選擇time型別最合適的。date型別只表示日期。

如果只需要記錄日期,選擇date型別是最合適的。

如果需要記錄日期和時間,可以選擇datetime和timestamp型別。datetime型別表示的時間範圍比timestamp型別大。因此,若需要的時候範圍比較大,選擇datetime型別比較合適。timestamp型別的時間是根據時區來顯示的。如果需要顯示的時間與時區對應,那就應該選擇timestamp型別。

enum型別最多可以有65535個成員,而set型別最多只能包含64個成員。兩者的取值只能在成員列表中選取。

enum型別只能從成員中選擇乙個,而set型別可以選擇多個。

因此,對於多個值中選取乙個的,可以選擇enum型別。例如,"性別"欄位就可以定義成enum型別,因為只能在 "男"和"女"中選取其中乙個。對於可以選取多個值的字段,可以選擇set型別。例如,"愛好"欄位就可以選擇set型別,因為可能有多種愛好。

text型別和blob型別很類似。text型別只能儲存字元資料。而blob型別可以儲存二進位制資料。

如果要儲存文章等純檔案的資料,應該選擇text型別。

如果需要儲存等二進位制的資料,應該選擇blob型別。

text型別包括tinytext、text、mediumtext和longtext型別允許的長度最大。blob型別也是如此。

1. mysql中什麼資料型別能夠儲存路徑?

答:mysql中,char、varchar、text等字串型別都可以儲存路徑。但是,如果路徑中使用"\"符號時,這個符號會被過濾。解決辦法是,路徑中用"/"或者"\\"來代替"\"。這樣mysql就不會自動過濾路徑分隔字元,可以完整的表示路徑。

2. mysql中如何使用布林型別?

答:在sql標準中,儲存bool和boolean型別。mysql為了支援sql標準,也是可以定義bool和boolean型別的。但是,bool和boolean型別最後換成是tinyint(1)。也就是說,在mysql中,布林型別等價於tinyint(1)。因此,建立表時將乙個字段定義成bool和boolean型別,資料庫中真實定義的是tinyint(1)。

create table if not exists `test`.`bool_tbl`(

`a` bool,

`b` boolean

);insert into `test`.`bool_tbl`

values(true, false), (false, false), (true, true);

select * from `test`.`bool_tbl`;

3. mysql中如何儲存jpg和*****?

答:一般情況下,資料庫中不直接儲存和**檔案。而是儲存和檔案的路徑。如果實在需要在mysql資料庫中儲存和音訊檔案,就選擇blob型別。因為,blob型別可以用來儲存二進位制型別的檔案。

MySQL資料型別選擇

在資料庫設計的時候,如果資料型別選擇不當,可能會對效能造成很大的影響,比如儲存姓名的字段,如果選擇vchar 255 那麼暫用更多的儲存空間,同時也會對io產生影響,因此在資料庫設計時對資料庫資料型別的準確選擇,也會對資料庫的效能有乙個很大的提公升。我在工作中就遇到過很多時候一些開發人員不注意對資料...

mysql 資料型別選擇

1.1char與varchar 由於char是固定長度的,所以訪問速度比varchar快。缺點是浪費儲存空間,程式需要對行尾進行處理,所以對那些長度變化不大,並且對查詢速度有較高要求的資料可以通過char來訪問。當然這個也是由不同的儲存引擎來決定的。myisam 儲存引擎 建議使用固定長度的資料列代...

mysql 資料型別選擇 Mysql欄位型別選擇

1.欄位型別選擇 1.1盡量少的佔據儲存空間 int整形 年齡 tinyint 1個位元組 0 255之間 烏龜年齡 smallint 2個位元組 0 2的16次方 mediumint 3個位元組 0 2的24次方 int 4個位元組 0 2的32次方 bigint 8個位元組 0 2的64次方 時...