본 포스팅은 MYSQL문법에 기초하여 작성되었습니다
1.백업 테이블 생성
- 백업테이블을 생성하기 위해 원본테이블과 동일한 구조의 테이블을 만들어야 한다.
-- 백업테이블을 생성할 쿼리
CREATE TABLE `백업테이블` LIKE `원본테이블`;
예시 코드)
CREATE TABLE backup_table LIKE original_table;
2.데이터 복사
생성한 백업테이블에 데이터를 복사하기 위해 INSERT INTO문을 사용
INSERT INTO `백업테이블명` SELECT * FROM `백업대상테이블명`;
예시 코드)
INSERT INTO backup_table SELECT * FROM original_table;
주의사항
- 데이터베이스 테이블이 매우 크거나 데이터가 자주 갱신되는 경우, 백업 과정이 시간이 오래 걸릴 수 있다 이런 경우 데이터베이스 성능에 영향을 주지 않도록 적절한 타이밍에 백업을 수행해야 한다
- backup_table을 정기적으로 업데이트해야 한다. 데이터베이스의 변경 내역에 따라 주기적으로 백업을 갱신하여 최신 데이터를 보존하는것이 좋다
3.데이터 복원
데이터를 복원하는 과정은 백업과는 반대로 백업테이블에 저장된 데이터를 다시 원래의 테이블로 복사하는 과정이다.
이를 위해 DELTE와 INSERT INTO문을 사용한다
-- 기존 테이블의 데이터 삭제
DELETE FROM `기존테이블명`;
-- 백업테이블의 데이터를 기존 테이블로 복원
INSERT INTO `기존테이블명` SELECT * FROM `백업테이블명`;
주의사항
- 데이터 복원을 수행하기 전에 기존 테이블의 데이터를 삭제하기 때문에, 복원 전에 반드시 데이터의 중요성과 무결성을 확인해야 한다.
- 데이터 복원은 백업 시점의 데이터를 원상복구하는 것이므로, 복원 이후에 변경된 데이터는 사라지게 됩니다. 따라서 데이터 복원 시점을 신중하게 선택해야 합니다.
- 백업을 수행하는 동안, 데이터의 갯수를 확인하며 진행하는 것이 실수를 줄일 수 있다.
SELECT Count(*) FROM 기존테이블명;
SELECT Count(*) FROM 백업테이블명;
ex) SELECT Count(*) FROM BOARD;
SELECT Count(*) FROM BOARD_Back;
'데이터베이스 > MariaDB' 카테고리의 다른 글
[MYSQL] 날짜데이터를 저장하고자 할 때의 자료형_ 날짜형(DATETIME)을 사용할까? , 문자열(VARCHAR)타입을 사용할까? (1) | 2023.03.04 |
---|---|
[DataBase]정확한 연산을 위해 소수 데이터를 저장할때! Decimal()자료형에 대한 설명과 활용 (0) | 2023.03.03 |
컬럼의 NULL처리에 용이한 함수 - IFNULL() (0) | 2023.02.02 |
조인(JOIN)_JOIN의 개요 / INNER JOIN(내부 조인) (0) | 2022.11.11 |
[프로그래머스]Lv 2. 중성화 여부 파악하기 / SQL의 조건 / CASE THEN 문법 (0) | 2022.11.10 |