MySQL データベース内のテーブルのスキーマを表示するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1498777

質問

MySQL コンソールから、特定のテーブルのスキーマを表示するコマンドは何ですか?

役に立ちましたか?

解決

describe [db_name.]table_name;

フォーマットされた出力のために、または

show create table [db_name.]table_name;

テーブルを作成するために使用することができるSQL文のます。

他のヒント

SHOW CREATE TABLE yourTable;

または

SHOW COLUMNS FROM yourTable;

また、テーブルの説明のためのdescとして記述するための速記を使用することができます。

  

DESC [DB_NAME。]テーブル名;

または

  

DB_NAMEを使用します。
  降順TABLE_NAME;

また、テーブルの説明のためのexplainを使用することができます。

  

説明[DB_NAME。]テーブル名;

を参照してください。公式ドキュメント

のような出力が得られます。

+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(10)     | NO   | PRI | NULL    |       |
| name     | varchar(20) | YES  |     | NULL    |       |
| age      | int(10)     | YES  |     | NULL    |       |
| sex      | varchar(10) | YES  |     | NULL    |       |
| sal      | int(10)     | YES  |     | NULL    |       |
| location | varchar(20) | YES  |     | Pune    |       |
+----------+-------------+------+-----+---------+-------+

おそらく、ここでの質問は何が必要かについてもう少し正確にする必要があります。 できる 2 通りの読み方ができます。つまり

  1. mysql でテーブルの構造/定義を取得するにはどうすればよいですか?
  2. このテーブルが存在するスキーマ/データベースの名前を取得するにはどうすればよいですか?

受け入れられた回答を考慮すると、OPは明らかに最初の方法で解釈されることを意図していました。質問を逆に読んでいる人は試してみてください

SELECT `table_schema` 
FROM `information_schema`.`tables` 
WHERE `table_name` = 'whatever';
SELECT COLUMN_NAME, TABLE_NAME,table_schema
FROM INFORMATION_SCHEMA.COLUMNS;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top