❇️ 요약
- SQL FILE 실행
- Database Backup, Restore
- Table Backup, Restore
- Table Schema Backup
Document % mkdir sql_ws
Document % cd sql_ws
sql_ws %C:\> mkdir sql_ws
C:\>cd sql_ws
C:\sql_ws>sql_ws % code .

mysql> source /path/filename.sql
mysql> \. /path/filename.sql # source 대신 \. 사용가능
mysql> \. filename.sql # 현재 폴더에 파일이 있으면 path 생략 가능
# sql_ws 폴더를 만들어서 그 안에서 실습할예정이기에 파일명만 실행할 예정
C:\>cd sql_ws
C:\sql_ws>mysql -u root -p zerobase # -p이후에 데이터베이스 이름까지 주면 바로 접속가능
vscode : 경찰서 정보를 테이블로 만들기

CREATE TABLE police_station
(
name varchar(16),
address varchar(128)
);
터미널(cmb창) : sql_ws 폴더 위치로 이동하여 zerobase에 접속
C:\>cd sql_ws
C:\sql_ws>mysql -u root -p zerobase # -p 이후에 데이터베이스 이름까지 주면 바로 접속가능
터미널(cmb창) : SQL File 실행
mysql> source test01.sql
Query OK, 0 rows affected (0.01 sec)
터미널(cmb창) : 결과 확인
mysql> DESC police_station;
+---------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| name | varchar(16) | YES | | NULL | |
| address | varchar(128) | YES | | NULL | |
+---------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql -u username -p database < /path/filename.sql
mysql> exit
Bye
CREATE TABLE crime_status
(
year YEAR,
police_station VARCHAR(8),
crime_type VARCHAR(16),
status_type CHAR(2),
case_number int
);
C:\sql_ws>mysql -u root -p zerobase < test02.sql
-- mysql의 zerobase로 접속
C:\sql_ws>mysql -u root -p zerobase
Enter password: ****
mysql> DESC crime_status;
+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| year | year | YES | | NULL | |
| police_station | varchar(8) | YES | | NULL | |
| crime_type | varchar(16) | YES | | NULL | |
| status_type | char(2) | YES | | NULL | |
| case_number | int | YES | | NULL | |
+----------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
mysqldump -u username -p dbname > backup.sql # 특정 Database Backup
mysqldump -u username -p --all-databases > backup.sql # 모든 Database Backup
mysqldump -u root -p dbname -r backup.sql # 한글 깨짐 방지
# 한글 깨짐 이슈 발생
mysqldump -u root -p zerobase > zerobase.sql
mysqldump -u root -p zerobase -r zerobase.sql
source backup.sql
C:\sql_ws> mysql -h database-1.cvgki66kg3x4.ap-northeast-2.rds.amazonaws.com -P 3306 -u admin -p
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| zerobase |
+--------------------+
5 rows in set (0.01 sec)
mysql> USE zerobase;
Database changed
mysql> source zerobase.sql
Query OK, 0 rows affected (0.01 sec)
...
Query OK, 0 rows affected (0.01 sec)
mysql> show tables;
+--------------------+
| Tables_in_zerobase |
+--------------------+
| celeb |
| crime_status |
| police_station |
| snl_show |
| test1 |
| test2 |
+--------------------+
6 rows in set (0.01 sec)
mysqldump -u username -p dbname tablename > backup.sql
mysqldump -u root -p dbname tablename -r backup.sql
mysqldump -u root -p zerobase celeb > celeb.sql
mysqldump -u root -p zerobase celeb -r celeb.sql # 한글 깨짐 방지용 -r
source backup.sql
PS C:\sql_ws> mysql -h database-1.cvgki66kg3x4.ap-northeast-2.rds.amazonaws.com -P 3306 -u admin -p zerobase
...
mysql> DROP TABLE celeb;
Query OK, 0 rows affected (0.01 sec)
mysql> source celeb.sql
Query OK, 0 rows affected (0.01 sec)
...
Query OK, 0 rows affected (0.01 sec)
mysql> SELECT * FROM celeb;
+----+-----------+------------+------+------+-------------------------+--------------------------+
| ID | NAME | BIRTHDAY | AGE | SEX | JOB_TITLE | AGENCY |
+----+-----------+------------+------+------+-------------------------+--------------------------+
| 1 | 아이유 | 1993-05-16 | 29 | F | 가수,텔런트 | EDAM엔터테이먼트 |
| 2 | 이미주 | 1994-09-23 | 28 | F | 가수 | 울림엔터테이먼트 |
| 3 | 송강 | 1994-04-23 | 28 | M | 텔런트 | 나무엑터스 |
| 4 | 강동원 | 1981-01-18 | 41 | M | 영화배우, 텔런트 | YG엔터테이먼트 |
| 5 | 유재석 | 1972-08-14 | 50 | M | MC, 개그맨 | 안테나 |
| 6 | 차승원 | 1970-06-07 | 48 | M | 영화배우, 모델 | YG엔터테이먼트 |
| 7 | 이수현 | 1999-05-04 | 23 | F | 가수 | YG엔터테이먼트 |
+----+-----------+------------+------+------+-------------------------+--------------------------+
7 rows in set (0.01 sec)
mysqldump -d -u username -p dbname tablename > backup.sql # 특정 Database Backup
mysqldump -d -u username -p dbname > backup.sql # 모든 Database Backup
mysqldump -d -u root -p dbname tablename -r backup.sql # 한글 깨짐 방지
PS C:\sql_ws> mysqldump -d -u root -p zerobase snl_show -r snl.sql
