mysql 테이블 단위 내용 분리
DB 데이터베이스2023. 8. 3. 20:57
300x250
sed -n -e '/DROP TABLE IF EXISTS `goods`/,/UNLOCK TABLES/p' mysqlback_20230803.sql > goods.sql;
위 명령어는 주어진 디비명.dump 파일에서 '테이블명'이라는 텍스트를 포함한 DROP TABLE 문부터 UNLOCK TABLES 문까지의 데이터를 추출하여 디비명.테이블명.dump 파일로 저장하는 작업을 수행합니다.
여기서 각 부분의 의미는 다음과 같습니다:
- sed: 텍스트 스트림을 필터링하고 변환하는 데 사용되는 유닉스 명령어인 'sed'를 실행합니다.
- -n: 기본 출력을 비활성화합니다. 즉, 텍스트가 처리되지 않은 경우 출력되지 않습니다.
- -e: 스크립트를 지정하여 명령어를 실행합니다.
- '/DROP TABLE.*테이블명/,/UNLOCK TABLES/p': 디비명.dump 파일에서 'DROP TABLE'과 '테이블명'이라는 문자열 사이의 모든 행을 찾아서 'UNLOCK TABLES'가 나오기 전까지의 행들과 함께 출력합니다.
- 디비명.dump: 원본 데이터가 있는 파일명으로, 이 파일에서 데이터를 추출하고 처리합니다.
- > 디비명.테이블명.dump: 추출한 데이터를 디비명.테이블명.dump 파일로 리다이렉션하여 저장합니다.
이렇게 하면 '디비명.테이블명.dump' 파일에 '테이블명'이라는 문자열을 포함하는 DROP TABLE 문과 그 다음 행들이 저장됩니다. 만약 해당 문자열이 존재하지 않으면 아무런 데이터도 파일에 저장되지 않습니다. 따라서 실제 사용하기 전에 반드시 '디비명', '테이블명' 등을 실제 데이터베이스 및 테이블 이름으로 수정하여 사용하시기 바랍니다.
300x250
'DB 데이터베이스' 카테고리의 다른 글
MYSQL 백업/복구 + 특정테이블만 (0) | 2023.08.03 |
---|---|
select 절 속성 필드에서 사용하는 Scalar Subquery (0) | 2022.09.18 |
DB 인덱스 추가 쿼리 (0) | 2022.08.17 |
댓글()