MySQL データベースに画像を保存する

Preet Sanghavi 2023年1月3日
MySQL データベースに画像を保存する

このチュートリアルでは、MySQL データベースに画像を保存する方法を理解することを目的としています。

標準 SQL は、BLOB(バイナリラージオブジェクト)データ型を使用して大量のデータを格納します。

バイトまたはオクテットのシーケンスは、バイナリ文字列を定義します。通常、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;

上記のコードブロックは、次の出力を生成します。

画像を mysql に保存する

上記のように、stu_photograph 列は、画像を保存するための BLOB データサポートを使用して作成されています。

stu_photograph 列に画像を追加する前に、MySQL ユーザーに画像権限を追加していることを確認してください。

ルートにログインして次のコマンドを実行することにより、FILE 特権を付与できます。

GRANT FILE ON *.* TO 'mysql_user'@'localhost';
著者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub