如果你的MySQL數(shù)據(jù)庫(kù)中存儲(chǔ)了二進(jìn)制大文件(例如,圖片或PDF文件),你需要讀取這些大文件以便在應(yīng)用程序中顯示或處理它們。這時(shí)就需要讀取blob數(shù)據(jù)類型。
import mysql.connector # 連接數(shù)據(jù)庫(kù) db = mysql.connector.connect( host="localhost", user="root", password="password", database="database_name" ) # 建立游標(biāo) cursor = db.cursor() # 選擇并讀取blob數(shù)據(jù)類型 cursor.execute("SELECT blob_column FROM table_name WHERE id=1") blob = cursor.fetchone()[0] # 將blob類型轉(zhuǎn)換為二進(jìn)制數(shù)據(jù) binary_data = bytes(blob) # 關(guān)閉連接 cursor.close() db.close()
在上面的代碼塊中,我們建立了一個(gè)連接并建立了一個(gè)游標(biāo)。然后,我們?cè)谖覀兊腟ELECT語(yǔ)句中選擇了blob_column,并通過(guò)游標(biāo)讀取了它。在這里需要注意的是,我們使用fetchone()函數(shù)來(lái)獲取結(jié)果集中的第一行數(shù)據(jù),而指定[0]訪問結(jié)果集的第一個(gè)元素(blob)。
為了在應(yīng)用程序中方便地處理這些blob數(shù)據(jù),我們需要將它們轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)(bytes)。在獲取這個(gè)二進(jìn)制數(shù)據(jù)后,我們就可以關(guān)閉數(shù)據(jù)庫(kù)連接和游標(biāo)。