MySql數據類型教程示例詳解
1.簡要概述
為什麼要開通MySQL這個學習板塊呢?因為這是一名數據分析師必要的一項技能。分析數據什麼最重要?當然是數據,既然如此!在數據呈現爆發式增長的年代,怎麼能夠不學學數據庫呢?其實這也是很多讀者朋友希望看到的,也是他們建議我寫的。
難者不會,會者不難!其實網上很多MySQL的總結文章,不可否認,知識點寫的都很全,但是呢!這個隻是會使用MySQL數據庫的朋友的一個查詢手冊,不會使用的還是不會使用呀(並沒有詳細的介紹)。於是我就開始瞭我這個板塊的寫作,希望能夠幫助那些轉行的,要學習MySQL的朋友們。當然還要補充一點,這些板塊並不是針對那些搞開發的、想當DBA的朋友,而是針對那些轉行數據分析,然後需要學習MySQL數據庫的那些朋友們。
前面我們已經帶著大傢怎麼安裝瞭MySQL數據庫瞭,我也相信我寫的這個安裝教程應該是全網最詳細的一個教程,不信你看。
《MySQL安裝教程》
當然,如果你此時正在為MySQL的二次安裝(第一次安裝失敗)感到苦惱,那麼這個MySQL的卸載文章應該對你會有很大作用。
《MySQL卸載教程》
雖然我們不當DBA,但是適當瞭解一些MySQL增刪改查以外的知識,也是有必要的,比如說建表語句為什麼加上這個charset=utf8?我們從輸入SQL語句到服務器給我們返回數據,究竟經歷瞭一個怎麼樣的歷程?你就可以實當看看下面這篇文章。
《你真的搞明白瞭charset=utf8編碼問題嗎?》
2. MySQL數據類型詳解
學過編程語言的人都知道,怎麼學習一門編程語言呢?首先要從數據類型開始學起。雖然庫是別人創建的,表是別人設計的,這些好像都與你無關,但是掌握這樣一個知識點,對你更好的理解和學習MySQL,肯定是會有幫助的。
1) 字符串類型
① char(m):定長的字符串。
② varchar(m):不定長的字符串。
上述知識,可以參考下圖理解。
③ char和varchar存儲的空間利用率比較。
從上表可以看出:
④ tinytext、text、longtext
註意:隻要存放的是字符串類型,都要註意編碼問題,一般使用的是utf8編碼。
2) 整數類型
符號位與無符號位詳解網址:https://www.jb51.net/article/178768.htm
① 整型數據類型聲明時的參數問題
② unsigned參數。
-- 創建表 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參數必須和M參數配合使用”才有意義”。
-- 對學號字段進行一個說明: -- 1:學號不能為負; -- 2:學號一般位數相同,即使不同,也會用0填充。 -- eg:00001,00013,00128,01280。 -- 創建表 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)浮點數類型
舉例說明:
-- swage代表工資;sbonus代表津貼,津貼不能是負數。 -- 創建表 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 ("紀曉嵐",9999.99,111.11), ("和珅",-9999.99,444.44);
觀察下圖:
從上圖中可以看出:
① float/double和decimal精度比較
-- 創建表 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)日期/時間類型
① 什麼是日期類型和時間類型?
1)日期類型:指的是年、月、日,類似於2019-11-16(2019年11月16號)
2)時間類型:指的是時、分、秒,類似於10:45:30(10點45分30秒)
② 日期/時間類型
以上就是MySql數據類型教程示例詳解的詳細內容,更多關於MySql數據類型的資料請關註WalkonNet其它相關文章!