Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Truy vấn collation mặc định của database hiện tại trong MySQL

Sử dụng bảng INFORMATION_SCHEMA.SCHEMATA để lấy collation mặc định của database.

Cú pháp

SELECT DEFAULT_COLLATION_NAME 
FROM information_schema.SCHEMATA 
WHERE SCHEMA_NAME = 'tên_database' 
LIMIT 1;

Ví dụ minh họa

Kiểm tra database sample:

mysql> SELECT DEFAULT_COLLATION_NAME 
    -> FROM information_schema.SCHEMATA 
    -> WHERE SCHEMA_NAME = 'sample' 
    -> LIMIT 1;
+------------------------+
| DEFAULT_COLLATION_NAME |
+------------------------+
| utf8_general_ci        |
+------------------------+

Các collation phổ biến

CollationCharsetĐặc điểm
utf8mb4_general_ciutf8mb4Khuyên dùng cho MySQL 5.7+/8.0, hỗ trợ emoji
utf8mb4_unicode_ciutf8mb4Sắp xếp chính xác theo Unicode, chậm hơn general_ci
utf8_general_ciutf8Cũ, không hỗ trợ emoji (3 byte max)
latin1_swedish_cilatin1Mặc định cũ, không hỗ trợ tiếng Việt

Xem collation của tất cả database

SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME 
FROM information_schema.SCHEMATA;

Thay đổi collation mặc định của database

ALTER DATABASE tên_database CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Lưu ý: Thay đổi collation database chỉ ảnh hưởng đến các bảng/bảng mới tạo sau đó. Bảng hiện tại giữ nguyên collation cũ trừ khi ALTER TABLE.