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

Lệnh MySQL để tìm kiếm CSV (hoặc mảng tương tự)

Cách chính xác để xử lý điều này trong SQL là thêm một bảng khác cho thuộc tính đa giá trị. Nó chống lại mô hình quan hệ để lưu trữ nhiều giá trị rời rạc trong một cột duy nhất. Vì nó được dự định là không nên có rất ít hỗ trợ cho nó bằng ngôn ngữ SQL.

Cách giải quyết duy nhất để tìm một giá trị nhất định trong danh sách được phân tách bằng dấu phẩy là sử dụng các biểu thức chính quy, nói chung là xấu và chậm. Bạn phải đối phó với các trường hợp cạnh như khi một giá trị có thể có hoặc không ở đầu hoặc cuối chuỗi, cũng như bên cạnh dấu phẩy.

SELECT * FROM properties WHERE bedrooms RLIKE '[[:<:]]2[[:>:]]';

Có những loại truy vấn khác dễ dàng khi bạn có một bảng chuẩn hóa, nhưng khó với danh sách được phân tách bằng dấu phẩy. Ví dụ bạn đưa ra, về việc tìm kiếm giá trị bằng hoặc lớn hơn tiêu chí tìm kiếm, là một trong những trường hợp như vậy. Cũng xem xét:

  • Làm cách nào để xóa một phần tử khỏi danh sách được phân tách bằng dấu phẩy?
  • Làm cách nào để đảm bảo danh sách được sắp xếp theo thứ tự?
  • Số lượng phòng trung bình là bao nhiêu?
  • Làm cách nào để đảm bảo các giá trị trong danh sách là các mục nhập hợp lệ? Ví dụ. Điều gì ngăn tôi nhập "1,2, banana"?

Nếu bạn không muốn tạo bảng thứ hai, hãy nghĩ ra cách để biểu diễn dữ liệu của bạn bằng một giá trị duy nhất.

Chính xác hơn, tôi nên nói rằng tôi khuyên bạn nên trình bày dữ liệu của mình bằng một giá trị duy nhất mỗi cột và giải pháp của Mike Atlas thực hiện được điều đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. # 1054 khác:Cột không xác định trong bí ẩn 'danh sách trường'

  2. Bắt lỗi PHP Cảnh báo:fputcsv () mong đợi tham số 2 là mảng

  3. MySQL Hợp nhất Hai trường từ hai bảng thành một trường trong tập kết quả

  4. mysqldump không hoạt động trong crontab

  5. Python, MySQL và SELECT xuất ra từ điển với các tên cột cho các khóa