1. 程式人生 > 其它 >MySQL的基本資料型別

MySQL的基本資料型別

整型

  1、整型有四種

    tinyint smallint int bigint

  2、區別

    不同的int型別能夠儲存的數字範圍是不一樣的

    要注意是否存負數(正負號需要佔一個位元位)

    針對手機號碼只能用bigint

  3、正負號

    所有的int型別預設都需要正負號

create table t6(id tinyint unsigned);  # 移除正負號

  4、整型中括號內數字的作用

    在整型中括號內的數字並不是用來限制儲存的長度 而是用來控制展示的長度,在定義整型欄位的時候 不需要自己新增數字 使用預設的就可以

    整型比較的特殊 是唯一個不是用來限制儲存長度的型別

浮點型

  1、浮點型分類

    float(255,30) # 總共255位 小數位佔30位

    double(255,30) # 總共255位 小數位佔30位

    decimal(65,30) # 總共65位 小數位佔30位

  2、區別

    三者的精確度不一樣

    float < double < decimal

    具體情況具體使用

字元型別

  1、分類

    char(4)

      定長型別 最多隻能存四個字元 多了報錯少了自動空格填充至四個

    varchar(4)

      變長型別 最多隻能存四個字元 多了報錯少了有幾個則存幾個

  2、報錯修改

    針對5.6版本超出範圍不會報錯 而是自動幫你擷取並儲存(此行為不合理)

    方式1:

      修改配置檔案(永久)

    方式2:

      命令修改(暫時)

show variables like '%mode%'
set session  # 當前視窗有效
set global  # 當前服務端有效
set gloabl sql_mode = 'strict_trans_tables'
修改完畢後退出客戶端重新進入即可  

  3、char於varchar區別

    char;

      優勢:整存整取 速度快

      劣勢:浪費儲存空間

    varchar;

      優勢:節省儲存空間

      劣勢:存取資料的速度較char慢

  4、註釋(comment)

    在建立欄位的時候可以加上相應的註釋

create table t12(
    id int comment '序號',
    name char(4) comment '姓名'
);

列舉(enum)

  多選一

enum()
    create table user(
        id int,
        name varchar(32),
        gender enum('male','female','others')
    );
    insert into user values(1,'jason','');  # 報錯
    insert into user values(1,'jason','male');  # 正常

集合(set)

  多選多(包含了多選一)

set()
    create table userinfo(
        id int,
        name char(16),
        hobby set('basketball','football','doublecolorball')
    );

日期型別

date        年月日
datetime    年月日時分秒
time        時分秒
year        年份

  例子

create table client(
    id int,
    name varchar(32),
    reg_time date,
    birth datetime,
    study_time time,
    join_time year
);
insert into client values(1,'jason','2000-11-11','2000-1-21 11:11:11','11:11:11',1995);