MySQL——5.MySQL中支援的資料型別簡介
阿新 • • 發佈:2018-12-09
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 |
(五)二進位制型別(用的比較少)
視訊路徑