MySQL中幾個(gè)數(shù)據(jù)類(lèi)型區(qū)別

DATETIME除破、DATE和TIMESTAMP

TIMESTAMP

  • 顯示格式:YYYY-MM-DD HH:MM:SS
  • 時(shí)間范圍:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59']
  • IMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP: 在創(chuàng)建新記錄和修改現(xiàn)有記錄的時(shí)候都對(duì)這個(gè)數(shù)據(jù)列刷新哪雕。
  • TIMESTAMP DEFAULT CURRENT_TIMESTAMP: 在創(chuàng)建新記錄的時(shí)候把這個(gè)字段設(shè)置為當(dāng)前時(shí)間茁影,但以后修改時(shí),不再刷新它确沸。
  • TIMESTAMP ON UPDATE CURRENT_TIMESTAMP: 在創(chuàng)建新記錄的時(shí)候把這個(gè)字段設(shè)置為0捌锭,以后修改時(shí)刷新它。
  • TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss’ ON UPDATE CURRENT_TIMESTAMP: 在創(chuàng)建新記錄的時(shí)候把這個(gè)字段設(shè)置為給定值罗捎,以后修改時(shí)刷新它观谦。
  1. TIMESTAMP列不為空時(shí),默認(rèn)值可以為“0000-00-00 00:00:00”桨菜,但不能為null豁状。
  2. 一個(gè)表可以存在多個(gè)TIMESTAMP列,但一個(gè)表只有一個(gè)TIMESTAMP類(lèi)型的字段可以在默認(rèn)值或者UPDATE部分用CURRENT_TIMESTAMP雷激,即設(shè)置為數(shù)據(jù)更新而改變?yōu)閿?shù)據(jù)庫(kù)系統(tǒng)當(dāng)前值。
  3. TIMESTAMP列的默認(rèn)值是CURRENT_TIMESTAMP常量值告私。當(dāng)紀(jì)錄數(shù)據(jù)發(fā)生變化的時(shí)候屎暇,TIMESTAMP列會(huì)自動(dòng)將其值設(shè)定為CURRENT_TIMESTAMP。
  4. TIMESTAMP列創(chuàng)建后的格式是:
ALTER TABLE course 
ADD COLUMN birthday timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

ALTER TABLE course
ADD COLUMN birthday timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP ;

ALTER TABLE course
ADD COLUMN birthday timestamp NULL AFTER cname;

DATETIME

  • 顯示格式:YYYY-MM-DD HH:MM:SS
  • 時(shí)間范圍:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59']

DATE

  • 顯示格式:YYYY-MM-DD
  • 時(shí)間范圍:['1000-01-01'到'9999-12-31']

日期格式轉(zhuǎn)換

  • 字符串轉(zhuǎn)日期:
select STR_TO_DATE('2013-01-29 13:49:18', '%Y-%m-%d %H:%i:%s')
  • 日期轉(zhuǎn)字符串
select DATE_FORMAT('2013-01-29 13:49:18', '%Y-%m-%d %H:%i:%s')

日期的中常用的年月日時(shí)分秒星期月份等獲取方法

  • select TIMESTAMP('2013-01-29 13:50:27');
  • select DATE('2013-01-29 13:50:27');
  • select YEAR('2013-01-29 13:50:27');
  • select MONTH(('2013-01-29 13:50:27');
  • select WEEK('2013-01-29 13:50:27');
  • select DAY('2013-01-29 13:50:27');
  • select TIME('2013-01-29 13:50:27');
  • select CURTIME();
  • select CURDATE();
  • select CURRENT_DATE;
  • select CURRENT_TIME;
  • select CURRENT_TIMESTAMP;
  • select NOW()

日期的運(yùn)算

  • SELECT DATE_ADD('2013-01-29 13:50:27', INTERVAL 1 DAY);
    -> '2013-01-30 13:50:27'
  • SELECT DATE_ADD('2013-01-29 13:50:27', INTERVAL 1 HOUR);
    -> '2013-01-29 14:50:27'
  • SELECT DATE_ADD('2013-01-29 13:50:27', INTERVAL 1 MONTH);
    -> '2013-02-28 13:50:27'

int驻粟、bigint根悼、smallint 和 tinyint區(qū)別

[圖片上傳失敗...(image-db971-1531189017547)]


char,varchar,text,tinytext,mediumtext,longtext區(qū)別

  • char:存儲(chǔ)定長(zhǎng)數(shù)據(jù)很方便,CHAR字段上的索引效率極高蜀撑,可以有默認(rèn)值挤巡,比如定義char(10),那么不論你存儲(chǔ)的數(shù)據(jù)是否達(dá)到了10個(gè)字節(jié)酷麦,都要占去10個(gè)字節(jié)的空間(自動(dòng)用空格填充)矿卑,且在檢索的時(shí)候后面的空格會(huì)隱藏掉,所以檢索出來(lái)的數(shù)據(jù)需要記得用strip()之類(lèi)的函數(shù)去過(guò)濾空格沃饶。
  • varchar:存儲(chǔ)變長(zhǎng)數(shù)據(jù)母廷,但存儲(chǔ)效率沒(méi)有CHAR高轻黑。保存數(shù)據(jù)的時(shí)候,不進(jìn)行空格自動(dòng)填充琴昆,而且如果數(shù)據(jù)存在空格時(shí)氓鄙,當(dāng)值保存和檢索時(shí)尾部的空格仍會(huì)保留。另外业舍,varchar類(lèi)型的實(shí)際長(zhǎng)度是它的值的實(shí)際長(zhǎng)度+1抖拦,這一個(gè)字節(jié)用于保存實(shí)際使用了多大的長(zhǎng)度。
  • text:存儲(chǔ)可變長(zhǎng)度的非Unicode數(shù)據(jù)舷暮,最大長(zhǎng)度為2^31-1個(gè)字符态罪。存儲(chǔ)或檢索過(guò)程中,不存在大小寫(xiě)轉(zhuǎn)換脚牍。
  • 總結(jié):盡量用varchar,能用varchar的地方不用text向臀。char最大255個(gè)字符。varchar最大65535個(gè)字節(jié)(因此不同字符集诸狭,所能存儲(chǔ)的字符個(gè)數(shù)是不同的)券膀。
    text最大65535字符
  • 參考

mysql中key 、primary key 驯遇、unique key 與index區(qū)別

  • Key是索引約束芹彬,對(duì)表中字段進(jìn)行約束索引的,都是通過(guò)primary foreign unique等創(chuàng)建的(主鍵PRIMARY KEY 叉庐,外鍵FOREIGN KEY舒帮, 唯一索引UNIQUE KEY)。
  1. 主鍵(PRIMARY KEY)是本表的唯一標(biāo)識(shí)
  2. 外鍵(FOREIGN KEY)是與另一個(gè)表相關(guān)聯(lián)
  3. 唯一索引(UNIQUE KEY)主要是用來(lái)防止數(shù)據(jù)插入的時(shí)候重復(fù)的陡叠。
  • KEY:key 是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)玩郊,它包含兩層意義,一是約束(偏重于約束和規(guī)范數(shù)據(jù)庫(kù)的結(jié)構(gòu)完整性)枉阵,二是索引(輔助查詢(xún)用的)译红。包括primary key, unique key, foreign key 等。

  • INDEX:index是數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)兴溜,它只是輔助查詢(xún)的侦厚,它創(chuàng)建時(shí)會(huì)在另外的表空間(mysql中的innodb表空間)以一個(gè)類(lèi)似目錄的結(jié)構(gòu)存儲(chǔ)。索引要分類(lèi)的話拙徽,分為前綴索引刨沦、全文本索引等;因此膘怕,索引只是索引想诅,它不會(huì)去約束索引的字段的行為。

  • 參考1

  • 參考2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市侧蘸,隨后出現(xiàn)的幾起案子裁眯,更是在濱河造成了極大的恐慌,老刑警劉巖讳癌,帶你破解...
    沈念sama閱讀 222,946評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件穿稳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡晌坤,警方通過(guò)查閱死者的電腦和手機(jī)逢艘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)骤菠,“玉大人它改,你說(shuō)我怎么就攤上這事∩毯酰” “怎么了央拖?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,716評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)鹉戚。 經(jīng)常有香客問(wèn)我踏堡,道長(zhǎng)隆圆,這世上最難降的妖魔是什么中捆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,222評(píng)論 1 300
  • 正文 為了忘掉前任霹粥,我火速辦了婚禮,結(jié)果婚禮上赢底,老公的妹妹穿的比我還像新娘失都。我一直安慰自己,他們只是感情好幸冻,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,223評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布粹庞。 她就那樣靜靜地躺著,像睡著了一般洽损。 火紅的嫁衣襯著肌膚如雪庞溜。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,807評(píng)論 1 314
  • 那天趁啸,我揣著相機(jī)與錄音强缘,去河邊找鬼督惰。 笑死不傅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赏胚。 我是一名探鬼主播访娶,決...
    沈念sama閱讀 41,235評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼觉阅!你這毒婦竟也來(lái)了崖疤?” 一聲冷哼從身側(cè)響起秘车,我...
    開(kāi)封第一講書(shū)人閱讀 40,189評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎劫哼,沒(méi)想到半個(gè)月后叮趴,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,712評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡权烧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,775評(píng)論 3 343
  • 正文 我和宋清朗相戀三年眯亦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片般码。...
    茶點(diǎn)故事閱讀 40,926評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡妻率,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出板祝,到底是詐尸還是另有隱情宫静,我是刑警寧澤,帶...
    沈念sama閱讀 36,580評(píng)論 5 351
  • 正文 年R本政府宣布券时,位于F島的核電站孤里,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏革为。R本人自食惡果不足惜扭粱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,259評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望震檩。 院中可真熱鬧琢蛤,春花似錦、人聲如沸抛虏。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,750評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)迂猴。三九已至慕淡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沸毁,已是汗流浹背峰髓。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,867評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留息尺,地道東北人携兵。 一個(gè)月前我還...
    沈念sama閱讀 49,368評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像搂誉,于是被迫代替她去往敵國(guó)和親徐紧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,930評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 觀其大綱 page 01 基礎(chǔ)知識(shí) 1 MySQL數(shù)據(jù)庫(kù)概要 2 簡(jiǎn)單MySQL環(huán)境 3 數(shù)據(jù)的存儲(chǔ)和獲取 4 M...
    周少言閱讀 3,159評(píng)論 0 33
  • 希望 “這次,我看到了草原并级,那里的天比別處的更可愛(ài)拂檩。”……聽(tīng)著女兒房間里朗朗的讀書(shū)聲嘲碧,我浮想聯(lián)翩稻励,女兒:我多么希望...
    yanran0633閱讀 73評(píng)論 0 1
  • 從小,我就喜歡吃愈涩,一方面是因?yàn)槲缚诤枚っ裕环矫媸且驗(yàn)闊o(wú)聊。為了對(duì)付發(fā)呆钠署,我的對(duì)策就是吃吃吃糠聪。。谐鼎。舰蟆。。對(duì)于一個(gè)吃貨來(lái)說(shuō)...
    石頭精精閱讀 422評(píng)論 0 0
  • 今天查q7尾門(mén)電機(jī)的電源線狸棍。找不到頭 就用電腦看電路圖身害。 在使用的過(guò)程中 不是那么流暢。也找的比較慢 核心草戈。專(zhuān)業(yè)技...
    京心達(dá)白金閱讀 163評(píng)論 0 0