Dữ liệu BLOB trong MySQL là gì?

Một đốm màu [còn được gọi là đối tượng lớn nhị phân, đối tượng lớn cơ bản, BLOB hoặc BLOb] là một tập hợp dữ liệu nhị phân được lưu trữ dưới dạng một thực thể trong hệ thống quản lý cơ sở dữ liệu. Các đốm màu thường là hình ảnh, âm thanh hoặc các đối tượng đa phương tiện khác, mặc dù đôi khi mã thực thi nhị phân được lưu trữ dưới dạng đốm màu. Hỗ trợ cơ sở dữ liệu cho các đốm màu không phổ biến

Về cơ bản, điều đó có nghĩa là dữ liệu của bạn được lưu trực tiếp ở định dạng nhị phân. [tất cả dữ liệu là nhị phân, tôi biết. ]

BLOB là viết tắt của Đối tượng lớn nhị phân có thể chứa một lượng dữ liệu thay đổi. Nó được sử dụng để lưu trữ dữ liệu nhị phân và cho các cột lưu trữ nhị phân dung lượng cao. Bạn có thể lưu trữ bất kỳ loại tệp nào bao gồm tài liệu PDF, Tệp MP3 và Tệp Video

Các giá trị BLOB được coi là chuỗi nhị phân [chuỗi byte]. Chúng có bộ ký tự nhị phân và đối chiếu, sắp xếp và so sánh dựa trên các giá trị số của byte trong giá trị cột

Có bốn loại BLOB. TINYBLOB, BLOB, MEDIUMBLOB và LONGBLOB. Kích thước tối đa của một đối tượng BLOB được xác định bởi loại của nó

  • TINYBLOB. Độ dài tối đa 255 [2^8 - 1] byte. Mỗi giá trị TINYBLOB được lưu trữ bằng cách sử dụng tiền tố có độ dài một byte cho biết số lượng byte trong giá trị
  • BÃI. Độ dài tối đa 65535 [2^16 - 1] byte hoặc 64KB trong bộ lưu trữ. Mỗi giá trị BLOB được lưu trữ bằng tiền tố có độ dài hai byte cho biết số lượng byte trong giá trị
  • VỪABLOB. Độ dài tối đa là 16777215 [2^24 - 1] byte hoặc 16 MB trong bộ lưu trữ. Mỗi giá trị MEDIUMBLOB được lưu trữ bằng tiền tố có độ dài ba byte cho biết số byte trong giá trị
  • LONGBLOB. Độ dài tối đa là 4294967295 [2^32 - 1] byte hoặc 4GB dung lượng lưu trữ. Mỗi giá trị LONGBLOB được lưu trữ bằng cách sử dụng tiền tố có độ dài bốn byte cho biết số lượng byte trong giá trị

Một số lưu ý khác Kiểu dữ liệu BLOB

  • Bạn không phải chỉ định độ dài của bất kỳ cột BLOB nào
  • Cột BLOB không thể có giá trị MẶC ĐỊNH

2. Cách sử dụng loại BLOB

Chúng tôi sẽ sử dụng chức năng LOAD_FILE[đường dẫn của tệp] để tải nội dung tệp dưới dạng nội dung BLOB trong MySQL. Nó yêu cầu một đường dẫn đầy đủ của tệp làm tham số để đọc dữ liệu từ tệp

Hãy chứng minh điều này thông qua một ví dụ

Chúng tôi tạo

UPDATE
	b_table
SET
	file_data = LOAD_FILE['d:/sample.txt']
WHERE
	id = 1;
6 bằng cột BLOB

CREATE TABLE b_table [
	id bigint [20] PRIMARY KEY,
	file_data blob
];

Bây giờ hãy chèn các giá trị vào

UPDATE
	b_table
SET
	file_data = LOAD_FILE['d:/sample.txt']
WHERE
	id = 1;
7 bằng hàm LOAD_FILE[]

INSERT INTO b_table
		VALUES[1, LOAD_FILE['d:/sample.txt']]

Hoặc chèn chuỗi HEX

INSERT INTO b_table
		VALUES[1, X'848016608498FE15C6050001000006020007002E000005E84501960844CFF15C6050001000006020008002E000405E84D002608498FE15C6050001000006350800020000002E0001000000FF0000002000200005E8440026084C0FD15C60500014002'];

Cập nhật trường BLOB bằng hàm LOAD_FILE[]

UPDATE
	b_table
SET
	file_data = LOAD_FILE['d:/sample.txt']
WHERE
	id = 1;

Cần một công cụ GUI tốt cho cơ sở dữ liệu?

Tóm lược. trong hướng dẫn này, bạn sẽ học cách xử lý dữ liệu BLOB bằng PHP PDO. Chúng tôi sẽ chỉ cho bạn cách chèn, cập nhật và chọn dữ liệu BLOB trong cơ sở dữ liệu MySQL

Đôi khi, vì lý do bảo mật, bạn có thể cần lưu trữ các đối tượng dữ liệu lớn, chẳng hạn như. g. , hình ảnh, tệp PDF và video trong cơ sở dữ liệu MySQL

MySQL cung cấp loại BLOB có thể chứa một lượng lớn dữ liệu. BLOB là viết tắt của đối tượng dữ liệu lớn nhị phân. Giá trị tối đa của đối tượng BLOB được chỉ định bởi bộ nhớ khả dụng và kích thước gói giao tiếp. Bạn có thể thay đổi kích thước gói giao tiếp bằng cách sử dụng biến 

Chủ Đề