Mysql 워크벤치에서 두 모델 간에 테이블을 복사하는 방법은 무엇입니까?
저는 데이터베이스 작업을 하고 있습니다. 한 모델에서 다른 모델로 테이블을 복사해야 하지만 여러 가지 방법으로 효과가 없습니다.이것을 할 수 있는 방법이 있습니까?
MySQL Workbench를 통해 단일 테이블을 수행하려는 경우.
MySQL 워크벤치에서:
- MySQL 서버에 연결
- 데이터베이스 확장
- 테이블에서 마우스 오른쪽 단추 클릭
- 클립보드에 복사 선택
- 문 만들기 선택
테이블에 대한 생성 문이 아래와 유사하게 클립보드에 복사됩니다.
CREATE TABLE `cache` (
`cid` varchar(255) NOT NULL DEFAULT '',
`data` longblob,
`expire` int(11) NOT NULL DEFAULT '0',
`created` int(11) NOT NULL DEFAULT '0',
`headers` text,
`serialized` smallint(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`cid`),
KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
새 데이터베이스에 테이블 만들기
- 쿼리 실행을 위한 새 SQL 탭 열기(파일->새 쿼리 탭)
테이블을 작성할 데이터베이스를 포함하도록 테이블 작성 코드를 변경합니다.
CREATE TABLE `databaseName`.`cache` ( `cid` varchar(255) NOT NULL DEFAULT '', `data` longblob, `expire` int(11) NOT NULL DEFAULT '0', `created` int(11) NOT NULL DEFAULT '0', `headers` text, `serialized` smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (`cid`), KEY `expire` (`expire`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
그런 다음 Execute(실행) 버튼을 클릭합니다(번개 볼트처럼 보임).
그러면 MySQL 워크벤치를 사용하여 테이블 스키마가 한 DB에서 다른 DB로 복사됩니다.데이터베이스의 테이블을 새로 고치기만 하면 새로 추가된 테이블이 표시됩니다.
- 원본 데이터베이스가 있는 탭 선택
- In 메뉴: Server->Data Export
- 스키마 및 테이블을 스키마 개체로 선택
- Export to Self-Contained File 옵션을 선택하고 Create Dump in a Single Transaction(자체 포함 전용)을 선택합니다.
- 전체 파일 경로를 클립보드에 복사
- 내보내기 시작
- 대상 데이터베이스가 있는 탭 선택
- 메뉴: Server->Data Import.대상 데이터베이스 이름이 데이터 가져오기 보기의 왼쪽 상단 모서리에 있는지 확인합니다.
- 자체 포함 파일에서 가져오기를 선택하고 클립보드에서 전체 파일 경로 붙여넣기
- 기본 대상 스키마 선택
- 덤프 컨텐츠 선택(덤프 구조 및 데이터 등)
- 가져오기 시작
가장 좋은 방법은 이월할 객체가 포함된 모델의 분해된 버전을 만드는 것입니다. 다음 그런다대모열실고행다니합을델상음▁and다니▁then실합을 실행합니다.File -> Include Model...
분해된 소스 모델을 선택하면 됩니다.
선택 문을 사용하면 됩니다.여기서 "original_schema" 스키마/데이터베이스에서 "new_schema" 스키마로 "original_table" 테이블의 복제를 만듭니다.
CREATE TABLE new_schema.duplicate_table AS
Select * from original_schema.original_table;
필요한 select 문을 넣고 조건을 추가한 다음 열을 선택하면 됩니다.
CREATE TABLE new_schema.duplicate_table AS
SELECT column1, column2
FROM original_schema.original_table
WHERE column2 < 11000000;
나는 그것을 언급할 가치가 있다고 생각합니다.
- 복사된 테이블은 복사할 스키마에 있는 원래 스키마의 테이블에 있는 필드를 참조할 수 있습니다.테이블을 다른 스키마에 추가하기 전에 테이블에서 이러한 불일치를 검사하는 것이 좋습니다.
- 엔진 호환성(예: InnoDB vs MyISAM) 및 문자 집합을 확인하는 것이 좋습니다.
테이블을 이미 만든 상태에서 데이터만 복사하려면 "데이터 내보내기 마법사" 및 "데이터 가져오기 마법사"를 사용하는 것이 좋습니다.기본적으로 프로그램에서 내보낼 내용을 선택한 다음 데이터를 가져오는 것이며 사용하기 쉽습니다.
MySQL에는 마법사에 대한 기사가 있습니다. 테이블 데이터 내보내기 및 가져오기 마법사
마법사를 사용하여 데이터를 복사하려면 다음을 수행합니다.
- 목록에서 데이터를 복사할 테이블을 찾습니다.
- 마우스 오른쪽 단추를 누른 후 "테이블 데이터 내보내기 마법사"를 선택합니다.
- 복사할 열을 선택합니다.
복사된 데이터와 함께 *.csv 또는 *.json 파일을 저장할 위치를 선택합니다.
복사한 데이터를 삽입할 테이블을 찾습니다.
- 마우스 오른쪽 단추를 누른 후 "테이블 데이터 가져오기 마법사"를 선택합니다.
- 방금 내보낸 파일을 선택합니다.
- 복사한 테이블의 열을 삽입할 테이블에 매핑합니다.
- 완료를 누릅니다.선택한 대로 데이터가 삽입됩니다.
1단계 : 테이블에서 마우스 오른쪽 버튼 클릭 > 클립보드로 복사 > 문 만들기
2단계: 클립보드를 워크벤치의 쿼리 필드에 붙여넣습니다.
3단계: 테이블 이름과 모델 이름에서 ('')를 제거하고 점으로 표시합니다.
eg : 'cusine_builder' -> schema_name.cusine_builder
실행에 옮기다
이 게시물에서 우리는 MySQL에서 테이블을 복사하는 방법을 보여줄 것입니다.
먼저, 이 쿼리는 데이터와 구조를 복사하지만 인덱스는 포함되지 않습니다.
CREATE TABLE new_table SELECT * FROM old_table;
둘째, 이 쿼리는 테이블 구조와 인덱스를 복사하지만 데이터는 복사하지 않습니다.
CREATE TABLE new_table LIKE old_table;
따라서 인덱스, 기본 키 제약 조건, 외부 키 제약 조건, 트리거 등과 같은 데이터베이스 개체를 포함한 모든 항목을 복사하려면 다음 쿼리를 실행합니다.
CREATE TABLE new_table LIKE old_table;
INSERT new_table SELECT * FROM old_table;
한 데이터베이스에서 다른 데이터베이스로 표를 복사하려는 경우:
CREATE TABLE destination_db.new_table LIKE source_db.old_table;
INSERT destination_db.new_table
SELECT
*
FROM
source_db.old_table;
.m_nature_nature와 같은 테이블 .m_nature를 만듭니다.
.m_property_nature에서 .m_property_nature에 삽입 *;
테이블 정보에서 테이블 작성 쿼리를 가져와 다른 데이터베이스 인스턴스에서 동일한 쿼리를 사용할 수 있습니다.
- create table TABLENE.content를 표시하고 쿼리를 복사합니다.
- 연결된 다른 DB 인스턴스에서 생성된 쿼리를 실행합니다.
언급URL : https://stackoverflow.com/questions/17119500/how-to-copy-table-between-two-models-in-mysql-workbench
'programing' 카테고리의 다른 글
jQuery: 자식 제외 함수를 클릭합니다. (0) | 2023.09.03 |
---|---|
href in jquery로 요소를 얻는 방법은 무엇입니까? (0) | 2023.09.03 |
MariaDB 다중 행 삽입 순서 (0) | 2023.09.03 |
asp.net 에서 "Access-Control-Allow-Origin" 헤더를 구현하는 방법 (0) | 2023.09.03 |
Android Studio - 인터넷이 연결되지 않은 Android Emulator WiFi (0) | 2023.08.29 |