Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Bộ nhị phân MySQL so với bộ ký tự char

Không có sự khác biệt.

Tuy nhiên, có một lưu ý nếu bạn đang lưu trữ một chuỗi.

Nếu bạn chỉ muốn lưu trữ một mảng byte hoặc dữ liệu nhị phân khác, chẳng hạn như một luồng hoặc tệp, hãy sử dụng kiểu nhị phân vì đó là những gì chúng có ý nghĩa.

Trích dẫn từ hướng dẫn sử dụng MySQL :

Vì vậy, về mặt kỹ thuật không có sự khác biệt.

Tuy nhiên, khi lưu trữ một chuỗi, nó phải được chuyển đổi từ một chuỗi thành các giá trị byte bằng cách sử dụng một bộ ký tự. Quyết định là tự mình thực hiện việc này trước máy chủ MySQL hoặc bạn giao việc này cho MySQL làm cho bạn. MySQL sẽ thực hiện với bằng cách truyền một chuỗi tới BINARY sử dụng bộ ký tự BIN.

Nếu bạn muốn lưu trữ mã hóa ở định dạng khác, giả sử bạn có yêu cầu kinh doanh nói rằng bạn phải sử dụng 4 byte cho mỗi ký tự (MySQL không làm điều này theo mặc định) thì bạn có thể sử dụng CHARACTER SET BINARY vào cột văn bản và tự thực hiện mã hóa bộ ký tự.

Nó cũng đáng đọc BINARY VARBINARY Các loại từ hướng dẫn sử dụng MySQL vì phần này trình bày chi tiết thông tin quan trọng như padding.

Tóm tắt: Không có sự khác biệt về kỹ thuật vì cái này đồng nghĩa với cái kia. Theo ý kiến ​​của tôi, việc lưu trữ các chuỗi nhị phân trong các kiểu dữ liệu thường chứa một chuỗi sẽ có ý nghĩa hợp lý bằng cách sử dụng CHARACTER SET BINARY và để lưu trữ mảng / luồng byte, v.v. trong BINARY các trường không thể được biểu diễn bằng cách chuyển đổi dữ liệu thông qua một bộ ký tự.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tìm ra vị trí của tệp cấu hình MySQL hiện được sử dụng trong linux

  2. MySQL:Tìm ngày bị thiếu giữa một phạm vi ngày

  3. Kết nối với Db chết sau> 4 <24 trong chế độ ngủ đông của Spring-boot jpa

  4. tính toán và hiển thị một ngày như 'giây trước', 'phút trước', 'giờ trước' v.v.

  5. JDBC:Chèn giá trị Ngày vào MySQL