TRUNG BÌNHBLOBMySQL

Blob là kiểu dữ liệu trong MySQL giúp chúng ta lưu trữ đối tượng ở định dạng nhị phân. Nó thường được sử dụng để lưu trữ các tệp, hình ảnh, v.v. vì lý do bảo mật hoặc một số mục đích khác trong MySQL. Nó có thể lưu trữ và giữ một lượng dữ liệu thay đổi và bốn loại blob có thể được sử dụng trong MySQL là – LONGBLOB, MEDIUMBLOB, BLOB và TINYBLOB. Tất cả các loại này khác nhau về không gian lưu trữ cần thiết và độ dài tối đa có thể lưu trữ. Các giá trị kiểu dữ liệu này hầu hết được coi là chuỗi byte hoặc chuỗi nhị phân

Các giá trị BLOB chứa bộ ký tự nhị phân và đối chiếu. Các byte được lưu trữ trong các giá trị cột như vậy có các giá trị số dựa trên đó việc sắp xếp và so sánh được thực hiện bất cứ khi nào được thực hiện trong MySQL. Trong bài viết này, chúng ta sẽ tìm hiểu về kiểu dữ liệu BLOB và cách chúng ta có thể khai báo các cột của bảng là BLOB, hơn nữa chúng ta sẽ thảo luận về hành vi của các giá trị BLOB đối với các cài đặt khác nhau của chế độ nghiêm ngặt và xem các ví dụ liên quan đến các giá trị BLOB

Bắt đầu khóa học khoa học dữ liệu miễn phí của bạn

Hadoop, Khoa học dữ liệu, Thống kê và những thứ khác

Kiểu dữ liệu BLOB

Kích thước hàng tối đa của bảng trong MySQL là 65535 thể hiện khả năng bên trong của hàng mặc dù công cụ lưu trữ có hỗ trợ khả năng lớn hơn cho các hàng. Kích thước tối đa này của hàng không bao gồm cột đã nhập dữ liệu BLOB hoặc TEXT trong đó. Cùng với bộ đệm hàng, dữ liệu có giá trị BLOB được lưu trữ trong các vùng khác nhau của bộ nhớ và việc phân bổ bộ nhớ cho loại giá trị này khác nhau đối với các công cụ lưu trữ khác nhau. Mỗi công cụ lưu trữ sử dụng một phương thức khác nhau để xử lý dữ liệu của kiểu dữ liệu đó

Yêu cầu lưu trữ cho tất cả các kiểu dữ liệu blob như được đưa ra dưới đây -

  • TINYBLOB – độ dài + 1 byte, trong đó độ dài < 2^8
  • BLOB – độ dài + 2 byte, trong đó độ dài < 2^16
  • MEDIUMBLOB – độ dài + 3 byte, trong đó độ dài < 2^24
  • LONGBLOB – độ dài + 4 byte, trong đó độ dài < 2^32

trong đó độ dài là viết tắt của độ dài ban đầu của chuỗi ký tự mà cột đã nhập dữ liệu blob chứa

Có một số điều bạn nên biết về kiểu dữ liệu BLOB và được liệt kê bên dưới –

Gói khoa học dữ liệu tất cả trong một[360+ khóa học, hơn 50 dự án]

Giá
Xem khóa học

360+ Khóa học trực tuyến. hơn 50 dự án. Hơn 1500 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 7 [83.410 lượt xếp hạng]

  • Kiểu dữ liệu BLOB là một cột có độ dài thay đổi và do đó nó được coi là cột VARBINARY. Tuy nhiên, nó khác với VARBINARY theo một số cách nhất định. Bất cứ khi nào cột BLOB được sử dụng để lập chỉ mục, cần phải đề cập đến độ dài của tiền tố sẽ được sử dụng để lập chỉ mục và giá trị mặc định không thể được gán cho cột BLOB
  • Bất cứ khi nào chế độ nghiêm ngặt trong MySQL bị vô hiệu hóa và chúng tôi cố gắng chèn giá trị vào cột BLOB vượt quá độ dài tối đa của cột thì giá trị có thể vừa với cột sẽ bị cắt bớt khỏi giá trị ban đầu được chèn và chỉ giá trị bị cắt ngắn mới được chèn dọc theo
  • Nếu chế độ nghiêm ngặt được bật trong Mysql, việc cắt bớt giá trị vượt quá độ dài tối đa của cột sẽ bị ngăn chặn và xảy ra lỗi cho biết giá trị được chèn vượt quá độ dài cột đã xác định
  • Bất cứ khi nào chúng tôi thực hiện sắp xếp trên cột BLOB thì chỉ các byte max_sort_length đầu tiên được xem xét để sắp xếp. biến max_sort_length có giá trị mặc định là 1024. Tuy nhiên, chúng ta có thể thay đổi thêm giá trị của max_sort_length và tăng nó để xem xét nhiều byte giá trị đó trong khi sắp xếp và nhóm dữ liệu dựa trên cột BLOB
  • Loại BLOB xác định kích thước tối đa mà cột có thể có, tuy nhiên, kích thước thực tế lớn nhất có thể của giá trị có thể được truyền giữa máy khách và máy chủ phụ thuộc vào kích thước của bộ đệm được sử dụng trong giao tiếp và bộ nhớ khả dụng. Dung lượng tối đa của kích thước bộ đệm có thể được thay đổi bằng cách thay đổi giá trị của biến max_allowed_packet. Giá trị của biến này cần được thay đổi ở máy chủ cũng như kích thước máy khách để nó hoạt động chính xác

Ví dụ về MySQL BLOB

Chúng tôi sẽ tạo một bảng có tên là bộ sưu tập sẽ chứa các cột id, tên và hình ảnh. Cột hình ảnh sẽ có kiểu dữ liệu BLOB. Chúng ta có thể sử dụng truy vấn sau để tạo bảng của mình –

Mã số

CREATE TABLE gallery [
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR [255] NOT NULL,
image BLOB NOT NULL
];

đầu ra

Trong PHP, chúng ta có thể sử dụng PDO để chèn các giá trị vào bảng với các cột kiểu dữ liệu blob. Chúng ta sẽ thấy một chương trình trong PHP sẽ chỉ ra cách chúng ta có thể chèn và truy xuất các giá trị blob đến và từ cơ sở dữ liệu như sau –

Mã số

Đầu ra của đoạn mã trên khi tệp được lưu với tên educba. php và chạy trên trình duyệt như sau vì ảnh này do mình chèn vào và có tên sample. jpg-

hiển thị hình ảnh mà chúng tôi đã lưu trữ trong thư viện bảng SQL. Hãy để chúng tôi truy xuất bản ghi trong MySQL và kiểm tra nội dung của bảng thư viện –

select id, name from gallery;

đầu ra

Khi chúng tôi cố gắng truy xuất giá trị blob bằng cách sử dụng câu lệnh truy vấn sau, đầu ra quá lớn do tệp jpg được lưu trữ trong cột hình ảnh của loại blob khiến cho tập kết quả trở nên rộng lớn và không thể đọc được trên thiết bị đầu cuối vì tệp jpg không thể phân tích cú pháp trên thiết bị đầu cuối

select * from gallery;

đầu ra

Sự kết luận

Loại blob được sử dụng trong MySQL để lưu trữ các tệp phương tiện như hình ảnh, tệp pdf, video, báo cáo, v.v. Các biện pháp phòng ngừa cần thực hiện khi sử dụng loại này như đã thảo luận ở trên

Bài viết được đề xuất

Đây là hướng dẫn về MySQL BLOB. Ở đây chúng tôi thảo luận về phần giới thiệu, Kiểu dữ liệu BLOB và các ví dụ cùng với việc triển khai mã tương ứng. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

Làm cách nào để đặt kích thước BLOB trong MySQL?

BLOB trong MySQL là gì? . Tạo một bảng có kiểu dữ liệu BLOB trong JMeter. Thêm hàng vào bảng chứa BLOB trong JMeter. . Các loại BLOB

Làm cách nào để BLOB dữ liệu trong MySQL?

Trong MySQL, chúng ta có thể sử dụng kiểu dữ liệu BLOB để lưu trữ tệp . BLOB là một đối tượng lớn nhị phân có thể chứa một lượng dữ liệu thay đổi. Chúng tôi có thể đại diện cho các tệp ở định dạng nhị phân và sau đó lưu trữ chúng trong cơ sở dữ liệu của chúng tôi. Bốn loại BLOB là TINYBLOB, BLOB, MEDIUMBLOB và LONGBLOB.

BLOB nhỏ trong MySQL là gì?

Mô tả. Một cột BLOB có độ dài tối đa là 255 [2 8 - 1] byte. Each TINYBLOB value is stored using a one-byte length prefix that indicates the number of bytes in the value.

Làm cách nào để truy cập BLOB trong MySQL?

BLOB là từ viết tắt của Đối tượng lớn nhị phân. .
Bước 1. Đăng nhập vào cơ sở dữ liệu MySQL của bạn. .
Bước 2. Chọn loại dữ liệu BLOB. .
Bước 3. Tạo cấu trúc cơ sở dữ liệu. .
Bước 4. Chèn dữ liệu vào bảng sinh viên. .
Bước 4. Lấy dữ liệu từ bảng sinh viên

Chủ Đề