回答:
データベース構造全体を一連のCREATE TABLEステートメントとして取得するには、mysqldumpを使用します。
mysqldump database_name --compact --no-data
単一のテーブルの場合、mysqldumpでデータベース名の後にテーブル名を追加します。SQLとSHOW CREATE TABLEでも同じ結果が得られます。
SHOW CREATE TABLE table;
または、列リストが必要な場合はDESCRIBE:
DESCRIBE table;
show create tableまさに私が探していたものでした。ありがとう!
をご覧くださいINFORMATION_SCHEMA。TABLESテーブル。すべてのテーブルに関するメタデータが含まれています。
例:
SELECT * FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE TABLE_NAME LIKE 'table1'
他の方法に対するこれの利点は、上記のようなクエリを他のクエリのサブクエリとして簡単に使用できることです。
information_schema。columns(columnsテーブルの代わりにテーブルを使用しますtablesか?tablesテーブルの列のタイプに関する情報が含まれていないため
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME ='products';
Table_schemaデータベース名はどこですか
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_db_name' AND TABLE_NAME ='users';
それがSHOW CREATE TABLEクエリです。SCHEMA TABLESをクエリすることもできます。
SHOW CREATE TABLE YourTableName;
私が役に立ったと思った最初の答えのバリエーション
コマンドプロンプトを開いて入力します(mysqlサーバーにログインする必要はありません)。
mysqldump -hlocalhost -u<root> -p<password> <dbname> --compact --no-data > </path_to_mydump/>mysql.dmp
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA。COLUMNS
WHERE TABLE_SCHEMA= 'bodb' AND TABLE_NAME= 'abc';
すべての列名を取得するために機能します
次の例では、
playgroundはデータベース名で、equipmentはテーブル名です
別の方法は、SHOW-COLUMNS:5.5を使用することです(でも使用可能5.5>)
$ mysql -uroot -p<password> -h<host> -P<port> -e \
"SHOW COLUMNS FROM playground.equipment"
そして出力:
mysql: [Warning] Using a password on the command line interface can be insecure.
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| type | varchar(50) | YES | | NULL | |
| quant | int(11) | YES | | NULL | |
| color | varchar(25) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
mysqlshow-client(でも利用可能5.5>)を次のように使用することもできます。
$ mysqlshow -uroot -p<password> -h<host> -P<port> \
playground equipment
そして出力:
mysqlshow: [Warning] Using a password on the command line interface can be insecure.
Database: playground Table: equipment
+-------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| id | int(11) | | NO | PRI | | auto_increment | select,insert,update,references | |
| type | varchar(50) | latin1_swedish_ci | YES | | | | select,insert,update,references | |
| quant | int(11) | | YES | | | | select,insert,update,references | |
| color | varchar(25) | latin1_swedish_ci | YES | | | | select,insert,update,references | |
+-------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
SHOW TABLES FROM database_name