Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Biner MySQL vs kumpulan karakter char biner

Tidak ada perbedaan.

Namun, ada peringatan jika Anda menyimpan string.

Jika Anda hanya ingin menyimpan array byte atau data biner lainnya seperti aliran atau file, gunakan tipe biner karena memang itulah yang dimaksudkan.

Kutipan dari manual MySQL :

Jadi, secara teknis tidak ada perbedaan.

Namun, saat menyimpan string, string harus dikonversi dari string ke nilai byte menggunakan set karakter. Keputusannya adalah melakukan ini sendiri sebelum server MySQL atau Anda menyerahkannya kepada MySQL yang melakukannya untuk Anda. MySQL akan tampil dengan dengan melemparkan string ke BINARY menggunakan set karakter BIN.

Jika Anda ingin menyimpan pengkodean dalam format lain, katakanlah Anda memiliki persyaratan bisnis yang mengatakan Anda harus menggunakan 4 byte per karakter (MySQL tidak melakukan ini secara default), Anda kemudian dapat menggunakan CHARACTER SET BINARY ke kolom tekstual dan lakukan pengkodean set karakter sendiri.

Penting juga untuk membaca The BINARY dan VARBINARY Jenis dari manual MySQL karena ini merinci informasi penting seperti padding.

Ringkasan: Tidak ada perbedaan teknis karena yang satu sinonim dengan yang lain. Menurut pendapat saya masuk akal untuk menyimpan string biner dalam tipe data yang biasanya menyimpan string menggunakan CHARACTER SET BINARY dan untuk menyimpan byte array / stream dll di BINARY bidang yang tidak dapat direpresentasikan dengan mengubah data melalui kumpulan karakter.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - SELECT WHERE field IN (subquery) - Mengapa sangat lambat?

  2. Izinkan pengguna membuat dan mengubah tabel?

  3. Rangkaian konfigurasi CodeIgniter dan dukungan UTF-8

  4. SQL:temukan baris dan urutkan berdasarkan jumlah kolom yang cocok?

  5. Desain Basis Data:Kunci komposit vs kunci utama satu kolom