mysql數值類型
一.字符類型:
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數值類型