Khi bạn tạo một cơ sở dữ liệu (CSDL), có nhiều chuẩn khác nhau mà MySQL / MariaDB gọi là “collation,” như được minh họa bên dưới:
Vậy để tạo database đúng collation được khuyến khích trong các dự án phần mềm sử dụng hệ quản trị CSDL MySQL / MariaDB là gì? Đó là: utf8mb4_unicode_ci
Tạo database với collation utf8mb4_unicode_ci trong MySQL / MariaDB
Để tạo database đầu tiên chúng ta cần kết nối tới MySQL / MariaDB Server
sudo mysql -u root -p
Sau đó sử dụng lệnh sql sau để tạo database:
CREATE DATABASE <my_database> CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Trong đó: <my_database>: là tên của CSDL
VD:
MariaDB [(none)]> CREATE DATABASE vinasupport CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Kiểm tra collation của database
Sau khi tạo xong database, các bạn muốn kiểm tra collation của database chúng ta sử dụng câu lệnh SQL sau:
MariaDB [(none)]> use vinasupport; MariaDB [vinasupport]> SELECT @@character_set_database, @@collation_database;
Kết quả sẽ được giống như là:
Vì sao nên sử dụng utf8mb4_unicode_ci để tạo database trong MySQL / MariaDB?
Có nhiều lý do cho sự ưa chuộng của utf8mb4_unicode_ci, và sau đây là một số ưu điểm quan trọng:
- **Sắp xếp dựa trên tiêu chuẩn Unicode**: utf8mb4_unicode_ci sử dụng tiêu chuẩn Unicode để thực hiện sắp xếp và so sánh dữ liệu. Điều này đảm bảo sắp xếp chính xác trong một phạm vi rộng của ngôn ngữ và bao gồm nhiều ngôn ngữ khác nhau.
- **Sử dụng quy tắc Unicode**: utf8mb4_unicode_ci tuân theo các quy tắc của Unicode để sắp xếp và so sánh dữ liệu. Điều này đặt ra một thuật toán phức tạp để đảm bảo tính chính xác trong việc sắp xếp, đặc biệt là khi có sự kết hợp của nhiều ngôn ngữ và sử dụng nhiều ký tự đặc biệt. Việc này bao gồm xem xét các quy định ngôn ngữ cụ thể, và không dựa vào cách mà mọi người sắp xếp thông qua “thứ tự chữ cái” thông thường.