MySql數(shù)據(jù)類型教程示例詳解
1.簡要概述
為什么要開通MySQL這個(gè)學(xué)習(xí)板塊呢?因?yàn)檫@是一名數(shù)據(jù)分析師必要的一項(xiàng)技能。分析數(shù)據(jù)什么最重要?當(dāng)然是數(shù)據(jù),既然如此!在數(shù)據(jù)呈現(xiàn)爆發(fā)式增長的年代,怎么能夠不學(xué)學(xué)數(shù)據(jù)庫呢?其實(shí)這也是很多讀者朋友希望看到的,也是他們建議我寫的。
難者不會(huì),會(huì)者不難!其實(shí)網(wǎng)上很多MySQL的總結(jié)文章,不可否認(rèn),知識(shí)點(diǎn)寫的都很全,但是呢!這個(gè)只是會(huì)使用MySQL數(shù)據(jù)庫的朋友的一個(gè)查詢手冊(cè),不會(huì)使用的還是不會(huì)使用呀(并沒有詳細(xì)的介紹)。于是我就開始了我這個(gè)板塊的寫作,希望能夠幫助那些轉(zhuǎn)行的,要學(xué)習(xí)MySQL的朋友們。當(dāng)然還要補(bǔ)充一點(diǎn),這些板塊并不是針對(duì)那些搞開發(fā)的、想當(dāng)DBA的朋友,而是針對(duì)那些轉(zhuǎn)行數(shù)據(jù)分析,然后需要學(xué)習(xí)MySQL數(shù)據(jù)庫的那些朋友們。
前面我們已經(jīng)帶著大家怎么安裝了MySQL數(shù)據(jù)庫了,我也相信我寫的這個(gè)安裝教程應(yīng)該是全網(wǎng)最詳細(xì)的一個(gè)教程,不信你看。
當(dāng)然,如果你此時(shí)正在為MySQL的二次安裝(第一次安裝失敗)感到苦惱,那么這個(gè)MySQL的卸載文章應(yīng)該對(duì)你會(huì)有很大作用。
雖然我們不當(dāng)DBA,但是適當(dāng)了解一些MySQL增刪改查以外的知識(shí),也是有必要的,比如說建表語句為什么加上這個(gè)charset=utf8?我們從輸入SQL語句到服務(wù)器給我們返回?cái)?shù)據(jù),究竟經(jīng)歷了一個(gè)怎么樣的歷程?你就可以實(shí)當(dāng)看看下面這篇文章。
2. MySQL數(shù)據(jù)類型詳解
學(xué)過編程語言的人都知道,怎么學(xué)習(xí)一門編程語言呢?首先要從數(shù)據(jù)類型開始學(xué)起。雖然庫是別人創(chuàng)建的,表是別人設(shè)計(jì)的,這些好像都與你無關(guān),但是掌握這樣一個(gè)知識(shí)點(diǎn),對(duì)你更好的理解和學(xué)習(xí)MySQL,肯定是會(huì)有幫助的。
1) 字符串類型
① char(m):定長的字符串。
② varchar(m):不定長的字符串。
上述知識(shí),可以參考下圖理解。
③ char和varchar存儲(chǔ)的空間利用率比較。
從上表可以看出:
④ tinytext、text、longtext
注意:只要存放的是字符串類型,都要注意編碼問題,一般使用的是utf8編碼。
2) 整數(shù)類型
符號(hào)位與無符號(hào)位詳解網(wǎng)址:http://www.dbjr.com.cn/article/178768.htm
① 整型數(shù)據(jù)類型聲明時(shí)的參數(shù)問題
② unsigned參數(shù)。
-- 創(chuàng)建表 create table person( pname varchar(20), page tinyint unsigned, psex bit(1) ) charset=utf8; -- 插入兩條記錄 insert into person (pname,page,psex) values ("張三",18,0), ("李四",22,0);
觀察下圖:
從上圖可以看出:
③ zerofill參數(shù)必須和M參數(shù)配合使用"才有意義"。
-- 對(duì)學(xué)號(hào)字段進(jìn)行一個(gè)說明: -- 1:學(xué)號(hào)不能為負(fù); -- 2:學(xué)號(hào)一般位數(shù)相同,即使不同,也會(huì)用0填充。 -- eg:00001,00013,00128,01280。 -- 創(chuàng)建表 create table student( sid smallint(5) zerofill not null default 0, sname varchar(20), sage tinyint unsigned, ssex bit(1) default 0 ) charset=utf8; -- 插入兩條記錄 insert into student(sname,sid) values ("張飛",5),("呂布",1);
觀察下圖:
從上圖可以看出:
3)浮點(diǎn)數(shù)類型
舉例說明:
-- swage代表工資;sbonus代表津貼,津貼不能是負(fù)數(shù)。 -- 創(chuàng)建表 create table salary( sname varchar(20), swage float(6,2), sbonus float(5,2) unsigned not null default 0 ) charset=utf8; -- 插入兩條記錄 insert into salary (sname,swage,sbonus) values ("紀(jì)曉嵐",9999.99,111.11), ("和珅",-9999.99,444.44);
觀察下圖:
從上圖中可以看出:
① float/double和decimal精度比較
-- 創(chuàng)建表 create table bank( id varchar(20), acc1 float(9,2), acc2 decimal(9,2) ) charset=utf8; -- 插入兩條記錄 insert into bank(id,acc1,acc2) values (1,1234567.45,1234567.45), (2,1234567.678,1234567.678);
觀察下表:
從上表中可以看出:
4)日期/時(shí)間類型
① 什么是日期類型和時(shí)間類型?
1)日期類型:指的是年、月、日,類似于2019-11-16(2019年11月16號(hào))
2)時(shí)間類型:指的是時(shí)、分、秒,類似于10:45:30(10點(diǎn)45分30秒)
② 日期/時(shí)間類型
以上就是MySql數(shù)據(jù)類型教程示例詳解的詳細(xì)內(nèi)容,更多關(guān)于MySql數(shù)據(jù)類型的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mysql學(xué)習(xí)筆記之完整的select語句用法實(shí)例詳解
這篇文章主要介紹了mysql學(xué)習(xí)筆記之完整的select語句用法,結(jié)合實(shí)例形式詳細(xì)分析了mysql select語句各種常見參數(shù)、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04Navicat異地自動(dòng)備份MySQL方法詳解(圖文)
Navicat異地自動(dòng)備份MySQL方法詳解,使用Navicat的需要備份mysql的朋友也方便了2012-01-01MySQL對(duì)JSON數(shù)據(jù)進(jìn)行查詢實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于MySQL對(duì)JSON數(shù)據(jù)進(jìn)行查詢的相關(guān)資料,MySQL支持使用JSON類型存儲(chǔ)數(shù)據(jù),并提供了多種查詢JSON數(shù)據(jù)的方法,需要的朋友可以參考下2023-07-07mysql 通過拷貝數(shù)據(jù)文件的方式進(jìn)行數(shù)據(jù)庫遷移實(shí)例
這篇文章主要介紹了mysql 通過拷貝數(shù)據(jù)文件的方式進(jìn)行數(shù)據(jù)庫遷移實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-11-11mysql聚合統(tǒng)計(jì)數(shù)據(jù)查詢緩慢的優(yōu)化方法
這篇文章主要給大家介紹了關(guān)于mysql聚合統(tǒng)計(jì)數(shù)據(jù)查詢緩慢的優(yōu)化方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02