보통 sql 파일들은 데이터를 보관하고 있는 형태의 백업 파일이 대부분입니다. 하지만 sql 파일에 특정한 동작을 조작하는 실행 명령이 있을 경우 특수한 쿼리 문법으로 외부의 sql 파일을 실행할 수 있습니다.

다음과 같이 SOURCE 명령은 외부에 저장된 SQL 명령문 파일을 읽어서 실행할 수 있습 니다.

| 쿼리 문법 |

SOURCE 파일명 

만일 다음과 같은 예제 sql 파일이 있다고 합시다.

예제 파일 | source.sql

use jiny;
select * from members;

그리고 SOURCE 명령을 통하여 이 외부 sql 파일을 실행합니다.

| 쿼리 문법 |

SOURCE source.sql; 

| 콘솔 실습 화면 |

mysql> SOURCE source.sql;
Database changed
+----+----------+-----------+-------------+-------+---------+-----------+-------------------+
| Id | LastName | FirstName | Address     | City  | Country | manager   | email             |
+----+----------+-----------+-------------+-------+---------+-----------+-------------------+
|  1 | hojin    | lee       | shinchon    | seoul | korea   | infohojin | hojin@jinyphp.com |
|  2 | jiny     | NULL      | NULL        | NULL  | korea   | infohojin | jiny@jinyphp.com  |
|  3 | james    | kim       | youngdun-po | seoul | korea   | info      | james@jinyphp.com |
+----+----------+-----------+-------------+-------+---------+-----------+-------------------+
3 rows in set (0.00 sec)

위의 예처럼 외부에 저장된 sql 명령 파일을 읽어서 실행한 결과를 출력합니다.

02.8.1 외부 실행

mysql> 명령 입력창에서 SOURCE 명령을 통하여 외부 파일을 실행할 수도 있지만, 윈 도우 커맨드 창/리눅스 터미널에서 mysql 명령을 통하여 외부 실행이 가능합니다.

mysql 명령을 통하여 외부 실행을 할때는 옵션 -e를 같이 사용합니다.

| 명령 |

mysql -u계정명 -p패스워드 -e SOURCE 파일명”