Czy można jakoś uzyskać strukturę bazy danych MySQL, czy po prostu jakąś tabelę za pomocą prostego zapytania?
Czy jest inny sposób, jak mogę to zrobić?
Myślę, że to, czego szukasz, jest DESCRIBE
DESCRIBE table;
Możesz także użyć SHOW TABLES
SHOW TABLES;
aby uzyskać listę tabel w bazie danych.
SHOW TABLES FROM database_name
Aby uzyskać całą strukturę bazy danych jako zestaw instrukcji CREATE TABLE , użyj mysqldump :
W przypadku pojedynczych tabel dodaj nazwę tabeli po nazwie bazy danych w mysqldump. Te same wyniki uzyskasz z SQL i SHOW CREATE TABLE :
LUB OPISZ, jeśli wolisz listę kolumn:
źródło
show create table
był dokładnie tym, czego szukałem. Dzięki!Spójrz na
INFORMATION_SCHEMA
.TABLES
stół. Zawiera metadane dotyczące wszystkich twoich tabel.Przykład:
Zaletą tej metody w porównaniu z innymi metodami jest to, że możesz łatwo używać zapytań, takich jak powyższe, jako podzapytań w innych zapytaniach.
źródło
information_schema
.columns
(używacolumns
tabeli zamiasttables
? Ponieważtables
nie zawiera żadnych informacji o tym, jakie typy są kolumny tabeliużywając tego:
poda Ci DDL dla tej tabeli
wyświetli listę kolumn w tej tabeli
źródło
gdzie
Table_schema
jest nazwa bazy danychźródło
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';
To jest zapytanie SHOW CREATE TABLE . Możesz również zapytać o TABELE SCHEMATÓW .
źródło
Odmiana pierwszej odpowiedzi, która okazała się przydatna
Otwórz wiersz poleceń i wprowadź (nie musisz być zalogowany na serwerze mysql)
źródło
SELECT
COLUMN_NAME
FROMINFORMATION_SCHEMA
.COLUMNS
GDZIETABLE_SCHEMA
= „bodb” ANDTABLE_NAME
= „abc”;działa w celu uzyskania wszystkich nazw kolumn
źródło
W poniższym przykładzie
Innym sposobem jest użycie SHOW-COLUMNS: 5.5 (dostępne również dla
5.5>
)A wynik:
Można również użyć mysqlshow-client (również dla
5.5>
) jak poniżej:A wynik:
źródło
W dzisiejszych czasach ludzie używają
DESC
zamiastDESCRIPTION
. Na przykład:-DESC users;
źródło