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

Thiết kế cơ sở dữ liệu để lưu trữ mẫu màu hình ảnh trong MySQL để tìm kiếm Hình ảnh theo màu

Bạn nên bình thường hóa điều này.

3 Bảng:

Image {image_id, name}
Colors {color_id, red, green, blue, alpha}
ImageHasColor {image_id, color_id, number_of_times_appeared}

Việc chèn dữ liệu phải đơn giản, sử dụng ...insert_id hàm để lấy id từ hàng bạn vừa chèn.

Chọn với các liên kết như:

SELECT * FROM
Image i
JOIN ImageHasColors h
ON i.image_id = h.image_id
JOIN Colors c
ON c.color_id = h.color_id
ORDER BY i.image_id

Kiểm tra liên kết này để biết cách chuyển đổi màu HEX thành giá trị RGB: http://bavotasan.com/2011/convert-hex-color-to-rgb-using-php/

Tìm kiếm top 10 bức ảnh thực sự màu đỏ:

SELECT * FROM
Image i
JOIN ImageHasColors h
ON i.image_id = h.image_id
JOIN Colors c
ON c.color_id = h.color_id
WHERE c.red > 200
AND   c.green < 50
AND   c. green < 50
ORDER BY h.number_of_times_appeared
LIMIT 10

Tìm kiếm hình ảnh khá đen:

SELECT * FROM
Image i
JOIN ImageHasColors h
ON i.image_id = h.image_id
JOIN Colors c
ON c.color_id = h.color_id
WHERE c.red < 30
AND   c.green < 30
AND   c. green < 30
ORDER BY h.number_of_times_appeared
LIMIT 10


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách nhập tệp Excel vào Cơ sở dữ liệu mysql từ PHP

  2. Làm cách nào để biết truy vấn Perl DBI trả về bao nhiêu hàng?

  3. Xem nhanh các hàm số của SQL Server

  4. Cách xóa hai cột trùng lặp

  5. MYSQL chọn những người bạn chung