MySQL Workbench에서 테이블 생성 스크립트를 얻는 방법은 무엇입니까?
MySQL Workbench에서 테이블 생성 스크립트를 가져 오는 바로 가기를 찾을 수 없기 때문에 MySQL GUI 도구의 MySQL 쿼리 브라우저로 롤백하고 있습니다.
적어도 Community Edition에서는 그러한 옵션을 찾을 수 없습니다.
불행히도 상용판 (인용) 에서만 사용할 수 있는 리버스 엔지니어링 기능에 해당한다고 생각합니다 .
MySQL 서버에서 직접 데이터베이스를 리버스 엔지니어링하는 것은 MySQL Workbench의 상용 버전에만 적용됩니다 .
그래도 일반 SQL create table을 사용하여 테이블을 만들 수있는 지침 을 얻을 수 있습니다.
예를 들어 다음 쿼리는 다음과 같습니다.
show create table url_alias;
drupal 데이터베이스에서 실행 click > copy field content하면 결과에 대한 권한 을 사용할 때 다음과 같이 제공됩니다 .
'CREATE TABLE `url_alias` (
`pid` int(10) unsigned NOT NULL auto_increment,
`src` varchar(128) NOT NULL default '''',
`dst` varchar(128) NOT NULL default '''',
`language` varchar(12) NOT NULL default '''',
PRIMARY KEY (`pid`),
UNIQUE KEY `dst_language` (`dst`,`language`),
KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8'
불행히도 (다시) , MySQL Workbench는 이런 식으로 복사 할 때 모든 곳에 따옴표를 추가합니다 :-(
편집 : MySQL 8.0을 사용 click > copy field (unquoted)하면 결과에 따옴표없이 원하는 결과를 얻을 수 있는 옵션 이 있습니다.
결국 MySQL Query Browser를 사용하는 것을 제외하고 가장 간단한 솔루션은 명령 줄 클라이언트를 사용하여 데이터베이스에 연결하고 show create table거기 에서 쿼리를 실행하는 것입니다.
mysql> show create table url_alias\G
*************************** 1. row ***************************
Table: url_alias
Create Table: CREATE TABLE `url_alias` (
`pid` int(10) unsigned NOT NULL auto_increment,
`src` varchar(128) NOT NULL default '',
`dst` varchar(128) NOT NULL default '',
`language` varchar(12) NOT NULL default '',
PRIMARY KEY (`pid`),
UNIQUE KEY `dst_language` (`dst`,`language`),
KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
출력의 " 올바른 부분 "을 얻는 것이 더 쉽습니다. 제거 할 따옴표가 없습니다.
그리고 완성 mysqldump을 위해 테이블의 구조를 가져 오는 데 사용할 수도 있습니다 .
mysqldump --no-data --user=USERNAME --password=PASSWORD --host=HOST DATABASE_NAME TABLE_NAME
--no-data스위치를 사용하면 일부 모드 설정과 그 중간에 있는 구조 만 얻을 수 있습니다.
개별 테이블의 생성 스크립트를 얻으려면 테이블 이름을 마우스 오른쪽 버튼으로 클릭하고 클립 보드로 복사> 문 생성을 클릭하십시오.
File> Forward Engineering SQL_CREATE Script .. 옵션을 활성화하고 전체 데이터베이스에 대한 생성 스크립트를 가져 오려면 다음을 수행하십시오.
- 데이터베이스> 리버스 엔지니어링 (Ctrl + R)
- 단계를 거쳐 EER 다이어그램을 만듭니다.
- EER 다이어그램을 볼 때 File> Forward Engineering SQL_CREATE Script ... (Ctrl + Shift + G)를 클릭하십시오.
관련 테이블을 마우스 오른쪽 버튼으로 클릭하고 다음 중 하나를 선택합니다.
- 클립 보드로 복사> 문 만들기
- SQL 편집기로 보내기> 문 만들기
그것은 나를 위해 일하는 것 같습니다.
SQL 개발보다는 서버 관리에 있습니다.
- 홈 화면의 맨 오른쪽에있는 서버 관리 섹션에서 데이터베이스가있는 데이터베이스 서버 인스턴스를 선택하십시오.
- 오른쪽 메뉴에서 데이터 내보내기를 선택 합니다 .
- 내보낼 데이터베이스를 선택하고 위치를 선택하십시오.
- 내보내기 시작을 클릭합니다.
테이블 만들기 표시
문제를 완전히 이해했는지 확실하지 않지만 내보내기 스크립트 작성에 관한 것이라면 엔지니어를 SQL 스크립트-Ctrl + Shift + G 또는 파일-> 내보내기-> 첫 번째 옵션으로 전달해야합니다.
나는 같은 질문에 대한 답을 찾기 위해 여기에 왔습니다. 하지만 훨씬 더 나은 답을 찾았습니다.
In the tables list, if you right-click on the table name there is a suite of CRUD script generation options in "Send to SQL Editor". You can select multiple tables and take the same approach too.
내 버전의 MySQL Workbench : 5.2.37
"모델 개요"또는 "다이어그램"에서 테이블을 마우스 오른쪽 버튼으로 클릭하면 다음 옵션이 있습니다. "삽입물을 클립 보드로 복사"또는 "SQL을 클립 보드로 복사"
이것이 여전히 문제인지 확실하지 않지만 5.2.35CE에서는 다음과 같이 스크립트 생성을 얻을 수 있습니다.
데이터베이스-> 리버스 엔지니어
저장된 연결에서 데이터베이스를 선택하십시오.
"다음"을 몇 번 누르고 리버스 엔지니어링 할 스키마를 선택한 다음 도구가 작동하도록합니다.
모든 DB의 스키마가 포함 된 "EER 다이어그램"보기가 표시됩니다. 관심있는 테이블을 마우스 오른쪽 단추로 클릭하고 "클립 보드에 SQL 복사"를 선택하면 필요한 것을 얻을 수있을 것입니다.
바라건대 이것은 그것을 필요로하는 다른 사람에게 도움이되기를 바랍니다.
1 사용 명령
show create table test.location
MySQL Workbench 6.3E 솔루션
- 왼쪽 패널에서 표를 마우스 오른쪽 버튼으로 클릭하고 "표 검사기"를 선택합니다.
- 가운데 패널에서 DDL 레이블을 클릭합니다.
U 사용할 수 있습니다 MySQL의 프록시 와의scripting system to view SQL queries in realtime in the terminal.
- Open MySQL Workbench (6.3 CE)
- In "Navigator" select "Management"
- 그런 다음 "데이터 내보내기"를 선택합니다 (여기에서 내보낼 스크립트 생성이있는 테이블 선택).
- 드롭 다운에서 "Dump Structure and Data"를 선택합니다.
- "스키마 생성 포함"확인란을 선택합니다.
- "내보내기 시작"버튼을 클릭합니다. 내보내기가 완료되면 내 보낸 파일이 시스템에서 덤프되는 위치가 표시됩니다. 해당 위치로 이동하여 내 보낸 파일을 열어 테이블 생성 스크립트를 찾습니다.
또는 https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html을 확인 하십시오.
참고 URL : https://stackoverflow.com/questions/2433133/how-to-get-a-table-creation-script-in-mysql-workbench
'Nice programing' 카테고리의 다른 글
| 활성 예외없이 호출 된 C ++ 종료 (0) | 2020.11.10 |
|---|---|
| 데이터베이스에서 문자열 일부 검색 및 바꾸기 (0) | 2020.11.09 |
| 동적으로 활동 이름 가져 오기-Android (0) | 2020.11.09 |
| 개체를 HttpClient.PostAsync에 전달하고 JSON 본문으로 직렬화하려면 어떻게해야합니까? (0) | 2020.11.09 |
| PHP에서 @ 연산자로 오류 억제 (0) | 2020.11.09 |

