時間日期類型:
datetime:時間日期,格式是YYYY-mm-dd HH:ii:ss赁温,表示的范圍是從1000到9999年坛怪,有0值(0000-00-00 00:00:00)
timestamp:時間戳,但并不是時間戳股囊,只是從1970年開始的袜匿,YYYY-mm-dd HH:ii:ss格式與datetime完全一致
year:年份,有兩種形式:year(2)和year(4)
-- 創(chuàng)建時間日期表
create table my_date(
d1 datetime,
d2 date,
d3 time,
d4 timestamp,
d5 year
)charset utf8;
-- 插入數(shù)據(jù)
insert into my_date values('2020-2-12 10:30:18','2020-2-12','10:30:18',
? '2020-2-12 10:30:18',2020);
-- 時間使用負(fù)數(shù)
insert into my_date values
('2020-2-12 10:30:18','2020-2-12','-10:30:18',
? '2020-2-12 10:30:18',2020);
insert into my_date values
('2020-2-12 10:30:18','2020-2-12','-210:30:18',
? '2020-2-12 10:30:18',2020);
insert into my_date values
('2020-2-12 10:30:18','2020-2-12','-2 10:30:18',
? '2020-2-12 10:30:18',2020);-- -2表示過去兩天怪嫌,就是四十八個小時
-- year可以使用兩位或者四位
insert into my_date values
('2020-2-12 10:30:18','2020-2-12','10:30:18',
? '2020-2-12 10:30:18',69);
insert into my_date values
('2020-2-12 10:30:18','2020-2-12','10:30:18',
? '2020-2-12 10:30:18',70);
-- timestamp:修改記錄
update my_date set d1='2020-02-12 20:20:20' where d5=2069;
-- 使用函數(shù)獲取時間戳
select unix_timestamp();
字符串類型
字符串類型分為:char、varchar其屏、text喇勋、blob缨该、enum偎行、set(用的最多前三個)
char(定長字符串):磁盤(二維表)在定義結(jié)構(gòu)的時候,就已經(jīng)確定了最終數(shù)據(jù)的存儲長度? ?贰拿,效率高蛤袒,磁盤空間大
適用于:身份證,電話號碼膨更,手機(jī)號妙真,郵編
char(L):L代表Length,可以存儲的長度荚守,單位為字符珍德,最大長度值可以為255
varchar(變長字符串):在分配空間的時候,按照最大的空間分配矗漾,但是實際上最終用了多少锈候,是根據(jù)具體的數(shù)據(jù)來確定
適用于:收貨地址,人名敞贡,郵箱等
varchar(L):L表示字符長度泵琳,理論長度是65536個字符,但是會多出1到2個字節(jié),來確定存儲的實際長度
文本字符串:如果數(shù)據(jù)量非常大获列,通常超過255個字符就會使用文本字符串
文本字符串根據(jù)存儲的數(shù)據(jù)的格式分為:
text:存儲文字谷市、存儲二進(jìn)制數(shù)據(jù)的文件路徑
blob:存儲二進(jìn)制(圖片,視頻击孩,音頻)數(shù)據(jù)(通常不用)
枚舉字符串(enum)
枚舉的使用方式:
enum(可能出現(xiàn)的元素列表);
例如:enum('男','女','不男不女','妖怪','保密');
使用:存儲數(shù)據(jù)迫悠,只能存儲上面定義好的數(shù)據(jù)