標籤:定義 建表 長度 年齡 mil 大小 類型 不能 姓名
一.字元類型:
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數實值型別