MySQL - TINYINT: 基礎ガイド
こんにちは、未来のデータベースの達人さんたち!今日は、MySQLの世界に飛び込み、小さながらもパワフルなデータタイプを探求します:TINYINT。その小ささに騙されないでください;この小さなやつは、小さな整数値を効率的に保存する際に大きな力を発揮します。では、仮想の硬帽をかぶり、TINYINTの世界に挑戦しましょう!
MySQLのTINYINTデータタイプ
TINYINTとは?
TINYINTはMySQLの整数データタイプの一つで、小さな整数を保存するために設計されています。整数の世界におけるコンパクトカーのようなものです – 小さく、効率的で、短距離(または、私たちのケースでは小さな数値)に最適です。
主要な特徴
- サイズ:TINYINTは1バイトのストレージを使用します。
- 範囲:
- 符号つき:-128から127
- 符号なし:0から255
TINYINTを使用すべき場合
TINYINTは小さな整数値を保存する必要があるシーンに最適です。例えば:
- 年齢(255年まで十分でしょう、 vampireでさえ!)
- 評価(1から5星)
- 小さなカウンタ
- ボOLEAN値(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)を使用してBOOLEAN(0はfalse、1はtrue)としています。
データの挿入
いくつかの本評価を追加してみましょう:
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);
データの取得
データを取得してみましょう:
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をBOOLEANとして使用
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データタイプに関する whirlwind tour( whirlwind tour )が終わりました。そのコンパクトなサイズから多様な用途まで、TINYINTは小さな整数値やBOOLEAN値を保存するのに非常に便利です。
データベースのパフォーマンスと効率性を高めるために、適切なデータタイプを選ぶことは非常に重要です。TINYINTは小さですが、百万行ものデータを扱う際には大きな違いを生むことができます。
MySQLの旅を続ける中で、TINYINTをツールボックスに忍ばせておきましょう。それは、信頼できるポケットナイフのように、必要なときに非常に役立ちます。ハッピーコーディングを!そして、あなたのデータベースが常に最適化されていることを祈っています!
Credits: Image by storyset