MySQL과 데이터 파일 간 데이터 전송이란?
MySQL과 데이터 파일 간의 정보 전송이란, 데이터 파일에 있는 데이터를 데이터베이스로 가져오는(임포트) 작업 또는 데이터베이스의 데이터를 파일로 내보내는(익스포트) 작업을 의미합니다. MySQL은 명령줄을 통해 이러한 작업을 수행할 수 있는 두 가지 명령어를 제공하며, 각각 mysqlimport와 mysqldump입니다.
1. mysqlimport — 데이터 가져오기
mysqlimport 명령어는 쉼표로 구분되거나 탭으로 구분된 형식 등 다양한 데이터 형식의 파일을 읽어 들여 데이터베이스에 삽입합니다.换句话说 쉽게 말해, LOAD DATA INFILE 문에 대한 명령줄 인터페이스 역할을 한다고 볼 수 있습니다. 구문은 다음과 같습니다.
Mysqlimport [options] database_name filename1 filename2 …
여기서 주의할 점은 파일 이름이 데이터를 가져올 대상 테이블 이름과 반드시 일치해야 한다는 것입니다.
2. mysqldump — 데이터 내보내기
mysqldump는 데이터베이스 또는 여러 개의 데이터베이스를 백업하거나 다른 데이터베이스 서버로 전송하기 위해 덤프할 때 사용하는 클라이언트 프로그램입니다. 테이블을 탭으로 구분된 데이터 파일로 내보낼 수도 있고, CREATE TABLE 및 INSERT 문을 포함하는 SQL 형식의 덤프 파일을 생성하여 나중에 동일한 구조와 데이터를 다시 만들 수도 있습니다. 구문은 다음과 같습니다.
Mysqldump –tab=dir_name options db_name tbl_name …
–tab=dir_name 옵션을 지정하면 mysqldump는 테이블을 탭으로 구분된 데이터 파일로 내보내며, SELECT ... INTO OUTFILE 문을 실행하여 MySQL 서버가 각 덤프 테이블을 dir_name 디렉터리 안에 탭으로 구분된 텍스트 파일로 기록하도록 지시합니다.
두 명령어의 관계
위에서 설명한 두 명령어는 모두 데이터 파일에서 데이터베이스로, 또는 데이터베이스에서 데이터 파일로 데이터를 전송하는 기능을 담당한다는 점에서 서로 유사합니다. 즉, mysqlimport는 외부 파일의 데이터를 데이터베이스로 불러오는 데 사용되고, mysqldump는 데이터베이스의 데이터를 외부 파일로 저장하는 데 사용됩니다.