MySQL 가져오기 데이터
MySQL 가져오기 데이터
MySQL에서 내보낸 데이터를 MySQL에서 가져오는 두 가지 간단한 방법이 있습니다.
1. Mysql 명령 가져오기
mysql 명령을 사용하여 구문 형식을 가져옵니다.
mysql -u 사용자 이름 - p 비밀번호 < 가져올 데이터베이스 데이터(demo.sql)
예:
# mysql -uroot -p123456 < demo.sql
위 명령은 백업된 전체 데이터베이스 데모.sql을 가져옵니다.
2. 소스 명령 가져오기
소스 명령은 먼저 데이터베이스 터미널에 로그인해야 합니다.
mysql> create database abc; # 创建数据库 mysql> use abc; # 使用已创建的数据库 mysql> set names utf8; # 设置编码 mysql> source /home/abc/abc.sql # 导入备份数据库
3. LOAD DATA를 사용하여 데이터 가져오기
MySQL은 데이터를 삽입하는 LOAD DATA INFILE 문을 제공합니다. 다음 예에서는 현재 디렉터리에서 dump.txt 파일을 읽고 파일의 데이터를 현재 데이터베이스의 mytbl 테이블에 삽입합니다.
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;LOCAL 키워드를 지정하면 해당 경로에 따라 클라이언트 호스트에서 파일을 읽는다는 의미입니다. 지정하지 않으면 서버의 경로로 파일을 읽습니다.
LOAD DATA 문에서 열 값 구분 기호와 줄 끝 표시를 명시적으로 지정할 수 있지만 기본 표시는 포지셔너와 줄 바꿈입니다.
두 명령의 FIELDS 및 LINES 절 구문은 동일합니다. 두 절 모두 선택 사항이지만 둘 다 지정하는 경우 FIELDS 절은 LINES 절 앞에 나타나야 합니다.
사용자가 FIELDS 절을 지정하는 경우 해당 절(TERMINATED BY, [OPTIONALLY] ENCLOSED BY 및 ESCAPED BY)도 선택 사항이지만 사용자는 그 중 하나 이상을 지정해야 합니다.
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl -> FIELDS TERMINATED BY ':' -> LINES TERMINATED BY '\r\n';LOAD DATA 기본적으로 데이터 파일의 열 순서로 데이터가 삽입됩니다. 데이터 파일의 열과 삽입된 테이블의 열이 일치하지 않는 경우 순서를 지정해야 합니다. 열의.
예를 들어 데이터 파일의 열 순서가 a, b, c인데 삽입된 테이블의 열 순서가 b, c, a인 경우 데이터 가져오기 구문은 다음과 같습니다.
mysql> LOAD DATA LOCAL INFILE 'dump.txt' -> INTO TABLE mytbl (b, c, a);
4. mysqlimport를 사용하여 데이터 가져오기
mysqlimport 클라이언트는 LOAD DATA에 대한 명령줄 인터페이스를 제공합니다. INFILEQL 문. mysqlimport의 대부분의 옵션은 LOAD DATA INFILE 절에 직접적으로 대응됩니다.
dump.txt 파일에서 mytbl 데이터 테이블로 데이터를 가져오려면 다음 명령을 사용할 수 있습니다.
$ mysqlimport -u root -p --local database_name dump.txt password *****mysqlimport 명령은 지정된 형식을 설정하는 옵션을 지정할 수 있습니다. 명령문 형식은 다음과 같습니다.
$ mysqlimport -u root -p --local --fields-terminated-by=":" \ --lines-terminated-by="\r\n" database_name dump.txt password *****mysqlimport 문의 --columns 옵션을 사용하여 열 순서를 설정하세요.
$ mysqlimport -u root -p --local --columns=b,c,a \ database_name dump.txt password ****
mysqlimport 공통 옵션 소개
옵션 | 함수 |
---|---|
-d 또는 --delete | 새 데이터를 데이터 테이블로 가져오기 전에 데이터 테이블의 모든 정보를 삭제하세요. |
-f 또는 --force | 오류 여부에 관계없이 이 발생하면 mysqlimport는 데이터를 계속 삽입하도록 강제합니다. |
-i 또는 --ignore | mysqlimport는 동일한 고유 항목을 건너뛰거나 무시합니다. 줄, 가져오기 파일의 데이터는 무시됩니다. |
-l 또는 -lock-tables | 데이터가 삽입되기 전에 테이블을 잠가서 다음을 방지합니다. 데이터베이스를 업데이트하면 사용자 쿼리와 업데이트가 영향을 받습니다. |
-r 또는 -replace | 이 옵션은 -i 옵션과 반대 효과를 갖습니다. 테이블에 동일한 고유 키를 가진 레코드가 있습니다. |
--fields-enclosed- by= char | 많은 경우 텍스트 파일에 데이터 레코드를 포함할 항목을 지정합니다. 데이터는 큰따옴표로 묶여 있습니다. 기본적으로 데이터는 문자로 묶이지 않습니다. |
--fields-terminating- by=char | 마침표로 구분된 파일에서 각 데이터의 값 사이에 구분 기호를 지정합니다. 구분 기호는 마침표입니다. 이 옵션을 사용하여 데이터 사이의 구분 기호를 지정할 수 있습니다. 기본 구분 기호는 탭 문자(Tab)입니다. |
--lines-terminating- by=str | 이 옵션은 텍스트 파일 구분 문자열에서 줄 사이의 데이터를 지정합니다. 또는 문자. 기본적으로 mysqlimport는 개행 문자를 줄 구분 기호로 사용합니다.선택적으로 단일 문자를 문자열로 바꿀 수 있습니다. 새 줄 또는 캐리지 리턴. |
mysqlimport 명령에서 일반적으로 사용되는 옵션에는 버전(version)을 표시하는 -v, 비밀번호(password)를 묻는 -p 등이 있습니다.
권장 비디오 튜토리얼: