MySQL 데이터베이스에 이미지 저장
이 튜토리얼에서는 MySQL 데이터베이스에 이미지를 저장하는 방법을 이해하는 것을 목표로 합니다.
표준 SQL은 BLOB
(Binary Large Object) 데이터 유형을 사용하여 많은 양의 데이터를 저장합니다.
바이트 또는 옥텟 시퀀스는 일반적으로 MySQL 데이터베이스에 오디오 및 비디오 데이터와 같은 미디어 파일이나 큰 이미지를 저장하는 데 사용되는 바이너리 문자열을 정의합니다. BLOB
값은 요구 사항에 따라 이진 또는 문자열 값으로 쓸 수 있습니다.
이것이 어떻게 작동하는지 이해하려고 노력합시다.
먼저 stu_photograph
열이 있는 student_details
라는 테이블을 만듭니다. 여기에서 이미지의 사진은 stu_photograph
열에 저장됩니다.
-- Using the following table as an example:
CREATE TABLE stu_information(
stu_photograph BLOB
);
이제 stu_photograph
가 이미지를 배치해야 하는 열 역할을 하는 테이블에 학생 사진을 삽입해 보겠습니다.
참고: LOAD_FILE
함수에서 MySQL 데이터베이스에 업로드하려는 이미지 경로를 입력합니다. 이 기능은 BLOB
에 이미지를 저장하는 데 도움이 됩니다.
-- This will insert a file in a BLOB column.
INSERT INTO stu_information (stu_photograph) VALUES(LOAD_FILE('/image_path/image_fileName.png'));
위의 코드는 student_details
테이블에 학생 데이터를 입력합니다. 다음 명령으로 이 테이블을 시각화할 수 있습니다.
select * from stu_information;
위에서 언급한 코드 블록은 다음 출력을 생성합니다.
위에서 볼 수 있듯이 stu_photograph
열은 이미지를 저장하기 위한 BLOB
데이터 지원으로 생성되었습니다.
참고: stu_photograph
열에 이미지를 추가하기 전에 MySQL 사용자에게 이미지 권한을 추가했는지 확인하십시오.
루트에 로그인하고 다음 명령을 실행하여 FILE
권한을 부여할 수 있습니다.
GRANT FILE ON *.* TO 'mysql_user'@'localhost';