[mysql] 쿼리를 통해 MySQL에서 데이터베이스 구조를 얻는 방법

어떻게 든 MySQL 데이터베이스의 구조를 얻거나 간단한 쿼리로 테이블을 얻을 수 있습니까?

아니면 다른 방법이 있습니까? 어떻게 할 수 있습니까?



답변

당신이 쫓아 온 것이 DESCRIBE

DESCRIBE table;

당신은 또한 사용할 수 있습니다 SHOW TABLES

SHOW TABLES;

데이터베이스의 테이블 목록을 가져옵니다.


답변

전체 데이터베이스 구조를 CREATE TABLE 문 세트로 가져 오려면 mysqldump를 사용하십시오 .

mysqldump database_name --compact --no-data

단일 테이블의 경우 mysqldump에서 db 이름 뒤에 테이블 이름을 추가하십시오. SQL과 SHOW CREATE TABLE을 사용하여 동일한 결과를 얻습니다 .

SHOW CREATE TABLE table;

열 목록을 선호하는 경우 DESCRIBE 또는

DESCRIBE table;


답변

를 살펴보십시오 INFORMATION_SCHEMA. TABLES표. 모든 테이블에 대한 메타 데이터가 포함되어 있습니다.

예:

SELECT * FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE TABLE_NAME LIKE 'table1'

다른 방법에 비해이 방법의 장점은 위의 쿼리와 같은 쿼리를 다른 쿼리의 하위 쿼리로 쉽게 사용할 수 있다는 것입니다.


답변

이것을 사용하여 :

SHOW CREATE TABLE `users`;

해당 테이블에 대한 DDL 을 제공 합니다

DESCRIBE `users`

해당 테이블의 열을 나열합니다.


답변

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME ='products'; 

Table_schema데이터베이스 이름은 어디에 있습니까


답변

이것이 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