一、把圖片直接以二進(jìn)制形式存儲(chǔ)在數(shù)據(jù)庫中一般數(shù)據(jù)庫提供一個(gè)二進(jìn)制字段來存儲(chǔ)二進(jìn)制數(shù)據(jù)。比如SQLServer中的BINARY,VARBINARY;
1、BINARY數(shù)據(jù)類型用于存儲(chǔ)二進(jìn)制數(shù)據(jù)。其定義形式為BINARY(n),n表示數(shù)據(jù)的長度,取值為1到8000。在使用時(shí)必須指定BINARY類型數(shù)據(jù)的大小,至少應(yīng)為1個(gè)字節(jié)。BINARY類型數(shù)據(jù)占用n+4個(gè)字節(jié)的存儲(chǔ)空間。在輸入數(shù)據(jù)時(shí)必須在數(shù)據(jù)前加上字符“0X”作為二進(jìn)制標(biāo)識(shí),如:要輸入“abc”則應(yīng)輸入“0xabc”。
若輸入的數(shù)據(jù)過長將會(huì)截掉其超出部分。
若輸入的數(shù)據(jù)位數(shù)為奇數(shù),則會(huì)在起始符號(hào)“0X”后添加一個(gè)0,如上述的“0xabc”會(huì)被系統(tǒng)自動(dòng)變?yōu)椤?x0abc”。2、VARBINARY數(shù)據(jù)類型的定義形式為VARBINARY(n)。它與BINARY類型相似,n的取值也為1到8000,若輸入的數(shù)據(jù)過長,將會(huì)截掉其超出部分。不同的是VARBINARY數(shù)據(jù)類型具有變動(dòng)長度的特性,因?yàn)閂ARBINARY數(shù)據(jù)類型的存儲(chǔ)長度為實(shí)際數(shù)值長度+4個(gè)字節(jié)。當(dāng)BINARY數(shù)據(jù)類型允許NULL值時(shí),將被視為VARBINARY數(shù)據(jù)類型。
一般情況下,由于BINARY數(shù)據(jù)類型長度固定,因此它比VARBINARY類型的處理速度快另,MySQL中有個(gè)blob字段。Oracle數(shù)據(jù)庫中是blob或bfile類型