2011-11-03 5 views
2

mysql 데이터베이스의 스키마를 가져 오는 방법은 무엇입니까?MySQL/phpMyAdmin에서 DB의 스키마를 추출하는 방법은 무엇입니까?

나는이 데이터베이스 내에 많은 데이터베이스와 테이블을 가지고 있으며, 내 로컬 컴퓨터에서 WAMP와 함께 phpmyadmin을 사용합니다.

스키마 이름을 빼거나 데이터베이스 이름, 테이블 이름, 열 및 속성 (예 : INT(2))을 추출하고 csv/excel/excell에서 편집 할 수있는 형식으로 내보내기해야합니다.

내가 사용 :

서버 :

 
    Apache/2.2.21 (Win64) PHP/5.3.8 
    MySQL client version: mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $ 
    PHP extension: mysqli Documentation 

MySQL의 :

 
    Server: localhost (localhost via TCP/IP) 
    Server version: 5.5.16-log 
    Protocol version: 10 
    User: [email protected] 
    MySQL charset: UTF-8 Unicode (utf8) 

감사합니다!

답변

5

원하는 것을 정확히 모르겠습니다. 다음 방법 중 하나를 시도해보십시오.

1)phpMyAdmin의 내보내기 기능을 사용하여 데이터베이스를 내보낼 수 있습니다. PMA를 사용하면 데이터를 생략 할 수 있습니다.

2)mysqldump을 사용하여 동일하게 수행 할 수 있습니다. 이 명령은/DATABASE를 만들 수출 TABLE 쿼리를 작성해야합니다 : 당신은 MySQL의 스키마 테이블에서 정보를 가져올 수

mysqldump -hlocalhost -uroot -proot --all-databases --no-data > create-database-and-tables.sql 

3). 대부분의 mySQL 클라이언트 (phpMyAdmin, HeidiSQL 등)를 사용하면 쿼리 결과를 CSV로 내보낼 수 있습니다. 몇 가지 유용한 쿼리 : 데이터베이스에 대한 phpMyAdmin을 수출 탭에서

/* 
* DATABASE, TABLE, TYPE 
*/ 
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA NOT IN ('information_schema', 'performance_schema', 'mysql') 
ORDER BY TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE 

/* 
* DATABASE, TABLE, COLUMN, TYPE 
*/ 
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE /* ETC */ 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA NOT IN ('information_schema', 'performance_schema', 'mysql') 
ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION 
+0

세 번째 옵션이 도움이되었습니다. 두 번째 쿼리를 사용한 다음 결과를 csv로 내 보낸 다음이를 Excel로 변환했습니다. 이제는 열 이름과 필드 설정으로 모든 테이블에 대한 세부 정보를 얻었습니다. 감사! –

2

콘솔에서 mysqldump을 사용할 수 있습니다. 예 :

mysqldump -h localhost -u user -p -d -r dump.sql db_name 

-d 스위치는 -r는 주어진 파일로 출력을 지정, 스키마 만 덤프 mysqldump한다. -X을 사용하여 XML 형식의 덤프를 작성할 수도 있습니다.

+0

감사를 선택합니다. 덤핑이 효과가 있었다. 그러나 어디에 저장되어 있으며, 위의 경우 출력은 어떤 형식입니까? 나는 wamp 서버를 사용한다. mysql은 c : \ wamp \ bin \ mysql \ –

+0

@arun에 있습니다. 기본적으로 출력은 stdout으로 이동합니다. '-r file_name'을 사용하여 파일로 보낼 수 있습니다. 형식은 SQL –

+0

음 ... 나는 그런 식으로 SQL 싶지 않아.내가 찾고있는 것은 컬럼 구조를 가진 테이블 구조와 Excel 형식이다. 어떻게 든 가능할까요? –

1

은, 당신이 원하는 :

  1. 확인 상자 : 사용자 정의 - 모든 가능한 옵션을 표시합니다.
    형식 별 옵션에서 Step 1

  2. : 섹션 구조를 만
    Step 2

관련 문제