select ... into outfile

1654 단어
SELECT...INTO OUTFILE 'file_name 형식의 SELECT는 선택한 줄을 파일에 쓸 수 있습니다.서버 호스트에 파일이 생성되므로 이 구문을 사용하려면 FILE 권한이 있어야 합니다.file_name은 원래 파일이 될 수 없습니다.기존 파일은 "/etc/passwd"와 같은 파일과 데이터베이스 테이블이 삭제되는 것을 막습니다.
SELECT...INTO OUTFILE 문장의 주된 역할은 시계를 서버 기계에 매우 신속하게 저장할 수 있도록 하는 것이다.서버 호스트 이외의 일부 고객 호스트에서 결과 파일을 만들려면 SELECT를 사용할 수 없습니다.INTO OUTFILE.이 경우 클라이언트 호스트에서 "mysql – e"SELECT...">file_name 명령을 사용하여 파일을 생성합니다.
SELECT...INTO OUTFILE은 LOAD DATA INFILE의 보충어입니다.문장에 사용되는 exort_options 섹션의 구문은 LOAD DATA INFILE 문구와 함께 사용되는 FIELDS 및 LINES 자구를 포함합니다.13.2.5절, LOAD DATA INFILE 구문 참조.
FIELDS ESCAPED BY 는 특수 문자를 쓰는 방법을 제어합니다.FIELDS ESCAPED BY 문자가 비어 있지 않으면 출력에서 다음 문자에 접두사를 설정하는 데 사용됩니다.
o FIELDS ESCAPED BY 문자
o 필드 [옵션] Enclosed By 문자
o FIELDS TERMINATED BY 및 LINES TERMINATED BY 값의 첫 번째 문자
o ASCII 0(작성할 때 이스케이프 뒤에 있는 것은 0바이트가 아닌 ASCII'0'입니다)
FIELDS ESCAPED BY 문자가 비어 있는 경우 문자가 이스케이프되지 않고 NULL이\N 출력이 아닌 NULL로 출력됩니다.빈 전의부를 지정하는 것은 좋은 생각이 아니다.특히 데이터의 필드 값이 방금 주어진 목록에 있는 문자를 포함할 때 더욱 그렇습니다.
모든 FIELDS TERMINATED BY, ENCLOSED BY, ESCAPED BY 또는 LINES TERMINATED BY 문자를 이스케이프해야 파일을 안정적으로 읽고 되돌릴 수 있기 때문입니다.ASCII NUL은 페이지를 쉽게 볼 수 있도록 의미를 바꿉니다.
생성된 파일은 SQL 구문을 따를 필요가 없으므로 다른 문자는 이스케이프될 필요가 없습니다.
다음 예에서 파일을 생성하고 각 값은 쉼표로 구분합니다.이런 형식은 많은 프로그램에 의해 사용될 수 있다.
SELECT a,b,a+b INTO OUTFILE '/tmp/result.text'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '
'
FROM test_table;

좋은 웹페이지 즐겨찾기