어떻게 든 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'
다른 방법에 비해이 방법의 장점은 위의 쿼리와 같은 쿼리를 다른 쿼리의 하위 쿼리로 쉽게 사용할 수 있다는 것입니다.
답변
답변
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
