MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 다양한 요구를 충족시키기 위해 다양한 테이블 유형을 제공합니다. 실제 애플리케이션에서는 테이블 유형을 수정해야 하는 경우가 있습니다. 이 글에서는 MySQL 테이블의 유형을 수정하는 방법을 소개합니다.
MySQL 테이블 유형은 크게 InnoDB, MyISAM, MEMORY, CSV 및 기타 유형으로 구분됩니다. InnoDB는 MySQL의 기본 스토리지 엔진입니다. 각 스토리지 엔진에는 장점과 단점이 있으므로 실제 애플리케이션의 실제 요구에 따라 선택해야 합니다.
MySQL에서는 테이블의 데이터 유형을 수정할 때 일반적으로 두 가지 상황이 있습니다.
1) 비트랜잭션 테이블(예: MyISAM)에서 트랜잭션 테이블(예: InnoDB)로 수정
2) 트랜잭션 테이블(예: InnoDB)은 비트랜잭션 테이블(예: MyISAM)로 수정됩니다.
두 상황에서의 수정 방법은 조금씩 다르며, 아래에서 자세히 소개하겠습니다.
비트랜잭션 테이블을 트랜잭션 테이블로 수정하는 것은 비교적 일반적인 작업입니다. 다음은 MyISAM 테이블을 InnoDB 테이블로 수정하는 방법을 설명합니다.
1) 현재 테이블의 타입 확인
DESCRIBE 문을 이용하여 테이블의 필드 정보, 인덱스 정보 등 테이블의 기본 정보를 확인할 수 있습니다. 다음 명령을 실행합니다.
DESCRIBE tablename;
여기서 tablename은 쿼리할 테이블의 이름입니다.
2) 데이터 백업
테이블 유형을 수정하기 전에 테이블에 있는 데이터를 백업해야 합니다. mysqldump 명령을 사용하여 테이블의 데이터를 파일에 백업할 수 있습니다. 예를 들어 testDB 라이브러리의 test_table 테이블을 test_table.sql 파일에 백업하려면 다음 명령을 실행하면 됩니다.
mysqldump testDB test_table > test_table.sql
3) 테이블 잠금
테이블 유형을 수정하기 전에 , 테이블을 잠가야 합니다. MySQL에서는 ALTER TABLE 문을 실행하려면 쓰기 잠금이 필요합니다. 따라서 ALTER TABLE 문을 실행하기 전에 다른 사용자가 테이블을 수정하지 못하도록 테이블을 잠가야 합니다.
다음 명령을 통해 테이블을 잠글 수 있습니다:
LOCK TABLES tablename WRITE;
여기서 tablename은 수정할 테이블의 이름입니다.
4) 테이블 유형 수정
다음 명령을 실행하여 MyISAM에서 InnoDB로 테이블 유형을 수정합니다.
ALTER TABLE tablename ENGINE=InnoDB;
여기서 tablename은 수정할 테이블의 이름입니다.
5) 테이블 잠금 해제
수정이 완료되면 테이블 잠금을 해제해야 합니다. 다음 명령을 실행합니다.
UNLOCK TABLES;
이 시점에서 MyISAM 테이블이 InnoDB 테이블로 성공적으로 수정되었습니다.
실제 애플리케이션에서 트랜잭션 테이블에서 비트랜잭션 테이블로 수정되는 경우는 비교적 드뭅니다. 다음은 InnoDB 테이블을 MyISAM 테이블로 수정하는 방법을 설명합니다.
1) 데이터 백업
테이블 유형을 수정하기 전에 테이블의 데이터도 백업해야 합니다. 백업 방법은 이전과 동일하므로 여기서는 반복하지 않습니다.
2) 새 테이블 생성
두 테이블 유형의 저장 방식이 다르기 때문에 테이블을 직접 수정하여 InnoDB 테이블을 MyISAM 테이블로 수정할 수 없습니다. 따라서 먼저 새로운 MyISAM 테이블을 생성하고 데이터를 테이블로 가져와야 합니다.
다음 명령을 통해 새 MyISAM 테이블을 생성할 수 있습니다:
CREATE TABLE new_table
(
...
) ENGINE=MyISAM;
여기서 new_table은 생성할 테이블의 이름이고... 필드입니다. 새 테이블의 정보와 제약 조건 정보.
3) 새 테이블로 데이터 가져오기
INSERT INTO 문을 사용하여 원본 테이블의 데이터를 새 테이블에 삽입할 수 있습니다. 예를 들어, test_table 테이블의 데이터를 new_table 테이블에 삽입하려면 다음 명령을 실행할 수 있습니다.
INSERT INTO new_table SELECT * FROM test_table;
4) 테이블 이름 바꾸기
데이터 가져오기가 완료된 후 다음이 필요합니다. 새 테이블의 이름을 Original watch로 바꾸십시오. 다음 명령을 실행할 수 있습니다:
RENAME TABLE test_table TO old_table, new_table TO test_table;
여기서 old_table은 이전 테이블 이름이고 test_table은 새 테이블 이름입니다.
이 시점에서 InnoDB 테이블은 MyISAM 테이블로 성공적으로 수정되었습니다.
MySQL 테이블 유형을 수정하는 것은 비교적 일반적인 작업입니다. 실제 애플리케이션에서는 실제 필요에 따라 다양한 테이블 유형을 선택해야 합니다. 비트랜잭션 테이블에서 트랜잭션 테이블로 수정되거나, 트랜잭션 테이블에서 비트랜잭션 테이블로 수정되더라도 테이블 잠금과 데이터 백업이 필요합니다. 이 기사에서는 MySQL 테이블 유형을 수정하는 기본 방법을 소개하고 독자들에게 도움이 되기를 바랍니다.
위 내용은 mysql 테이블 유형 수정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!