MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでテーブルのカラム一覧を取得する方法|SHOW COLUMNSステートメントの使い方

MySQLで現在のデータベース内にあるテーブルのカラム(列)一覧を取得したい場合は、SHOW COLUMNSステートメントを使用します。このステートメントを実行すると、指定したテーブルに含まれるすべてのカラムの名前やデータ型などの情報を確認できます。

基本構文

SHOW COLUMNS FROM tab_name

tab_name の部分には、カラム一覧を確認したいテーブルの名前を指定します。

実行例

ここでは、Student_info というテーブルからカラム一覧を取得してみましょう。次のように実行します。

mysql> SHOW COLUMNS FROM Student_info\G
*************************** 1. row ***************************
  Field: studentid
   Type: int(11)
   Null: YES
    Key:
Default: NULL
  Extra:
*************************** 2. row ***************************
  Field: Name
   Type: varchar(40)
   Null: YES
    Key:
Default: NULL
  Extra:
*************************** 3. row ***************************
  Field: Address
   Type: varchar(20)
   Null: YES
    Key:
Default: NULL
  Extra:
*************************** 4. row ***************************
  Field: Subject
   Type: varchar(20)
   Null: YES
    Key:
Default: NULL
  Extra:
4 rows in set (0.06 sec)

実行結果から、このテーブルには「studentid」「Name」「Address」「Subject」の4つのカラムが存在することがわかります。各カラムについて、以下の情報が表示されます。

  • Field:カラム名
  • Type:データ型(例:int(11)、varchar(40) など)
  • Null:NULL値を許容するかどうか
  • Key:主キーやインデックスなどのキー情報
  • Default:デフォルト値
  • Extra:AUTO_INCREMENTなどの追加属性

補足:DESCRIBEステートメントでも同じ結果が得られる

なお、SHOW COLUMNS FROM テーブル名 と同じ結果は、短縮形である DESCRIBE テーブル名 または DESC テーブル名 でも取得できます。テーブル構造を手軽に確認したい場合に便利なので、覚えておくとよいでしょう。

  1. MySQLで別テーブルのIDからユーザー名を取得する方法|JOINの使い方を徹底解説

    MySQLでは、別々のテーブルに保存されたデータをIDをキーに関連付けて取得したい場面が多くあります。そのような場合にはJOIN(内部結合)を使うことで、複数のテーブルを結合し、目的のユーザー名を簡単に取り出すことができます。 本記事では、実際にサンプルテーブルを作成しながら、JOINクエリの書き方をステップごとに解説します。 1つ目のテーブル「demo77」を作成する まず、ユーザーID(userid)とユーザー名(username)を格納するテーブルを作成します。useridは主キーとして設定します。 mysql> create table demo77 -> (

  2. C言語・C++でディレクトリ内のファイル一覧を取得する方法

    C++のサンプルコードをもとに、ディレクトリ内のファイル一覧を取得して表示する方法を解説します。ここではPOSIX系システム(Linuxなど)で利用できる dirent.h ヘッダと、opendir()・readdir()・closedir() の各関数を使用します。アルゴリズム開始   DIR型へのポインタ dr を宣言する。   dirent構造体へのポインタ en を宣言する。   opendir()関数を呼び出し、カレントディレクトリを開く。   ポインタdrを dr = opendir(.) として初期化する。   if(dr)     while ((en = readdir(dr