在MySQL數(shù)據(jù)庫中,我們可以使用BLOB(Binary Large Object)字段類型來存儲(chǔ)二進(jìn)制數(shù)據(jù),包括圖片。
定義一個(gè)BLOB字段需要指定以下幾個(gè)參數(shù):
CREATE TABLE `photos` ( `id` int(11) NOT NULL AUTO_INCREMENT, `photo` blob, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中,id
是圖片記錄的唯一編號(hào),photo
是用于存儲(chǔ)圖片數(shù)據(jù)的BLOB字段。
通過以上定義,我們可以將圖片二進(jìn)制數(shù)據(jù)以字節(jié)數(shù)組的形式存儲(chǔ)到MySQL數(shù)據(jù)庫中,但是這種存儲(chǔ)方式不利于讀取和顯示圖片。
因此,在實(shí)際應(yīng)用中,我們通常會(huì)將圖片數(shù)據(jù)以文件的形式存儲(chǔ)到服務(wù)器上,并在MySQL數(shù)據(jù)庫中使用VARCHAR類型字段存儲(chǔ)圖片的文件路徑。
CREATE TABLE `photos` ( `id` int(11) NOT NULL AUTO_INCREMENT, `photo_path` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在這種情況下,我們可以通過讀取圖片文件路徑,并使用標(biāo)簽將圖片顯示在網(wǎng)頁中。
上一篇mysql圖片更新