mysql的數(shù)據(jù)類型

數(shù)值類型

一、整數(shù)

  • Tinyint 1個(gè)字節(jié)
  • Smallint 2個(gè)字節(jié)
  • Mediumint 3個(gè)字節(jié)
  • int 4個(gè)字節(jié)
  • Bigint 8個(gè)字節(jié)
  • 以上都可以是有符號(hào)類型或者無符號(hào)類型
  • 如何設(shè)置有符號(hào)和無符號(hào):默認(rèn)是有符號(hào)的,添加unsigned設(shè)置為無符號(hào)類型
create table tab_int{
  num1 int,
  num2 int unsigned
};
  • 如果插入的值超過了類型的范圍,則會(huì)報(bào)異常,并插入臨界值
  • 如果不設(shè)置長(zhǎng)度,會(huì)有默認(rèn)的長(zhǎng)度,如果想設(shè)置的話可以自己設(shè)置(如下
    ),但是此處的長(zhǎng)度與int的范圍無關(guān),表明當(dāng)長(zhǎng)度不足x時(shí),使用0進(jìn)行填充;設(shè)置長(zhǎng)度時(shí)需要搭配zerofill,且同時(shí)會(huì)強(qiáng)制變?yōu)闊o符號(hào)
create table tab_int{
  num int(7) zerofill
};

二、小數(shù):定點(diǎn)數(shù)+浮點(diǎn)數(shù)

  • 浮點(diǎn)數(shù):float(M,D) 4個(gè)字節(jié)。double(M,D) 8個(gè)字節(jié)
  • 定點(diǎn)數(shù):decimal(M,D) 8個(gè)字節(jié)
  • M=整數(shù)個(gè)數(shù)+小數(shù)的個(gè)數(shù),D表示小數(shù)的個(gè)數(shù),超過的話顯示臨界值
  • M和D都可以省略,如果是decimal類型的話,默認(rèn)M=10 D=0;如果是float和double類型的話,則會(huì)根據(jù)插入數(shù)據(jù)的精度來決定
  • 相比較之下,定點(diǎn)數(shù)的精度較高
  • 類型的選擇:所選擇的類型越簡(jiǎn)單越好,能保存數(shù)值的類型越小越好

字符類型

一、較短的文本:char,varchar

  • char(M), varchar(M) M表示能夠存儲(chǔ)的最大字符數(shù)
  • char 固定長(zhǎng)度的字符,長(zhǎng)度可以省略且默認(rèn)為1,相對(duì)比較耗空間,但是效率較高
  • varchar 可變長(zhǎng)度的字符,長(zhǎng)度不可以省略,相對(duì)比較節(jié)省空間,但是效率較低

二、枚舉類型

create table tab{
  c1 enum('a', 'b' ,'c')
};

三、較長(zhǎng)的文本:text、blob(較長(zhǎng)的二進(jìn)制數(shù)據(jù))

日期類型

  • date 只有日期
  • time 只有時(shí)間
  • datetime 日期+時(shí)間
  • year 只有年
  • timestamp 日期+時(shí)間
  • datetime和timestamp的比較:datetime支持的時(shí)間范圍較大,timestamp支持的時(shí)間范圍較??;timestamp的時(shí)間更為準(zhǔn)確
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容