programing

Mysql 워크벤치에서 두 모델 간에 테이블을 복사하는 방법은 무엇입니까?

goodsources 2023. 9. 3. 16:14
반응형

Mysql 워크벤치에서 두 모델 간에 테이블을 복사하는 방법은 무엇입니까?

저는 데이터베이스 작업을 하고 있습니다. 한 모델에서 다른 모델로 테이블을 복사해야 하지만 여러 가지 방법으로 효과가 없습니다.이것을 할 수 있는 방법이 있습니까?

MySQL Workbench를 통해 단일 테이블을 수행하려는 경우.

MySQL 워크벤치에서:

  1. MySQL 서버에 연결
  2. 데이터베이스 확장
  3. 테이블에서 마우스 오른쪽 단추 클릭
  4. 클립보드에 복사 선택
  5. 문 만들기 선택

테이블에 대한 생성 문이 아래와 유사하게 클립보드에 복사됩니다.

   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;

새 데이터베이스에 테이블 만들기

  1. 쿼리 실행을 위한 새 SQL 탭 열기(파일->새 쿼리 탭)
  2. 테이블을 작성할 데이터베이스를 포함하도록 테이블 작성 코드를 변경합니다.

     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;

  3. 그런 다음 Execute(실행) 버튼을 클릭합니다(번개 볼트처럼 보임).

그러면 MySQL 워크벤치를 사용하여 테이블 스키마가 한 DB에서 다른 DB로 복사됩니다.데이터베이스의 테이블을 새로 고치기만 하면 새로 추가된 테이블이 표시됩니다.

  1. 원본 데이터베이스가 있는 탭 선택
  2. In 메뉴: Server->Data Export
  3. 스키마 및 테이블을 스키마 개체로 선택
  4. Export to Self-Contained File 옵션을 선택하고 Create Dump in a Single Transaction(자체 포함 전용)을 선택합니다.
  5. 전체 파일 경로를 클립보드에 복사
  6. 내보내기 시작
  7. 대상 데이터베이스가 있는 탭 선택
  8. 메뉴: Server->Data Import.대상 데이터베이스 이름이 데이터 가져오기 보기의 왼쪽 상단 모서리에 있는지 확인합니다.
  9. 자체 포함 파일에서 가져오기를 선택하고 클립보드에서 전체 파일 경로 붙여넣기
  10. 기본 대상 스키마 선택
  11. 덤프 컨텐츠 선택(덤프 구조 및 데이터 등)
  12. 가져오기 시작

가장 좋은 방법은 이월할 객체가 포함된 모델의 분해된 버전을 만드는 것입니다. 다음 그런다대모열실고행다니합을델상음▁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;

나는 그것을 언급할 가치가 있다고 생각합니다.

  1. 복사된 테이블은 복사할 스키마에 있는 원래 스키마의 테이블에 있는 필드를 참조할 수 있습니다.테이블을 다른 스키마에 추가하기 전에 테이블에서 이러한 불일치를 검사하는 것이 좋습니다.
  2. 엔진 호환성(예: InnoDB vs MyISAM) 및 문자 집합을 확인하는 것이 좋습니다.

테이블을 이미 만든 상태에서 데이터만 복사하려면 "데이터 내보내기 마법사" 및 "데이터 가져오기 마법사"를 사용하는 것이 좋습니다.기본적으로 프로그램에서 내보낼 내용을 선택한 다음 데이터를 가져오는 것이며 사용하기 쉽습니다.

MySQL에는 마법사에 대한 기사가 있습니다. 테이블 데이터 내보내기가져오기 마법사

마법사를 사용하여 데이터를 복사하려면 다음을 수행합니다.

  1. 목록에서 데이터를 복사할 테이블을 찾습니다.
  2. 마우스 오른쪽 단추를 누른 후 "테이블 데이터 내보내기 마법사"를 선택합니다.
  3. 복사할 열을 선택합니다.
  4. 복사된 데이터와 함께 *.csv 또는 *.json 파일을 저장할 위치를 선택합니다.

  5. 복사한 데이터를 삽입할 테이블을 찾습니다.

  6. 마우스 오른쪽 단추를 누른 후 "테이블 데이터 가져오기 마법사"를 선택합니다.
  7. 방금 내보낸 파일을 선택합니다.
  8. 복사한 테이블의 열을 삽입할 테이블에 매핑합니다.
  9. 완료를 누릅니다.선택한 대로 데이터가 삽입됩니다.

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에 삽입 *;

테이블 정보에서 테이블 작성 쿼리를 가져와 다른 데이터베이스 인스턴스에서 동일한 쿼리를 사용할 수 있습니다.

  1. create table TABLENE.content를 표시하고 쿼리를 복사합니다.
  2. 연결된 다른 DB 인스턴스에서 생성된 쿼리를 실행합니다.

언급URL : https://stackoverflow.com/questions/17119500/how-to-copy-table-between-two-models-in-mysql-workbench

반응형