時(shí)間日期類(lèi)型:
datetime:時(shí)間日期偿枕,格式是YYYY-mm-dd HH:ii:ss鸡捐,表示的范圍是從1000到9999年栈暇,有0值(0000-00-00 00:00:00)
timestamp:時(shí)間戳,但并不是時(shí)間戳箍镜,只是從1970年開(kāi)始的源祈,YYYY-mm-dd HH:ii:ss格式與datetime完全一致
year:年份,有兩種形式:year(2)和year(4)
-- 創(chuàng)建時(shí)間日期表
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);
-- 時(shí)間使用負(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表示過(guò)去兩天色迂,就是四十八個(gè)小時(shí)
-- 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);
('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ù)獲取時(shí)間戳
select unix_timestamp();
字符串類(lèi)型
字符串類(lèi)型分為:char香缺、varchar、text脚草、blob赫悄、enum、set(用的最多前三個(gè))
char(定長(zhǎng)字符串):磁盤(pán)(二維表)在定義結(jié)構(gòu)的時(shí)候馏慨,就已經(jīng)確定了最終數(shù)據(jù)的存儲(chǔ)長(zhǎng)度? ?埂淮,效率高,磁盤(pán)空間大
適用于:身份證写隶,電話(huà)號(hào)碼倔撞,手機(jī)號(hào),郵編
char(L):L代表Length慕趴,可以存儲(chǔ)的長(zhǎng)度痪蝇,單位為字符鄙陡,最大長(zhǎng)度值可以為255
varchar(變長(zhǎng)字符串):在分配空間的時(shí)候,按照最大的空間分配躏啰,但是實(shí)際上最終用了多少趁矾,是根據(jù)具體的數(shù)據(jù)來(lái)確定
適用于:收貨地址,人名给僵,郵箱等
varchar(L):L表示字符長(zhǎng)度毫捣,理論長(zhǎng)度是65536個(gè)字符,但是會(huì)多出1到2個(gè)字節(jié)帝际,來(lái)確定存儲(chǔ)的實(shí)際長(zhǎng)度
文本字符串:如果數(shù)據(jù)量非常大蔓同,通常超過(guò)255個(gè)字符就會(huì)使用文本字符串
文本字符串根據(jù)存儲(chǔ)的數(shù)據(jù)的格式分為:
text:存儲(chǔ)文字、存儲(chǔ)二進(jìn)制數(shù)據(jù)的文件路徑
blob:存儲(chǔ)二進(jìn)制數(shù)據(jù)(通常不用)
枚舉字符串(enum)
枚舉的使用方式:
enum(可能出現(xiàn)的元素列表);
例如:enum('男','女','不男不女','妖怪','保密');
使用:存儲(chǔ)數(shù)據(jù)蹲诀,只能存儲(chǔ)上面定義好的數(shù)據(jù)