1. 程式人生 > >MySQL——5.MySQL中支援的資料型別簡介

MySQL——5.MySQL中支援的資料型別簡介

1.資料都儲存在資料庫中的資料表中。 2.這節課學習資料表的相關操作。 3.資料庫就好比一個excel表 。一個sheet就相當於一個數據庫,excel就相當於一個管理軟體。在sheet中新增一個表格,就相當於在資料庫中建立一個數據表

這裡寫圖片描述

目錄

一、什麼是表

1.資料表是資料庫最重要的組成部分之一,是其他物件的基礎

2.資料表是儲存資料的資料結構

3.資料表是包含了特定實體型別的資料

4.資料表是由行(row)和列(culumn)構成的二維網路

5.資料表一定先有表結構,再有資料(沒有資料的被稱為空表)

練習一、這就相當於表結構,或者叫做列。資料庫中必須有這種表結構,才能有資料。如果沒有人報名,就是空表。 這裡寫圖片描述

6.資料表至少有一列,可以沒有行或者多行

7.資料表名稱要求唯一,而且不要包含特殊字元

二、如何建立資料表

(一)CREATE TABLE[IF NOT EXITS]tbl_name(欄位名稱 欄位型別 [完整性約束條件]…)ENGINE=引擎名稱 CHARSET=’編碼方式’;

練習一、欄位名稱 欄位型別 ,以excel為例 這裡寫圖片描述

三、MySQL中的資料型別

(一)整數型別

資料型別 儲存範圍 位元組
TINYINT 有符號值:-128到127(-2^7到(-2^7)-1);無符號值:0到255(0到(2^8)-1) 1
SMALLINT 有符號值:-32768到32767(-2^15到(2^15)-1);無符號值:0到65535(0到(2^16)-1) 2
MEDIUMINT 有符號值:-8388608到8388607(-2^23到(-2^23)-1);無符號值:0到16777215(0到(2^24)-1) 3
INT 有符號值:-2147683648到2147683647(-2^31到(-2^31)-1);無符號值:0到4294967295(0到(2^32)-1) 4
BIGINT 有符號值:-9223372036854775808到9223373036854774807(-2^63到(2^63)-1);無符號值:0到18446744073709551615(0到(2^64)-1) 8
BOOL,BOOLEAN 等價於TINYINT(1),0為false,其餘為true 1

練習一、這些資料不需要背,可以查幫助手冊(檢視資料型別,檢視建立資料庫)

這裡寫圖片描述 這裡寫圖片描述 這裡寫圖片描述

(二)浮點型別

浮點數會根據平臺的不同,精度也不同

資料型別 儲存範圍 位元組
FLOAT[(M,D)] 負數取值範圍為-3.40E+38到-1.17E-38、0和1.175E-38到3.40E+38。M是數字總位數,D是小數點後面的位數。如果M和D被省略,根據硬體允許的限制來儲存值。單精度浮點數精確到大約7位小數位 4
DOUBLE[(M,D)] -1.79E+308到-2.22E-308、0和2.22E-308到1.79E+308 8
DECIMAL[(M,D)] 和DOUBLE一樣,內部以字串形式儲存數值 M+2

(三)字串型別

列型別 儲存需求
CHAR(M) M個位元組,0<=M<=255
VARCHAR(M) L+1個位元組,其中L<=M且0<=M<=65535
TINYTEXT L+1個位元組,其中L<2^5
TEXT L+2個位元組,其中L<2^16
MEDIUMTEXT L+3個位元組,其中L<2^24
LONGTEXT L+4個位元組,其中L<2^32
ENUM(‘value1’,’value2’,…) 1或2個位元組,取決於列舉值的個數(最多65535個值)
SET(’value1’,’value2’,…) 1、2、3、4或者8個位元組,取決於set成員的數目(最多64個成員)

(四)日期時間型別

列型別 儲存範圍 儲存需求
TIME -838:59:59~838:59:59 3
DATE 1000-01-01~9999-12-31 3
DATETIME 1000-01-01 00:00:00~9999-12-31 23:59:59 8
TIMESTAMP 1970-01-01 00:00:01 UTC~2038-01-19 03:14:07 4
YEAR 1901~2155 1

(五)二進位制型別(用的比較少)

視訊路徑

(六)如何選擇合適的資料型別

練習一、選擇合適的資料型別

這裡寫圖片描述