Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào tôi có thể tìm ra bộ ký tự / đối chiếu mặc định trong MySQL của mình

Sử dụng SHOW CREATE TABLE . Ví dụ:

CREATE TABLE a (
    dflt VARCHAR(11),
    cs   VARCHAR(11)  CHARACTER SET latin1,
    cola VARCHAR(11)  COLLATE utf8mb4_hungarian_ci,
    cc   VARCHAR(11)  CHARACTER SET latin1  COLLATE latin1_bin,
    colb VARCHAR(11)  COLLATE latin1_bin
);

SHOW CREATE TABLE a\G

mysql> SHOW CREATE TABLE a\G
*************************** 1. row ***************************
       Table: a
Create Table: CREATE TABLE `a` (
  `dflt` varchar(11) DEFAULT NULL,
  `cs`   varchar(11) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,
  `cola` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_hungarian_ci DEFAULT NULL,
  `cc`   varchar(11) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
  `colb` varchar(11) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

Ghi chú:

  • Hầu hết các cột đều có bộ ký tự và đối chiếu được viết rõ ràng.
  • Cái không (dflt ) kế thừa các cài đặt đó từ DEFAULTs cho bảng.
  • Mỗi CHARACTER SET có đối chiếu "mặc định".
  • Mỗi COLLATE được liên kết với chính xác một CHARACTER SET , cụ thể là phần đầu tiên của tên đối chiếu.
  • (Không hiển thị ở đây):DEFAULTs cho bảng được kế thừa từ DATABASE .
  • MySQL 8 mặc định là CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci nếu bạn không làm gì.
  • Các phiên bản cũ hơn được đặt mặc định thành CHARSET=latin1 COLLATE=latin1_swedish_ci
  • "0900" hoặc "520" trong một số đối chiếu đề cập đến Tiêu chuẩn Unicode phiên bản 9.0 và 5.20. Từ đó, bạn có thể suy ra rằng có thể sẽ có những ảnh ghép mới "hay hơn" trong tương lai.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:vượt quá thời gian chờ khóa

  2. Ruby, Rails:đá quý mysql2, có ai sử dụng viên đá quý này không? Nó có ổn định không?

  3. Đặt giá trị lặp lại thành 0 trong khi để nguyên giá trị đầu tiên

  4. cách tính giá trị cột duy nhất trong mysql

  5. Đặt NOW () làm Giá trị Mặc định cho kiểu dữ liệu datetime?