Đối với tất cả các cơ sở dữ liệu bạn có trên máy chủ: you have on the server:
mysql> SELECT SCHEMA_NAME 'database', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA;
Output:
+----------------------------+---------+--------------------+
| database | charset | collation |
+----------------------------+---------+--------------------+
| information_schema | utf8 | utf8_general_ci |
| my_database | latin1 | latin1_swedish_ci |
...
+----------------------------+---------+--------------------+
Đối với một cơ sở dữ liệu duy nhất:single Database:
mysql> USE my_database;
mysql> show variables like "character_set_database";
Output:
+----------------------------+---------+
| Variable_name | Value |
+----------------------------+---------+
| character_set_database | latin1 |
+----------------------------+---------+
Nhận đối chiếu cho các bảng:for Tables:
mysql> USE my_database;
mysql> SHOW TABLE STATUS WHERE NAME LIKE 'my_tablename';
Hoặc - sẽ xuất ra SQL hoàn chỉnh cho bảng tạo:
+----------------------------+---------+--------------------+
| database | charset | collation |
+----------------------------+---------+--------------------+
| information_schema | utf8 | utf8_general_ci |
| my_database | latin1 | latin1_swedish_ci |
...
+----------------------------+---------+--------------------+
3Nhận đối chiếu các cột:columns:
mysql> SHOW FULL COLUMNS FROM my_tablename;
output:
+---------+--------------+--------------------+ ....
| field | type | collation |
+---------+--------------+--------------------+ ....
| id | int[10] | [NULL] |
| key | varchar[255] | latin1_swedish_ci |
| value | varchar[255] | latin1_swedish_ci |
+---------+--------------+--------------------+ ....
10.3.4 & NBSP; Bộ và đối chiếu ký tự bảng
Mỗi bảng có một bộ ký tự bảng và một bảng đối chiếu bảng. Các câu lệnh
+----------------------------+---------+--------------------+
| database | charset | collation |
+----------------------------+---------+--------------------+
| information_schema | utf8 | utf8_general_ci |
| my_database | latin1 | latin1_swedish_ci |
...
+----------------------------+---------+--------------------+
4 và +----------------------------+---------+--------------------+
| database | charset | collation |
+----------------------------+---------+--------------------+
| information_schema | utf8 | utf8_general_ci |
| my_database | latin1 | latin1_swedish_ci |
...
+----------------------------+---------+--------------------+
5 có các mệnh đề tùy chọn để chỉ định bộ ký tự và đối chiếu:CREATE TABLE tbl_name [column_list]
[[DEFAULT] CHARACTER SET charset_name]
[COLLATE collation_name]]
ALTER TABLE tbl_name
[[DEFAULT] CHARACTER SET charset_name]
[COLLATE collation_name]
Thí dụ:
CREATE TABLE t1 [ ... ]
CHARACTER SET latin1 COLLATE latin1_danish_ci;
MySQL chọn bộ ký tự và đối chiếu theo cách sau:
Nếu cả
6 và+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
7 được chỉ định, SETS SET+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
8 và đối chiếu+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
9 được sử dụng.+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
Nếu
6 được chỉ định mà không có+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
1, ký tự đặtmysql> USE my_database; mysql> show variables like "character_set_database";
8 và đối chiếu mặc định của nó được sử dụng. Để xem đối chiếu mặc định cho mỗi bộ ký tự, hãy sử dụng câu lệnh+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
3 hoặc truy vấn bảngmysql> USE my_database; mysql> show variables like "character_set_database";
4mysql> USE my_database; mysql> show variables like "character_set_database";
5.mysql> USE my_database; mysql> show variables like "character_set_database";
Nếu
7 được chỉ định mà không có+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
7, bộ ký tự được liên kết vớimysql> USE my_database; mysql> show variables like "character_set_database";
9 và đối chiếu+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
9 được sử dụng.+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
Mặt khác [cả
7 vàmysql> USE my_database; mysql> show variables like "character_set_database";
1 đều không được chỉ định], bộ ký tự và đối chiếu ký tự cơ sở dữ liệu được sử dụng.mysql> USE my_database; mysql> show variables like "character_set_database";
Bộ và bộ đối chiếu ký tự được sử dụng làm giá trị mặc định cho các định nghĩa cột nếu bộ và bộ đối chiếu ký tự cột không được chỉ định trong các định nghĩa cột riêng lẻ. Bộ ký tự và đối chiếu là phần mở rộng MySQL; Không có những điều như vậy trong SQL tiêu chuẩn.
10.3.3 & NBSP; Bộ và đối chiếu ký tự cơ sở dữ liệu
Mỗi cơ sở dữ liệu đều có bộ ký tự cơ sở dữ liệu và đối chiếu cơ sở dữ liệu. Các câu lệnh
+----------------------------+---------+
| Variable_name | Value |
+----------------------------+---------+
| character_set_database | latin1 |
+----------------------------+---------+
2 và +----------------------------+---------+
| Variable_name | Value |
+----------------------------+---------+
| character_set_database | latin1 |
+----------------------------+---------+
3 có các điều khoản tùy chọn để chỉ định bộ ký tự và đối chiếu ký tự cơ sở dữ liệu:CREATE DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]
ALTER DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]
Từ khóa
+----------------------------+---------+
| Variable_name | Value |
+----------------------------+---------+
| character_set_database | latin1 |
+----------------------------+---------+
4 có thể được sử dụng thay vì +----------------------------+---------+
| Variable_name | Value |
+----------------------------+---------+
| character_set_database | latin1 |
+----------------------------+---------+
5.Các điều khoản
mysql> USE my_database;
mysql> show variables like "character_set_database";
7 và mysql> USE my_database;
mysql> show variables like "character_set_database";
1 cho phép tạo cơ sở dữ liệu với các bộ ký tự và đối chiếu khác nhau trên cùng một máy chủ MySQL.Các tùy chọn cơ sở dữ liệu được lưu trữ trong từ điển dữ liệu và có thể được kiểm tra bằng cách kiểm tra bảng
+----------------------------+---------+
| Variable_name | Value |
+----------------------------+---------+
| character_set_database | latin1 |
+----------------------------+---------+
8.Thí dụ:
+----------------------------+---------+--------------------+
| database | charset | collation |
+----------------------------+---------+--------------------+
| information_schema | utf8 | utf8_general_ci |
| my_database | latin1 | latin1_swedish_ci |
...
+----------------------------+---------+--------------------+
0MySQL chọn tập hợp ký tự cơ sở dữ liệu và đối chiếu cơ sở dữ liệu theo cách sau:
Nếu cả
6 và+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
7 được chỉ định, SETS SET+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
8 và đối chiếu+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
9 được sử dụng.+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
Nếu
6 được chỉ định mà không có+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
1, ký tự đặtmysql> USE my_database; mysql> show variables like "character_set_database";
8 và đối chiếu mặc định của nó được sử dụng. Để xem đối chiếu mặc định cho mỗi bộ ký tự, hãy sử dụng câu lệnh+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
3 hoặc truy vấn bảngmysql> USE my_database; mysql> show variables like "character_set_database";
4mysql> USE my_database; mysql> show variables like "character_set_database";
5.mysql> USE my_database; mysql> show variables like "character_set_database";
Nếu
7 được chỉ định mà không có+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
7, bộ ký tự được liên kết vớimysql> USE my_database; mysql> show variables like "character_set_database";
9 và đối chiếu+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
9 được sử dụng.+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
Mặt khác [cả
7 vàmysql> USE my_database; mysql> show variables like "character_set_database";
1 đều không được chỉ định], bộ ký tự máy chủ và đối chiếu máy chủ đều được sử dụng.mysql> USE my_database; mysql> show variables like "character_set_database";
Bộ ký tự và đối chiếu cho cơ sở dữ liệu mặc định có thể được xác định từ các giá trị của các biến hệ thống
mysql> SHOW FULL COLUMNS FROM my_tablename;
5 và mysql> SHOW FULL COLUMNS FROM my_tablename;
6. Máy chủ đặt các biến này bất cứ khi nào cơ sở dữ liệu mặc định thay đổi. Nếu không có cơ sở dữ liệu mặc định, các biến có cùng giá trị với các biến hệ thống cấp độ máy chủ tương ứng, mysql> SHOW FULL COLUMNS FROM my_tablename;
7 và mysql> SHOW FULL COLUMNS FROM my_tablename;
8.Để xem bộ ký tự mặc định và đối chiếu cho một cơ sở dữ liệu đã cho, hãy sử dụng các câu lệnh này:
+----------------------------+---------+--------------------+
| database | charset | collation |
+----------------------------+---------+--------------------+
| information_schema | utf8 | utf8_general_ci |
| my_database | latin1 | latin1_swedish_ci |
...
+----------------------------+---------+--------------------+
1Ngoài ra, để hiển thị các giá trị mà không thay đổi cơ sở dữ liệu mặc định:
+----------------------------+---------+--------------------+
| database | charset | collation |
+----------------------------+---------+--------------------+
| information_schema | utf8 | utf8_general_ci |
| my_database | latin1 | latin1_swedish_ci |
...
+----------------------------+---------+--------------------+
2Bộ ký tự và đối chiếu ký tự cơ sở dữ liệu ảnh hưởng đến các khía cạnh của hoạt động máy chủ:
Đối với các câu lệnh
4, bộ ký tự và đối chiếu ký tự cơ sở dữ liệu được sử dụng làm giá trị mặc định cho các định nghĩa bảng nếu bộ ký tự và đối chiếu bảng không được chỉ định. Để ghi đè lên điều này, cung cấp các tùy chọn bảng+----------------------------+---------+--------------------+ | database | charset | collation | +----------------------------+---------+--------------------+ | information_schema | utf8 | utf8_general_ci | | my_database | latin1 | latin1_swedish_ci | ... +----------------------------+---------+--------------------+
7 vàmysql> USE my_database; mysql> show variables like "character_set_database";
1 rõ ràng.mysql> USE my_database; mysql> show variables like "character_set_database";
Đối với các câu lệnh
2 bao gồm mệnh đề NO+---------+--------------+--------------------+ .... | field | type | collation | +---------+--------------+--------------------+ .... | id | int[10] | [NULL] | | key | varchar[255] | latin1_swedish_ci | | value | varchar[255] | latin1_swedish_ci | +---------+--------------+--------------------+ ....
7, máy chủ sử dụng bộ ký tự được biểu thị bởi biến hệ thốngmysql> USE my_database; mysql> show variables like "character_set_database";
5 để giải thích thông tin trong tệp. Để ghi đè lên điều này, cung cấp một mệnh đềmysql> SHOW FULL COLUMNS FROM my_tablename;
5 rõ ràng.+---------+--------------+--------------------+ .... | field | type | collation | +---------+--------------+--------------------+ .... | id | int[10] | [NULL] | | key | varchar[255] | latin1_swedish_ci | | value | varchar[255] | latin1_swedish_ci | +---------+--------------+--------------------+ ....
Đối với các thói quen được lưu trữ [quy trình và chức năng], bộ ký tự cơ sở dữ liệu có hiệu lực tại thời gian tạo thông thường được sử dụng làm bộ ký tự và đối chiếu các tham số dữ liệu ký tự mà khai báo không bao gồm
7 hoặc thuộc tínhmysql> USE my_database; mysql> show variables like "character_set_database";
1. Để ghi đè lên điều này, cung cấp rõ ràngmysql> USE my_database; mysql> show variables like "character_set_database";
7 vàmysql> USE my_database; mysql> show variables like "character_set_database";
1.mysql> USE my_database; mysql> show variables like "character_set_database";