>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 LOAD_FILE() 함수를 사용하는 방법은 무엇입니까? (코드 예)

MySQL에서 LOAD_FILE() 함수를 사용하는 방법은 무엇입니까? (코드 예)

藏色散人
藏色散人원래의
2019-03-27 14:08:497095검색



MySQL에서 LOAD_FILE() 함수는 파일을 읽고 해당 내용을 문자열로 반환합니다.

Syntax

LOAD_FILE(file_name)

여기서 file_name은 파일의 전체 경로입니다.

다음은 파일에서 콘텐츠를 선택하는 예입니다.

SELECT LOAD_FILE('/data/test.txt') AS Result;

결과:

+------------------------------------------+
| Result                                   |
+------------------------------------------+
| This text is all that the file contains! |
+------------------------------------------+

데이터베이스 예

다음은 데이터베이스에 파일 콘텐츠를 삽입할 때 쿼리하는 예입니다.

INSERT INTO MyTable (FileId, UserId, MyBlobColumn) 
VALUES (1, 20, LOAD_FILE('/data/test.txt'));

이 경우 열 MyBlobColumn에는 BLOB 데이터 유형이 있습니다(이진 데이터를 저장할 수 있음).

이제 데이터베이스에 있으므로 선택할 수 있습니다.

SELECT MyBlobColumn
  FROM MyTable
  WHERE UserId = 20;

결과:

+------------------------------------------+
| MyBlobColumn                             |
+------------------------------------------+
| This text is all that the file contains! |
+------------------------------------------+

파일이 없으면 NULL을 반환합니다.

SELECT LOAD_FILE('/data/oops.txt') AS Result;

결과:

+--------+
| Result |
+--------+
| NULL   |
+--------+

다음 중 하나일 경우 가능합니다. 조건이 충족되지 않으면 NULL을 반환합니다:

1. 파일은 서버 호스트에 있어야 합니다.

2. 파일을 읽으려면 FILE 권한이 있어야 합니다. 이 FILE 권한이 있는 사용자는 누구나 읽을 수 있거나 MySQL 서버에서 읽을 수 있는 서버 호스트의 모든 파일을 읽을 수 있습니다.

3. 파일은 누구나 읽을 수 있어야 하며 크기는 max_allowed_packet 바이트보다 작아야 합니다.

다음과 같이 확인할 수 있습니다.

SHOW VARIABLES LIKE 'max_allowed_packet';

결과:

+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| max_allowed_packet | 67108864 |
+--------------------+----------+

secure_file_priv 시스템 변수가 비어 있지 않은 디렉터리 이름으로 설정된 경우 로드할 파일이 해당 디렉터리에 있어야 합니다.

다음과 같이 확인할 수 있습니다.

SHOW VARIABLES LIKE 'secure_file_priv';

결과:

+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| secure_file_priv | /data/ |
+------------------+--------+

이 경우 /data/ 디렉터리의 파일만 읽을 수 있습니다.

관련 추천: "MySQL Tutorial"

이 글은 MySQL의 LOAD_FILE() 함수 사용에 관한 것입니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!



위 내용은 MySQL에서 LOAD_FILE() 함수를 사용하는 방법은 무엇입니까? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.