본문 바로가기

STUDY/SQL, DB

[MySQL] CONCAT / SQL file / backup, restore

 

이 글은 24.01.22에 본인 벨로그에 작성했던 글을 옮겨 온 것이다.

 

Concat

  • 여러 문자열을 하나로 합치거나 연결하는 함수.
select concat(name, ' : ', job_title) as profile
	from celeb;

- snl_korea에 출연한 celeb을 기준으로 celeb 테이블은 c, snl_show 테이블은 s로 별칭을 주어 출연 시즌, 에피소드, 이름 검색

select season , episode
     , name , job_title
	from celeb c
  join snl_show s
  where c.name = s.host;

SQL FILE

  • sql file : SQL 쿼리를 모아놓은 파일.



SQL FILE 실행

  • 실행 방법 1. mysql 로그인 후
    (1) source 파일경로/파일이름.sql
    (2) . 파일경로/파일이름.sql (source 대신 . 사용 가능)
    (3) . 파일이름.sql (파일이 있는 폴더를 사용중인 경우)
sql_ws 라는 디렉토리의 test01.sql sql 파일.
police_station이라는 테이블을 만드는 쿼리.

create table police_station(
    name varchar(16)
  , address varchar(128) 
);

위의 파일을 실행시켜보자
sql_ws 위치로 이동 후 mysql에 로그인 한 상태다.

잘 실행되었음을 볼 수 있다.

 

  • 실행방법 2. 외부에서 바로 실행
    mysql -u username -p dbname < 파일경로/파일이름.sql
sql_ws 라는 디렉토리의 test02.sql sql 파일.
crime_status라는 테이블을 만드는 쿼리.

create table crime_status
(
    year year,
    polcie_station varchar(8),
    crime_type varchar(16),
    status_type char(2),
    case_number int
);

위의 파일을 실행시켜보자.
파일 경로는, 커맨드창에서 sql_ws로 옮겨놓은 상태이다.


잘 실행되었는지 확인해보자.


잘 실행되었음을 확인할 수 있다.



DB Backup

  • sql file로 db를 백업할 수 있다.
    (1) mysqldump -u username -p dbname > backup.sql (특정 db 백업)
    (2) mysqldump -u username -p --all-databases > backup.sql (모든 db 백업)

study db를 백업해보자

study db를 백업한 study.sql 파일이 생긴 것을 볼 수 있다.
해당 sql 파일은, 실행시킬 경우 백업한 시점의 테이블, 데이터를 모두 가져올 수 있게 하는 파일이다.

DB Restore

  • db를 백업한 sql 파일을 실행해서 그 시점으로 복구하거나, 이전할 수 있다.

study라는 db를 백업했던 study.sql 파일을 실행해서 해당 db를 다른 곳에 복사해보자.


study db를 zerobase db에 덮어씌웠고, 작업이 다 끝나면 아래와 같이 확인해볼 수 있다.

잘 되었음을 확인할 수 있다.

Table backup/restore

  • 테이블 단위로도 백업/복원할 수 있다.
    백업 : mysqldump -u username -p dbname tablename > backup.sql
    복원 : 백업 sql파일 실행

 

Table Schema backup/restore

  • 데이터를 제외한, DB의 구조만 백업/복원할 수도 있다.
    (1) mysqldump -d -u username -p dbname tablename > backup.sql (특정 table schema 백업)
    (2) mysqldump -d -u username -p dbname > backup.sql (모든 table schema 백업)

'STUDY > SQL, DB' 카테고리의 다른 글

[MySQL] Scalar Functions  (0) 2024.03.19
[MySQL] with Python!  (0) 2024.03.19
[MySQL] JOIN  (0) 2024.03.19
[DB] DB / DB 생성 / SQL 명령  (0) 2024.03.19
[MySQL] temporary table  (0) 2024.03.05