THU THẬP MySQL

Trong MySQL, đối chiếu có thể được áp dụng ở nhiều cấp độ. Nó có thể được áp dụng ở cấp độ máy chủ, cấp độ kết nối, cấp độ cơ sở dữ liệu, cấp độ bảng và thậm chí ở cấp độ cột. Bạn cũng có thể chỉ định một đối chiếu trong các truy vấn của mình sẽ ghi đè bất kỳ đối chiếu nào đã được áp dụng ở cấp độ cơ sở dữ liệu, bảng hoặc cột

Dưới đây là cách tìm hiểu đối chiếu nào đang được áp dụng ở mỗi cấp độ này

Phím tắt cho kết nối, máy chủ và đối chiếu cơ sở dữ liệu

Cách nhanh nhất để lấy thông tin đối chiếu cho kết nối, máy chủ và cơ sở dữ liệu là sử dụng câu lệnh sau. Câu lệnh này trả về tất cả các biến hệ thống bắt đầu bằng

SELECT @@collation_server;
0

SHOW VARIABLES LIKE 'collation%';

Điều này trả về đối chiếu cho máy chủ, kết nối và cơ sở dữ liệu. Như thế này

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+

Bạn cũng có thể trả về từng biến hệ thống này một cách riêng biệt nếu cần. Xem bên dưới để được hướng dẫn về cách làm điều đó

Đối chiếu cấp máy chủ

Chạy lệnh sau sẽ trả về đối chiếu mặc định của máy chủ

SELECT @@collation_server;

kết quả ví dụ

+--------------------+
| @@collation_server |
+--------------------+
| utf8mb4_0900_ai_ci |
+--------------------+

Đối chiếu mức kết nối

Khi bạn chạy truy vấn đối với cơ sở dữ liệu MySQL, MySQL sẽ sử dụng một loạt các biến hệ thống để xác định bộ ký tự và đối chiếu nào sẽ sử dụng bất cứ khi nào truy vấn được chạy. Nếu máy khách sử dụng một bộ ký tự khác với máy chủ, thì MySQL có thể dịch nó thành một bộ ký tự và đối chiếu thích hợp

Khi gửi kết quả truy vấn trở lại máy khách, MySQL có thể dịch các kết quả này trở lại thành một bộ ký tự khác hoàn toàn nếu được yêu cầu. MySQL sử dụng các biến hệ thống để xác định bộ ký tự và đối chiếu nào sẽ được sử dụng ở mỗi bước này

Phần sau đây tách ra đối chiếu kết nối [bạn có thể sử dụng cùng một cú pháp cho bất kỳ biến hệ thống nào]

SELECT @@collation_connection;

kết quả ví dụ

+------------------------+
| @@collation_connection |
+------------------------+
| utf8mb4_0900_ai_ci     |
+------------------------+

Bạn cũng có thể trả về tất cả các biến hệ thống của bộ ký tự bằng truy vấn sau

SHOW VARIABLES LIKE 'character_set%';

kết quả ví dụ

________số 8

Đối chiếu cấp cơ sở dữ liệu

Câu lệnh sau đây có thể được sử dụng để kiểm tra đối chiếu của một cơ sở dữ liệu nhất định

USE Music;
SELECT @@character_set_database, @@collation_database;

kết quả ví dụ

SHOW VARIABLES LIKE 'collation%';
0

Ngoài ra, bạn có thể sử dụng câu lệnh sau [loại bỏ nhu cầu thay đổi cơ sở dữ liệu mặc định]

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
0

kết quả ví dụ

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
1

Đối chiếu cấp độ bảng

Chạy câu lệnh sau sẽ trả về một loạt các cột cung cấp thông tin về bất kỳ/các bảng phù hợp nào. Một trong những cột này được gọi là Đối chiếu và nó cung cấp đối chiếu của tất cả các bảng phù hợp

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
2

Tất nhiên, bạn sẽ cần thay thế

SELECT @@collation_server;
1 bằng tên bảng của riêng bạn. Và bạn có thể bỏ qua các dấu phần trăm nếu bạn không nghĩ rằng chúng cần thiết. Tuyên bố này cũng chấp nhận các mệnh đề khác, chẳng hạn như
SELECT @@collation_server;
2,
SELECT @@collation_server;
3 và
SELECT @@collation_server;
4, vì vậy điều này cung cấp cho bạn một số tùy chọn khi xây dựng tuyên bố của mình

Một vấn đề với câu lệnh trước đó là nó trả về rất nhiều cột và bạn có thể buộc phải cuộn sang một bên để tìm cột đối chiếu. Nếu bạn chỉ quan tâm đến thông tin đối chiếu, bạn có thể truy vấn

SELECT @@collation_server;
5. Bạn cũng có thể trả lại đối chiếu cho tất cả các bảng trong một cơ sở dữ liệu nhất định nếu được yêu cầu. Đây là cách để làm điều đó

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
3

Kết quả ví dụ

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
4

Đối chiếu cấp độ cột

Chạy truy vấn sau đây trả về thông tin về từng cột trong một bảng nhất định. Điều này bao gồm các thông tin đối chiếu

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
5

Điều đó dẫn đến rất nhiều cột được trả về với tất cả các loại thông tin về cột, bao gồm cả đối chiếu

Bạn có thể giảm số lượng cột được trả về bằng cách này

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
6

kết quả ví dụ

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
7

Bạn cũng có thể chạy câu lệnh

SELECT @@collation_server;
6 để hiển thị định nghĩa của bảng [bao gồm các cột của nó]

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
8

Điều này trả về một cái gì đó như thế này

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
9

Tuy nhiên, thông tin về bộ ký tự và đối chiếu chỉ được trả về nếu chúng khác với đối chiếu mặc định của bảng. Trong ví dụ này, tôi đặt rõ ràng cột

SELECT @@collation_server;
7 thành một đối chiếu khác chỉ nhằm mục đích trình diễn [nếu không thì thông tin đối chiếu sẽ không được trả về]

Đối chiếu trong MySQL là gì?

Đối chiếu là một bộ quy tắc xác định cách so sánh và sắp xếp các chuỗi ký tự . Mỗi đối chiếu trong MySQL thuộc về một bộ ký tự. Mỗi bộ ký tự có ít nhất một đối chiếu và hầu hết có hai hoặc nhiều đối chiếu. Một đối chiếu sắp xếp các ký tự dựa trên trọng số.

đối chiếu có nghĩa là gì trong cơ sở dữ liệu?

Đối chiếu chỉ định các mẫu bit đại diện cho từng ký tự trong tập dữ liệu . Bộ sưu tập cũng xác định các quy tắc sắp xếp và so sánh dữ liệu. SQL Server hỗ trợ lưu trữ các đối tượng có các đối chiếu khác nhau trong một cơ sở dữ liệu.

Làm cách nào để đặt đối chiếu trong truy vấn MySQL?

Thay đổi bộ ký tự cơ sở dữ liệu và đối chiếu .
Đăng nhập vào phpMyAdmin
Chọn cơ sở dữ liệu của bạn từ danh sách bên trái
Nhấp vào "Hoạt động" từ tập hợp các tab trên cùng
Trong hộp Đối chiếu, chọn đối chiếu mới của bạn từ trình đơn thả xuống. .
Chọn cơ sở dữ liệu của bạn từ danh sách bên trái

đối chiếu tốt nhất cho MySQL là gì?

Đối chiếu mặc định cho utf8mb4 trong MySQL 8. 0 là utf8mb4_0900_ai_ci. Đây là một đối chiếu tốt cho các trường hợp sử dụng chung, nhưng vui lòng sử dụng một trong những đối chiếu cụ thể hơn nếu nó hoạt động tốt hơn cho ứng dụng của bạn

Chủ Đề