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其它相關文章!

推薦閱讀: