Rumah >pangkalan data >tutorial mysql >Apakah perbezaan antara blob dan teks dalam mysql
Perbezaan: 1. BLOB dalam MySQL digunakan untuk menyimpan data binari, manakala TEXT digunakan untuk menyimpan data aksara 2. Lajur BLOB tidak mempunyai set aksara, dan pengisihan dan perbandingan adalah berdasarkan nilai berangka lajur bait nilai, manakala lajur TEXT mempunyai set aksara, dan nilai diisih dan dibandingkan mengikut peraturan pengumpulan set aksara.
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Terdapat dua jenis medan dalam MySQL yang mudah dikelirukan, iaitu TEXT dan BLOB. Mari kita lihat perbezaan antara keduanya.
Perbezaan antara gumpalan dan teks
1. Perbezaan utama
Perbezaan utama antara TEXT dan BLOB Perbezaannya ialah BLOB menyimpan data binari dan TEXT menyimpan data aksara. Pada masa ini, hampir semua gambar dalam kandungan blog tidak disimpan dalam perduaan dalam pangkalan data Sebaliknya, gambar tersebut dimuat naik ke pelayan dan kemudian dirujuk menggunakan tag BLOB boleh menukar gambar kepada binari dan menyimpannya dalam pangkalan data.
2. Perbezaan jenis
BLOB mempunyai 4 jenis: TINYBLOB, BLOB, MEDIUMBLOB dan LONGBLOB. Mereka hanya berbeza dalam panjang maksimum yang mereka boleh menyimpan nilai.
TEKS juga mempunyai 4 jenis: TINYTEXT, TEXT, MEDIUMTEXT dan LONGTEXT. Jenis ini mempunyai panjang maksimum dan keperluan penyimpanan yang sama seperti jenis BLOB.
3. Set aksara
Lajur BLOB tidak mempunyai set aksara dan pengisihan serta perbandingan adalah berdasarkan nilai berangka bait nilai lajur. Lajur TEXT mempunyai set aksara, dan nilai diisih dan dibandingkan mengikut peraturan pengumpulan set aksara
4 Sarung
disimpan dalam lajur TEKS atau BLOB atau Semasa proses mendapatkan semula, tiada penukaran kes, semuanya adalah sama!
5. Mod ketat
Apabila berjalan dalam mod tidak ketat, jika anda menetapkan nilai pada lajur BLOB atau TEKS yang melebihi panjang maksimum jenis lajur , nilai Dipotong untuk memastikan kesesuaian. Jika aksara yang dipotong bukan ruang, amaran akan dijana. Menggunakan mod SQL yang ketat, ralat akan dijana dan nilai akan ditolak dan bukannya dipintas dengan amaran.
6. Lain-lain
Jangan keluarkan ruang belakang semasa menyimpan atau mendapatkan semula nilai daripada lajur BLOB dan TEKS.
Untuk indeks pada lajur BLOB dan TEXT, panjang awalan indeks mesti ditentukan.
Lajur BLOB dan TEXT tidak boleh mempunyai nilai lalai.
Hanya bait max_sort_length pertama lajur digunakan semasa mengisih. Nilai lalai bagi max_sort_length ialah 1024.
Cara lain untuk menggunakan GROUP BY atau ORDER BY pada lajur BLOB atau TEXT yang mengandungi nilai panjang apabila anda ingin memahami bait yang melebihi max_sort_length ialah menukar nilai lajur kepada objek panjang tetap. Pendekatan standard ialah menggunakan fungsi SUBSTRING.
Saiz maksimum objek BLOB atau TEKS ditentukan oleh jenisnya, tetapi saiz maksimum yang sebenarnya boleh dihantar antara klien dan pelayan ditentukan oleh jumlah memori yang tersedia dan saiz penimbal komunikasi. Anda boleh menukar saiz penimbal mesej dengan menukar nilai pembolehubah max_allowed_packet, tetapi anda mesti mengubah suai kedua-dua program pelayan dan klien.
[Cadangan berkaitan: tutorial video mysql]
Atas ialah kandungan terperinci Apakah perbezaan antara blob dan teks dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!