MySQL - TINYINT:初學者指南
你好,未來的數據庫大師!今天,我們將進入 MySQL 的世界,並探索一個微小但強大的數據類型:TINYINT。不要讓它的大小愚弄你;這個小東西在存儲小型整數值時效率驚人。所以,戴上你們的虛擬安全帽,讓我們開始探索 TINYINT 的世界吧!
MySQL 的 TINYINT 數據類型
TINYINT 是什麼?
TINYINT 是 MySQL 的整數數據類型之一,設計用於存儲小型整數。把它想像成整數世界的微型車——小巧、高效,並且對短途旅行(或者在我們的例子中,小數字)非常合適。
鍵特徵
- 大小:TINYINT 使用僅 1 個字节的存儲空間。
- 範圍:
- 有符號:-128 至 127
- 無符號:0 至 255
當使用 TINYINT
TINYINT 非常適合存儲小型整數值的場景。例如:
- 年齡(0-255 歲應該足夠了,對吧?即使對吸血鬼來說也是!)
- 評分(1-5 星)
- 小型計數器
- 布爾值(0 或 1)
語法
column_name TINYINT[(M)] [UNSIGNED] [ZEROFILL]
讓我們分解一下:
-
M
:可選的顯示寬度(0-255) -
UNSIGNED
:將範圍設為 0 至 255 -
ZEROFILL
:用前導零填充值的顯示
實戰 TINYINT:使用客戶端程序
現在,讓我們捲起袖子,看看 TINYINT 的實際應用。我們將使用一些例子來說明如何在 MySQL 中使用這個數據類型。
創建包含 TINYINT 的表
讓我們創建一個簡單的表來存儲關於書籍評分系統的信息:
CREATE TABLE book_ratings (
id INT AUTO_INCREMENT PRIMARY KEY,
book_name VARCHAR(100),
rating TINYINT UNSIGNED,
is_recommended TINYINT(1)
);
在這個例子中:
-
rating
使用 TINYINT UNSIGNED 來存儲從 0 至 5 的評分。 -
is_recommended
使用 TINYINT(1) 作為布爾值(0 為假,1 為真)。
插入數據
讓我們添加一些書籍評分:
INSERT INTO book_ratings (book_name, rating, is_recommended)
VALUES
('The MySQL Handbook', 5, 1),
('SQL for Dummies', 3, 0),
('Database Design 101', 4, 1);
查詢 TINYINT 數據
現在,讓我們检索我們的數據:
SELECT * FROM book_ratings;
輸出:
+----+----------------------+--------+----------------+
| id | book_name | rating | is_recommended |
+----+----------------------+--------+----------------+
| 1 | The MySQL Handbook | 5 | 1 |
| 2 | SQL for Dummies | 3 | 0 |
| 3 | Database Design 101 | 4 | 1 |
+----+----------------------+--------+----------------+
在條件中使用 TINYINT
TINYINT 在 WHERE 子句中效果非常好:
SELECT book_name, rating
FROM book_ratings
WHERE rating > 3 AND is_recommended = 1;
這個查詢會檢索評分高且推薦的書籍。
TINYINT 作為布爾值
雖然 MySQL 有 BOOLEAN 類型,但它實際上是 TINYINT(1) 的別名。以下是使用方法:
CREATE TABLE task_list (
id INT AUTO_INCREMENT PRIMARY KEY,
task_name VARCHAR(100),
is_completed BOOLEAN
);
INSERT INTO task_list (task_name, is_completed)
VALUES
('Learn MySQL', TRUE),
('Master TINYINT', FALSE);
SELECT * FROM task_list;
輸出:
+----+----------------+--------------+
| id | task_name | is_completed |
+----+----------------+--------------+
| 1 | Learn MySQL | 1 |
| 2 | Master TINYINT | 0 |
+----+----------------+--------------+
TINYINT 的方法和函數
以下是與 TINYINT 一起使用的一些有用的方法和函數:
方法/函數 | 描述 | 示例 |
---|---|---|
ABS() | 返回絕對值 | SELECT ABS(TINYINT_COLUMN) FROM TABLE; |
SIGN() | 返回標誌(-1、0 或 1) | SELECT SIGN(TINYINT_COLUMN) FROM TABLE; |
MOD() | 返回餘數 | SELECT MOD(TINYINT_COLUMN, 3) FROM TABLE; |
GREATEST() | 返回最大值 | SELECT GREATEST(TINYINT_COL1, TINYINT_COL2) FROM TABLE; |
LEAST() | 返回最小值 | SELECT LEAST(TINYINT_COL1, TINYINT_COL2) FROM TABLE; |
結論
好了,各位!我們對 MySQL 中的 TINYINT 數據類型進行了一次旋風式的巡禮。從它緊湊的大小到存儲小型整數值甚至布爾值的多用性,TINYINT 證明了有時候最好的東西來自於小包裝。
記住,選擇正確的數據類型對於數據庫的性能和效率至關重要。TINYINT 可能看起來很小,但在處理數百萬行數據時,它可能會產生巨大的影響!
在你繼續 MySQL 的旅程時,請將 TINYINT 留在你的工具箱中。它就像那把可靠的口袋刀——小巧,但在需要時非常有用。祝編程愉快,願你的數據庫總是優化!
Credits: Image by storyset