Bagaimana cara memperlihatkan skema tabel dalam database MySQL?

Jawaban:

535
describe [db_name.]table_name;

untuk output yang diformat, atau

show create table [db_name.]table_name;

untuk pernyataan SQL yang dapat digunakan untuk membuat tabel.

Omry Yadan
sumber
2
Ini bukan jawabannya. OP sedang mencari tahu bagian "db_name", dan solusi ini mengasumsikan Anda sudah tahu itu
Antonio Ortells
40
OP menerima jawaban itu 7 tahun yang lalu. Saya pikir dia senang dengan jawaban itu.
Omry Yadan
Basis data bukan skema.
Coder
1
atau desc [db_name.]table_name;singkatnya.
yakout
1
Dalam pembelaan Antionio, beberapa sistem merujuk ke koleksi mereka dari tabel terkait sebagai skema dan bukan database. Tidak yakin yang mana atau mengapa.
dlamblin
108
SHOW CREATE TABLE yourTable;

atau

SHOW COLUMNS FROM yourTable;
Polisi
sumber
18

Anda juga dapat menggunakan singkatan untuk menggambarkan sebagai descdeskripsi tabel.

desc [db_name.] table_name;

atau

gunakan db_name;
desc table_name;

Anda juga dapat menggunakan explaindeskripsi tabel.

jelaskan [db_name.] table_name;

Lihat dokumen resmi

Akan memberikan output seperti:

+----------+-------------+------+-----+---------+-------+
| 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    |       |
+----------+-------------+------+-----+---------+-------+
Somnath Muluk
sumber
12

Mungkin pertanyaannya perlu sedikit lebih tepat di sini tentang apa yang diperlukan karena dapat dibaca dua cara berbeda. yaitu

  1. Bagaimana cara mendapatkan struktur / definisi untuk tabel di mysql?
  2. Bagaimana saya mendapatkan nama skema / database tabel ini berada?

Mengingat jawaban yang diterima, OP jelas bermaksud untuk ditafsirkan dengan cara pertama. Untuk siapa pun yang membaca pertanyaan dengan cara lain, cobalah

SELECT `table_schema` 
FROM `information_schema`.`tables` 
WHERE `table_name` = 'whatever';
Paul Campbell
sumber
Jawaban Anda untuk poin kedua membantu saya untuk apa yang saya cari. Editor saya melempar kesalahan dengan mengatakan "Objek Tidak Valid" di atas meja yang saya coba gunakan dan saya tidak tahu tentang DB atau Skema di mana tabel jatuh sebagai meja sudah dibuat oleh orang lain sudah, sampai saya mendapatkan informasi ini
mannedear
5
SELECT COLUMN_NAME, TABLE_NAME,table_schema
FROM INFORMATION_SCHEMA.COLUMNS;
Lam
sumber