MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Atur Set Karakter dan Susunan Tabel di MariaDB

Anda dapat menentukan set karakter dan susunan di berbagai level di MariaDB. Anda dapat menentukannya di tingkat koneksi, tingkat server, tingkat database, tingkat tabel, dan bahkan tingkat kolom.

Anda juga dapat menentukan susunan dalam kueri Anda sehingga menimpa susunan apa pun yang telah ditentukan sebelumnya pada tingkat yang disebutkan di atas.

Untuk mengatur set karakter dan susunan pada tingkat tabel, gunakan CREATE TABLE pernyataan atau ALTER TABLE pernyataan (bergantung pada apakah Anda membuat tabel atau memodifikasinya).

Saat Membuat Tabel

Berikut contoh pengaturan collation dan character set saat membuat tabel:

CREATE TABLE Products ( 
    ProductId CHAR(10), 
    ProductName VARCHAR(255) NOT NULL, 
    PRIMARY KEY (ProductId)) 
    CHARACTER SET latin1 
    COLLATE latin1_general_ci;

Itu membuat tabel bernama Products dengan latin1 set karakter, dan kumpulan latin1_general_ci .

Mengubah Tabel yang Ada

Berikut contoh perubahan collation dan character set pada tabel yang sudah ada:

ALTER TABLE Products 
CONVERT TO CHARACTER SET utf8 COLLATE utf8_spanish_ci;

Sekarang menggunakan susunan dan set karakter baru.

Anda juga dapat menghilangkan CONVERT TO bagian:

ALTER TABLE Products 
CHARACTER SET utf8 
COLLATE utf8_spanish_ci;

Kolasi Harus Valid untuk Kumpulan Karakter

Saat mengatur susunan dan kumpulan karakter, Anda perlu memastikan bahwa susunan tersebut valid untuk kumpulan karakter yang dipilih dan sebaliknya. Jika tidak, kesalahan akan dikembalikan.

Berikut ini contoh penetapan menggunakan susunan yang tidak valid untuk kumpulan karakter yang ditentukan:

ALTER TABLE Products 
CHARACTER SET latin1 
COLLATE utf8_spanish_ci;

Hasil:

ERROR 1253 (42000): COLLATION 'utf8_spanish_ci' is not valid for CHARACTER SET 'latin1'

Ini memberitahu kita bahwa susunan yang kita pilih tidak valid untuk set karakter tertentu yang kita pilih.

Lihat Daftar Lengkap Kumpulan yang Didukung oleh MariaDB atau Daftar Lengkap Kumpulan Karakter yang Didukung oleh MariaDB untuk daftar kumpulan yang cocok dan kumpulan karakter.

Menentukan Hanya Kumpulan atau Kumpulan Karakter

Tidak apa-apa untuk menentukan hanya susunan atau kumpulan karakter saja (atau tidak keduanya):

  • Jika hanya kumpulan karakter yang disediakan, susunan default untuk kumpulan karakter tersebut akan digunakan.
  • Jika hanya kumpulan yang disediakan, kumpulan karakter terkait akan digunakan.
  • Jika tidak ada susunan atau kumpulan karakter yang disediakan, tabel default akan digunakan.

Mengonversi ke Kumpulan Karakter yang Membutuhkan Lebih Banyak Byte

Untuk VARCHAR atau TEXT kolom, CONVERT TO CHARACTER SET ubah tipe data jika diperlukan untuk memastikan bahwa kolom baru cukup panjang untuk menyimpan karakter sebanyak kolom aslinya.

Misalnya, sebuah TEXT ascii kolom membutuhkan satu byte per karakter, sehingga kolom dapat menampung hingga 65.535 karakter. Jika kolom dikonversi ke utf8, hingga 3 byte dapat diperlukan untuk setiap karakter, sehingga kolom akan dikonversi menjadi MEDIUMTEXT (yang memiliki panjang maksimum 16.777.215) sehingga dapat menampung jumlah karakter yang sama.

Jika Anda tidak ingin perubahan tipe data seperti itu terjadi, gunakan MODIFY pada kolom individu sebagai gantinya.

Misalnya:

ALTER TABLE Products 
MODIFY ProductName VARCHAR(255) 
CHARACTER SET utf8; 

Mengonversi ke Biner

CONVERT TO CHARACTER SET binary akan mengonversi CHAR , VARCHAR dan TEXT kolom ke BINARY , VARBINARY dan BLOB masing-masing.

Setelah ini selesai, kolom tersebut tidak akan lagi memiliki kumpulan karakter. Selain itu, mereka tidak akan lagi terpengaruh oleh CONVERT TO CHARACTER SET di masa mendatang pernyataan.

Memeriksa Kumpulan dan Kumpulan Karakter di MariaDB

Ada berbagai cara untuk memeriksa susunan dan kumpulan karakter di MariaDB, tergantung pada level yang Anda periksa (server, database, tabel, kolom, koneksi, dll). Lihat Show the Collation di MariaDB untuk contoh.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 4 Cara Menemukan Baris yang Mengandung Huruf Kecil di MariaDB

  2. Ikhtisar DBaaS Baru dari MariaDB - SkySQL

  3. Cara Mengotomatiskan Failover Basis Data dengan ClusterControl

  4. Bagaimana Operator LIKE Bekerja di MariaDB

  5. Cara Mengembalikan Elemen dari JSON Array di MariaDB