Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyimpan dan Mendapatkan Data Perduaan dengan Berkesan dalam MySQL?

Bagaimanakah Saya Boleh Menyimpan dan Mendapatkan Data Perduaan dengan Berkesan dalam MySQL?

DDD
DDDasal
2024-12-14 06:17:16767semak imbas

How Can I Effectively Store and Retrieve Binary Data in MySQL?

Bekerja dengan Data Binari dalam MySQL

Menyimpan data binari dalam MySQL ialah keperluan biasa dalam pelbagai aplikasi. Jenis data khusus untuk digunakan untuk tujuan ini ialah BLOB (Objek Besar Binari).

Jenis Data BLOB

BLOB ialah jenis lajur khas direka untuk mengendalikan data binari. Ia boleh menyimpan sejumlah besar data binari, termasuk imej, video, dokumen atau apa-apa jenis kandungan bukan teks yang lain.

Mencipta Lajur BLOB

Untuk mencipta lajur BLOB dalam jadual MySQL, gunakan sintaks berikut:

CREATE TABLE table_name (
  column_name BLOB NOT NULL
);

Kekangan NOT NULL memastikan bahawa lajur tidak boleh mengandungi nilai kosong.

Memasukkan Data Binari ke dalam BLOB

Anda boleh memasukkan data binari ke dalam lajur BLOB menggunakan kaedah berikut:

  • PHP: Gunakan fungsi mysqli_stmt_bind_param() dengan jenis data MYSQLI_TYPE_BLOB.
  • Python: Gunakan modul MySQLdb dengan kaedah set_binary().
  • SQL: Gunakan pernyataan INSERT dengan LOAD_FILE() fungsi.

Contoh

Kod PHP berikut menunjukkan cara memasukkan imej binari ke dalam lajur BLOB:

$con = mysqli_connect('host', 'username', 'password', 'dbname');
$stmt = mysqli_prepare($con, "INSERT INTO table_name (column_name) VALUES (?)");
$image = file_get_contents('image.png');
mysqli_stmt_bind_param($stmt, "b", $image);
mysqli_stmt_execute($stmt);

Mengambil Data Perduaan daripada BLOB

Untuk mendapatkan semula data perduaan daripada lajur BLOB, gunakan kaedah yang sama seperti untuk memasukkan. Pastikan anda mengendalikan data sebagai binari, kerana ia tidak disimpan sebagai teks dalam MySQL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan dan Mendapatkan Data Perduaan dengan Berkesan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn