MySQLでテーブル名とカラム名を同時に一覧表示する方法
MySQLでテーブル名とカラム名を同時に一覧表示する方法
MySQLでは、INFORMATION_SCHEMA.COLUMNS テーブルを参照することで、データベース内のテーブル名をカラム名とともに簡単に取得できます。このシステムビューには、スキーマ内のすべてのテーブルやカラムに関するメタデータが格納されているため、開発や保守作業での構造確認に非常に便利です。
基本構文
SELECT DISTINCT TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'yourDatabaseName';「yourDatabaseName」の部分に、対象となるデータベース名を指定してください。DISTINCT を指定することで、同じ組み合わせの重複行が除外され、読みやすい一覧が得られます。
実行例:sample データベースの場合
ここでは「sample」という名前のデータベースに多数のテーブルが作成されているものとし、テーブル名とカラム名をセットで表示する次のクエリを実行します。
mysql> SELECT DISTINCT TABLE_NAME, COLUMN_NAME
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE TABLE_SCHEMA = 'sample';出力結果(抜粋)
実行すると、テーブル名とそれに対応するカラム名が表形式で表示されます。サンプルデータベースには大量のテーブルが含まれているため、ここでは一部を抜粋して紹介します。
+----------------------------+---------------+
| TABLE_NAME | COLUMN_NAME |
+----------------------------+---------------+
| aggregatefunctiondemo | UserId |
| aggregatefunctiondemo | UserName |
| allownulldefaulnotnulldemo | Id |
| allrecordsexceptlastone | Id |
| averagestring | Value |
| commadelimitedlist | CompanyName |
| coursedemo | CourseId |
| coursedemo | CourseName |
| employee | departmentID |
| employee_table | EmployeeName |
| null_demo | UserAddress |
| orderdemo | OrderId |
| productstock | ProductPrice |
| student_table_sample | StudentName |
| userinformation | UserId |
+----------------------------+---------------+覚えておくと便利な応用テクニック
- 特定のテーブルだけを調べたい場合は、WHERE 句に AND TABLE_NAME = 'テーブル名' を追加します。
- 見やすく整列させたいときは、ORDER BY TABLE_NAME, COLUMN_NAME を付けるとアルファベット順にソートできます。
- 単一テーブルの構造確認だけであれば、SHOW COLUMNS FROM テーブル名; や DESCRIBE テーブル名; といった簡潔なコマンドも利用できます。
INFORMATION_SCHEMA を活用すれば、SQLだけでデータベース全体の構造を柔軟に把握できます。テーブル定義書の作成や設計レビューなどでも役立つので、ぜひ使いこなしておきましょう。
-
MySQLトリガー(TRIGGER)を使ってテーブルに現在の日付を自動挿入する方法
この記事では、MySQLのトリガー(TRIGGER)を使用して、テーブルに現在の日付(DATE)を自動的に挿入する方法を解説します。INSERT文の実行時に日付を指定しなくても、トリガーによって自動的に現在日付が登録される仕組みを見ていきましょう。 サンプルテーブルの作成 まず、以下のクエリでテーブルを作成します。 mysql> create table DemoTable1584-> (-> DueDate datetime-> );Query OK, 0 rows affected (1.79 sec) ここでは、datetime型の「DueDate」カラムを持つテ
-
MySQLでインデックス付きのテーブルを作成する方法を徹底解説
MySQLでは、テーブル作成後にCREATE INDEX文を使うことで、特定のカラムに対してインデックスを追加できます。検索速度の向上やデータ整合性の確保において、インデックスは非常に重要な役割を果たします。この記事では、基本的な構文から実際の実行例まで、順を追ってわかりやすく解説します。インデックス付きテーブルを作成する基本構文まずテーブルを作成し、その後CREATE INDEX文でインデックスを追加します。基本の構文は以下のとおりです。create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataTyp