MySQL - TINYINT: 基礎ガイド

こんにちは、未来のデータベースの達人さんたち!今日は、MySQLの世界に飛び込み、小さながらもパワフルなデータタイプを探求します:TINYINT。その小ささに騙されないでください;この小さなやつは、小さな整数値を効率的に保存する際に大きな力を発揮します。では、仮想の硬帽をかぶり、TINYINTの世界に挑戦しましょう!

MySQL - TINYINT

MySQLのTINYINTデータタイプ

TINYINTとは?

TINYINTはMySQLの整数データタイプの一つで、小さな整数を保存するために設計されています。整数の世界におけるコンパクトカーのようなものです – 小さく、効率的で、短距離(または、私たちのケースでは小さな数値)に最適です。

主要な特徴

  1. サイズ:TINYINTは1バイトのストレージを使用します。
  2. 範囲
  • 符号つき:-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