MySQL テーブルスキーマ表示
リレーショナルデータベースは、現代のデジタル時代において最も人気があり、影響力のあるデータベースの一つです。90年代に開発されたにもかかわらず、依然として普及しており、個々の開発者や企業アプリケーションによって広く採用されています。
リレーショナルデータベースは、あらかじめ定義されたスキーマの使用でよく知られています。スキーマはリレーショナルデータベースの基盤であり、実際のデータが追加される前にデータがどのように組織されるかのルールと構造を定義します。
データベース開発者として、データベーススキーマを構築し構造化する方法を学ぶことは必要です。このチュートリアルを通じて、最も人気のあるリレーショナルデータベース管理システムの一つであるMySQLを使って、テーブルスキーマを作成し表示する方法を説明します。
リレーショナルデータベースにおけるスキーマとは何ですか?
スキーマとは、リレーショナルデータベースにおけるデータの構造を定義するものを指します。スキーマは、カラムやデータ型など、データの重要な側面を決定するために使用されます。
簡単に言うと、スキーマはデータの組織化と実装の基盤を示す設計図のようなものです。しかし、スキーマ自体には実際のデータは含まれないことを覚えておいてください。
データベーススキーマの種類
以下はリレーショナルデータベースで一般的なスキーマタイプです:
- テーブル
- プライマリキー
- 外部キー
- 属性
- 関係
テーブルスキーマを作成する
テーブルのスキーマを表示する方法について議論する前に、説明のためのサンプルテーブルを作成しましょう。
サンプルコードスニペット:
create table blog(
post_id int auto_increment not null primary key,
author_id int not null,
title varchar(255) not null,
author_name varchar(100) not null,
post_date date not null,
category varchar(50) not null,
published bool
);テーブルスキーマを表示するには進んでください。
テーブルスキーマの表示 - メソッド1 - テーブル作成中
MySQLでは、SHOWキーワードを使用してテーブルスキーマを表示できます。コマンドの構文:
SHOW CREATE TABLE database.table_name;そのコマンドは、テーブル作成時に使用されたコマンドを返します。
上記に示されたブログのテーブルスキーマを表示するには、次のクエリを実行してください:
show create table linux-console.blog;表示文は、結果を次のように出力します:
|Table|Create Table |
|-----|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|blog |CREATE TABLE `blog` (¶ `post_id` int NOT NULL AUTO_INCREMENT,¶ `author_id` int NOT NULL,¶ `title` varchar(255) NOT NULL,¶ `author_name` varchar(100) NOT NULL,¶ `post_date` date NOT NULL,¶ `category` varchar(50) NOT NULL,¶ `published` tinyint(1) DEFAULT NULL,¶ PRIMARY KEY (`post_id`)¶) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci|
定義されたテーブルのスキーマ情報、つまり照合順序、文字セット、およびデータベースエンジンが表示されます。これは、別の環境で同じテーブルを複製する際に非常に役立ちます。
テーブルスキーマを表示 – メソッド2 – 説明
テーブルスキーマを取得する2番目で最も一般的な方法は、DESCRIBEキーワードを使用することです。構文は以下のコードスニペットに示されています:
DESCRIBE database.table_name;ご推察の通り、このステートメントはユーザーフレンドリーなUIでテーブルスキーマを返します。
以下の例のスナップショットを見てください。
describe linux-console.blog;この例では、linux-consoleデータベースからブログテーブルのスキーマを取得しています。出力:
|Field |Type |Null|Key|Default|Extra |
|-----------|------------|----|---|-------|--------------|
|post_id |int |NO |PRI| |auto_increment|
|author_id |int |NO | | | |
|title |varchar(255)|NO | | | |
|author_name|varchar(100)|NO | | | |
|post_date |date |NO | | | |
|category |varchar(50) |NO | | | |
|published |tinyint(1) |YES | | | |ここでは、データが表形式で提示されているため、非常に読みやすく解釈しやすいことがわかります。
欠点は、describeコマンドの出力を直接別の環境でテーブル構造を再現するために使用できないことです。
注意: 以下の構文に示すように、DESCRIBEコマンドの代わりにEXPLAINを使用することができます:
EXPLAIN database.table_name;注意: 一部のケースでは、テーブルスキーマが指定されたテーブルが存在するデータベースを参照しています。そのためには、以下の構文に示されているように、information_schemaテーブルにクエリを実行できます。
select TABLE_SCHEMA
from information_schema.TABLES t
where table_name = table_name;
得られた出力:
|TABLE_SCHEMA|
|------------|
|linux-console |閉店
この記事では、リレーショナルデータベースにおけるデータベーススキーマ、データベーススキーマの種類、およびMySQLでのテーブル構造の作成と表示について説明しました。
読んでくれてありがとう!!



