1. 程式人生 > >mysql數值類型

mysql數值類型

愛好 註冊 字段 表示 desc mss birt 要求 補齊

一.字符類型:

1.普通字符類型 一般用於存儲:姓名 家庭地址 籍貫

關鍵指令 最大字符長度 特性

char 255(個字符) 定長 (固定長度)

varchar 65532 (個字符 ) 變長 (必須給一個值)

相同點:

超出最大固定格式字符無法寫入數據。

不同點:

Char:定長輸入不夠指定字符數時在右邊用空格自動補齊,

不檢查效率高,不給值有默認值1.(工作用的最多)

Varchar:變長按輸入的字符數實際大小分配存儲空間,檢

查效率底,必須給一個值。(一般用在郵箱 、qq號)

2.大文本類型 一般存儲 :視頻、音頻、圖片

關鍵指令 最大字符長度

text 大於65535

blob 大於65535

二、數值類型:整型 18 21 101 、浮點型 2.78 33.66

技術分享圖片

1.數值類型 : 年齡 成績 身高 體重 工資

整型:根據存儲數字的範圍又 劃分為如下類型。

  整型分: 無符號 : +11 等於 11 (+號可忽略不記)

     有符號 : -17

範圍分:

         指令 有符號存儲範圍 無符號存儲範圍

        tinyint :微小整數     -128~127 0-255(unsigned)

        smallint :小整數

        mediumint:中整數

        int :大整數    0~224-1

        bigint :極大整數

        備註:如果不讓出現負數要加unsigned。

數值類型的寬度,是顯示寬度,不能夠控制給字段賦值,字段值的大小由類型決定。

三、浮點型 (能存儲帶小數點的數) 19.23 21.75

定義格式 :float (n,m) n:表示總位數。

double(n,m) m:表示小數位數。

當字段值與類型不匹配時,字段值作為0處理;

數值超出範圍時,僅保存最大/最小值。

四、日期時間類型

一般用於:註冊時間 上課時間 開會時間 生日 入職日期

年的指令: year YYYY 2017 占用1個字節

日期的指令:date YYYYMMDD 20170619 占用4個字節

時間的指令:time HH:MM:SS 160258 占用3個字節

日期時間的指令:datetime YYYYMMDDHHMMSS 201706191602

占用8個字節 如果不給datetime字段賦值時,默認值為null

日期時間的指令:timestamp YYYYMMDDHHMMSS 20170619160258

占用4個字節 如果不給timestamp字段賦值時,自動以當前系統時間賦值

mysql> create table t14(name char(10), # 姓名類型10個字符長度

-> age tinyint(2) unsigned, # 年齡類型是整數不能是復數

-> pay float(7,2), #

-> s_year year, #年

-> birthday date, #生日日期

-> up_class time, #時間

-> meetting datetime #日期+時間

-> ); #創建表

mysql> desc t14;

datetime與timestamp 的區別

1.賦值的類型不一樣。

2.賦值的方式不一樣。

timestamp 當不給賦值的時候他自動獲取系統時間。

Datetime 當不給賦值的時候他默認為NULL(空)

五、使用時間函數給日期時間類型字段賦值

now() #獲取系統的當前時間。

year() #獲取指定日期裏的 年。

date() #獲取日期

month() #獲取月

day() #獲取幾號

time() #獲取時間

六、枚舉類型 性別 專業 科目 愛好

(字段值只能在列舉的範圍內選擇)

單選的指令:enum (值列表:值1,值2,值n)

多選的指令:set (值列表:值1,值2,值n)

例題:

mysql> create table t9(

-> name char(5), #名字 字符型,寬度5

-> sex enum("boy","girl","no"), #性別 只能選一個 男 女 不允許為空

-> homeaddr varchar(20), #描述信息

-> age tinyint unsigned, #年齡 無符號的微小型整數

-> likes set("game","film","music","book","it"),

#愛好可以選擇多個

-> pay float(7,2), #學費

-> s_year year, # 出生年份

-> birthday date, #生日 日期

-> up_time time, #上課時間

-> meettint datetime #

-> );

字段約束條件:功能限制如何給字段賦值

字段約束條件有四塊:

Null 字段是否允許賦空值 空 默認允許賦空值

not null 不允許為空

Key 索引類型

Default 字段的默認值,默認值的值是null(空)

不給字段賦值值使用默認值給字段賦值

設置默認值: default 值(要匹配要求)

Extra 額外設置(自動增長)

mysql數值類型