쿼리를 통해 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
COLUMN_NAME
FROM에서 선택하십시오 INFORMATION_SCHEMA
. COLUMNS
어디에 TABLE_SCHEMA
= 'bodb'AND TABLE_NAME
= 'abc';
모든 열 이름을 가져옵니다.
요즘 사람들은 DESC
대신에 사용 합니다 DESCRIPTION
. 예를 들면 다음과 같습니다.DESC users;
다음 예에서
playground
데이터베이스 이름이고equipment
테이블 이름입니다.
또 다른 방법은 사용 SHOW-열 : 5.5 (사용할 수를도에 대한 5.5>
)
$ mysql -uroot -p<password> -h<host> -P<port> -e \
"SHOW COLUMNS FROM playground.equipment"
그리고 출력 :
mysql: [Warning] Using a password on the command line interface can be insecure.
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| type | varchar(50) | YES | | NULL | |
| quant | int(11) | YES | | NULL | |
| color | varchar(25) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
하나는 사용할 수 mysqlshow 데이터 클라이언트 (도 사용할 수를 5.5>
다음과 같이) :
$ mysqlshow -uroot -p<password> -h<host> -P<port> \
playground equipment
그리고 출력 :
mysqlshow: [Warning] Using a password on the command line interface can be insecure.
Database: playground Table: equipment
+-------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| id | int(11) | | NO | PRI | | auto_increment | select,insert,update,references | |
| type | varchar(50) | latin1_swedish_ci | YES | | | | select,insert,update,references | |
| quant | int(11) | | YES | | | | select,insert,update,references | |
| color | varchar(25) | latin1_swedish_ci | YES | | | | select,insert,update,references | |
+-------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
참고 URL : https://stackoverflow.com/questions/898688/how-to-get-database-structure-in-mysql-via-query
'programing tip' 카테고리의 다른 글
MySQL에서 마지막 행을 선택하십시오. (0) | 2020.06.05 |
---|---|
Rails : 페이지 제목을 어떻게 바꾸나요? (0) | 2020.06.05 |
Visual Studio 2015 또는 2017에서 단위 테스트를 찾지 못함 (0) | 2020.06.05 |
백분율 높이 HTML 5 / CSS (0) | 2020.06.05 |
객체를 포함하는 배열을 반복하고 속성에 액세스하는 방법 (0) | 2020.06.05 |