Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Lưu trữ giá trị màu CSS trong MySQL với CHAR(6)

Có thể lưu mã màu CSS hex (ví dụ: FF0000 = đỏ) trong MySQL bằng kiểu CHAR(6) (không dấu #).

Cú pháp

CREATE TABLE tên_bảng (
    color_code CHAR(6)  -- 6 ký tự hex: RRGGBB
);

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE storeCSSColorDemo (CSSValue CHAR(6));

Chèn 3 màu cơ bản (RGB):

mysql> INSERT INTO storeCSSColorDemo VALUES ('FF0000'), ('FFA500'), ('FFFF00');

Xem dữ liệu:

mysql> SELECT * FROM storeCSSColorDemo;
+----------+
| CSSValue |
+----------+
| FF0000   |  -- Đỏ (Red)
| FFA500   |  -- Cam (Orange)
| FFFF00   |  -- Vàng (Yellow)
+----------+

Bảng tra màu hex phổ biến

MàuHexRGB
ĐỏFF0000255,0,0
Xanh lá00FF000,255,0
Xanh dương0000FF0,0,255
TrắngFFFFFF255,255,255
Đen0000000,0,0
VàngFFFF00255,255,0
CamFFA500255,165,0
Tím800080128,0,128

Các biến thể lưu trữ

KiểuĐộ dàiHỗ trợGhi chú
CHAR(6)6#RRGGBBCố định, nhanh, không NULL
CHAR(7)7#RRGGBBCó dấu #
VARCHAR(7)7#RRGGBBCho phép NULL, linh hoạt
CHAR(8)8#RRGGBBAACó alpha (trong suốt)
INT UNSIGNED4 byte0xRRGGBBTối ưu lưu trữ, tính toán nhanh

Sử dụng trong ứng dụng

-- PHP: Lấy từ DB, thêm # khi hiển thị
$color = '#' . $row['CSSValue']; // '#FF0000'

-- MySQL: Tìm màu gần nhất (đơn giản)
SELECT * FROM colors ORDER BY ABS(CONV(CSSValue, 16, 10) - CONV('FF5500', 16, 10)) LIMIT 5;

Lưu ý: Nên validate đầu vào (chỉ 0-9, A-F) trước khi INSERT.