MySQL veritabanındaki bir tablonun şemasını nasıl gösterebilirim?


Yanıtlar:


535
describe [db_name.]table_name;

biçimlendirilmiş çıktı için veya

show create table [db_name.]table_name;

tablo oluşturmak için kullanılabilecek SQL deyimi için.


2
Cevap bu değil. OP "db_name" bölümünü
bulmaya çalışıyor

40
OP bu cevabı 7 yıl önce kabul etti. Bence bu cevaptan mutluydu.
Omry Yadan

Veritabanı bir şema değildir.
Kodlayıcı

1
ya da desc [db_name.]table_name;kısaca.
yakout

1
Antionio'nun savunmasında, bazı sistemler ilgili tablo koleksiyonlarını veritabanı değil şema olarak ifade eder. Hangi veya neden olduğundan emin değilim.
2018

108
SHOW CREATE TABLE yourTable;

veya

SHOW COLUMNS FROM yourTable;

18

descTablo açıklaması için olduğu gibi kısaltmak için de kısayol kullanabilirsiniz .

desc [db_name.] tablo_adı;

veya

db_name kullanın;
tablo_adı;

explainTablo açıklaması için de kullanabilirsiniz .

açıkla [db_name.] tablo_adı;

Resmi dokümana bakın

Gibi çıktı verecek:

+----------+-------------+------+-----+---------+-------+
| 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    |       |
+----------+-------------+------+-----+---------+-------+

12

Belki soru burada nedeniyle gerekenler ile ilgili biraz daha hassas olması gerekiyor olabilir iki farklı yol okumak olsun. yani

  1. MySQL'de bir tablo için yapısını / tanımını nasıl alabilirim?
  2. Bu tablonun içinde bulunduğu şemanın / veritabanının adını nasıl alabilirim?

Kabul edilen cevap göz önüne alındığında, OP açıkça birinci şekilde yorumlanmasını amaçlamıştır. Soruyu okuyan herkes için başka bir yol deneyin

SELECT `table_schema` 
FROM `information_schema`.`tables` 
WHERE `table_name` = 'whatever';

İkinci noktaya verdiğiniz yanıt, aradığım şey için bana yardımcı oldu. Editörüm kullanmaya çalıştığım tabloda "Geçersiz Nesne" diyerek hata attı ve bu bilgileri alana kadar tablonun zaten başka biri tarafından oluşturulduğu için tablonun düştüğü DB veya Şema hakkında hiçbir fikrim yok
MannedKas

5
SELECT COLUMN_NAME, TABLE_NAME,table_schema
FROM INFORMATION_SCHEMA.COLUMNS;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.