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

Sự khác biệt giữa cơ sở dữ liệu, bảng, đối chiếu cột

Các bộ ký tự và đối chiếu của MySQL có thể được hiểu là danh sách các mục được ưu tiên từ trên xuống. Trên cùng là mức ưu tiên ít nhất và dưới cùng là mức ưu tiên nhất.

Thứ tự ưu tiên với trên cùng là ưu tiên ít nhất:

  • Đối chiếu máy chủ
  • Đối chiếu kết nối cụ thể
  • Đối chiếu cơ sở dữ liệu
  • Đối chiếu bảng
  • Đối chiếu cột
  • Đối chiếu truy vấn (sử dụng CAST hoặc CONVERT )

Đối chiếu máy chủ được đặt bởi máy chủ, được đặt bên trong my.cnf hoặc khi máy chủ được xây dựng từ mã nguồn. Theo mặc định, đây thường sẽ là latin1 hoặc utf8 , tùy thuộc vào nền tảng của bạn.

Đối chiếu kết nối cụ thể được khách hàng đặt bằng truy vấn như SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'; . Hầu hết các máy khách không đặt đối chiếu kết nối cụ thể, vì vậy máy chủ sẽ sử dụng mặc định của chính nó như đã giải thích ở trên.

Đối chiếu cơ sở dữ liệu được đặt trong quá trình tạo cơ sở dữ liệu hoặc theo cách thủ công bằng cách cập nhật nó sau. Nếu bạn không chỉ định một, nó sẽ sử dụng đối chiếu cấp cao hơn tiếp theo, sẽ là đối chiếu kết nối cụ thể hoặc đối chiếu máy chủ.

Đối chiếu bảng giống như đối chiếu cơ sở dữ liệu, ngoại trừ nếu để trống, nó sẽ sử dụng cơ sở dữ liệu làm mặc định, sau đó là kết nối cụ thể, và cuối cùng là đối chiếu của máy chủ.

Đối chiếu cột sử dụng đối chiếu của bảng làm mặc định và nếu không có đối chiếu nào được đặt, thì nó sẽ theo dõi chuỗi để tìm đối chiếu để sử dụng, dừng lại ở máy chủ nếu tất cả các đối chiếu khác chưa được đặt.

Đối chiếu truy vấn được chỉ định trong truy vấn bằng cách sử dụng CAST hoặc CONVERT , nhưng nếu không sẽ sử dụng đối chiếu có sẵn tiếp theo trong chuỗi. Không có cách nào để đặt điều này trừ khi bạn sử dụng một hàm.

Ngoài ra, vui lòng tham khảo trang hướng dẫn Hỗ trợ bộ ký tự .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiển thị thông báo trong thủ tục được lưu trữ

  2. Hàm IF trong H2 để tương thích với MySQL

  3. Mảng đầu ra MySQL / PHP lặp lại truy vấn và sau đó hiển thị kết quả, làm cách nào để xóa truy vấn?

  4. Dấu ngoặc vuông có hợp lệ trong một truy vấn SQL không?

  5. Nhóm theo id có max (date_field)