Hướng dẫn how do i find the charset of a table in mysql? - làm cách nào để tìm bảng mã của một bảng trong mysql?

Đố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  |
...
+----------------------------+---------+--------------------+
3


Nhậ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ả

    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    
    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.

  • Nếu

    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    
    6 được chỉ định mà không có
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    1, ký tự đặt
    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    
    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
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    3 hoặc truy vấn bảng
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    4
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    5.

  • Nếu

    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    
    7 được chỉ định mà không có
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    7, bộ ký tự được liên kết với
    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    
    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.

  • Mặt khác (cả

    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 đều không được chỉ định), bộ ký tự và đối chiếu ký tự cơ sở dữ liệu được sử dụng.

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  |
...
+----------------------------+---------+--------------------+
0

MySQL 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ả

    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    
    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.

  • Nếu

    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    
    6 được chỉ định mà không có
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    1, ký tự đặt
    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    
    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
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    3 hoặc truy vấn bảng
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    4
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    5.

  • Nếu

    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    
    7 được chỉ định mà không có
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    7, bộ ký tự được liên kết với
    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    
    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.

  • Mặt khác (cả

    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 đều không được chỉ định), bộ ký tự máy chủ và đối chiếu máy chủ đều được sử dụng.

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  |
...
+----------------------------+---------+--------------------+
1

Ngoà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  |
...
+----------------------------+---------+--------------------+
2

Bộ 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

    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    
    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
    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 rõ ràng.

  • Đối với các câu lệnh

    +---------+--------------+--------------------+ ....
    | field   | type         | collation          |
    +---------+--------------+--------------------+ ....
    | id      | int(10)      | (NULL)             |
    | key     | varchar(255) | latin1_swedish_ci  |
    | value   | varchar(255) | latin1_swedish_ci  |
    +---------+--------------+--------------------+ ....
    
    2 bao gồm mệnh đề NO
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    7, máy chủ sử dụng bộ ký tự được biểu thị bởi biến hệ thống
    mysql> SHOW FULL COLUMNS FROM my_tablename;
    
    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 đề
    +---------+--------------+--------------------+ ....
    | field   | type         | collation          |
    +---------+--------------+--------------------+ ....
    | id      | int(10)      | (NULL)             |
    | key     | varchar(255) | latin1_swedish_ci  |
    | value   | varchar(255) | latin1_swedish_ci  |
    +---------+--------------+--------------------+ ....
    
    5 rõ ràng.

  • Đố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

    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    7 hoặc thuộc tính
    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    
    1. Để ghi đè lên điều này, cung cấp rõ ràng
    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.


Làm cách nào để tìm thấy ký tự MySQL của tôi?

Để 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: sử dụng db_name; Chọn @@ Charact_set_database, @@ collation_database; Ngoài ra, để hiển thị các giá trị mà không cần thay đổi cơ sở dữ liệu mặc định: chọn default_character_set_name, default_collation_name từ thông tin_schema.USE db_name; SELECT @@character_set_database, @@collation_database; Alternatively, to display the values without changing the default database: SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.

Làm thế nào để tôi tìm thấy độ thương của cơ sở dữ liệu?

Câu trả lời.Giá trị đặt ký tự cơ sở dữ liệu của cơ sở dữ liệu Oracle có thể được xác định bằng cách chạy lệnh sau trong sql * plus hoặc pdsql của Oracle: chọn * từ nls_database_parameter trong đó tham số = 'nls_characterset';select * from NLS_DATABASE_PARAMETERS where parameter='NLS_CHARACTERSET';

Làm cách nào để thay đổi một ký tự trong mysql?

Bạn có thể thay đổi mặc định bằng một bảng thay đổi bộ ký tự mặc định nhưng điều đó sẽ không thay đổi độ lệch của các cột hiện có.Để thay đổi mà bạn cần sử dụng cột sửa đổi bảng thay đổi.Thay đổi ký tự của một cột chỉ có nghĩa là nó sẽ có thể lưu trữ một loạt các ký tự rộng hơn.use a alter table modify column . Changing the charset of a column only means that it will be able to store a wider range of characters.

Charset mặc định trong MySQL là gì?

Bộ và đối chiếu ký tự máy chủ MySQL mặc định là Latin1 và latin1_swedish_ci, nhưng bạn có thể chỉ định các bộ ký tự tại các cấp độ máy chủ, cơ sở dữ liệu, bảng, cột và chuỗi.latin1 and latin1_swedish_ci , but you can specify character sets at the server, database, table, column, and string literal levels.