国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > MySQL的mediumblob

MySQL的mediumblob

來源:千鋒教育
發布人:xqq
時間: 2023-11-24 16:22:32 1700814152

一、mediumblob是什么

在MySQL中,mediumblob是一種二進制數據類型,它允許存儲最大16MB的數據。它是blob數據類型系列中的一員,blob數據類型又包括:tinyblob、blob、mediumblob和longblob。

mediumblob常常用于存儲一些媒體文件,例如圖片、音頻、視頻等等,具有較好的可擴展性。但由于存儲空間受限,對于超過16MB的大型文件,建議采用文件服務或者分布式文件存儲系統。

二、如何創建mediumblob類型的列

在MySQL中創建mediumblob類型的列非常簡單,也可以使用默認值和null值。


CREATE TABLE demo_table (
  id INT(11) NOT NULL AUTO_INCREMENT,
  content mediumblob DEFAULT NULL,
  PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

三、如何讀寫mediumblob類型的數據

使用INSERT語句可以將二進制數據存入mediumblob列,使用SELECT語句將二進制數據從mediumblob列中獲取。


-- 將二進制數據存入mediumblob列
INSERT INTO demo_table (content) VALUES(Load_file('path/to/file.jpg'));

-- 從mediumblob列中獲取二進制數據
SELECT content FROM demo_table WHERE id=1;

注意:

1. 在LOAD_FILE函數內部,path/to/file.jpg需要輸入絕對路徑,如果文件不存在或者沒有權限打開,則INSERT會失敗。

2. 在寫入或者讀取二進制數據時,需要進行二進制安全的操作。


-- 寫入二進制數據的例子
$fp = fopen("path/to/file.jpg", 'rb');
$fileData = fread($fp, filesize("path/to/file.jpg"));
fclose($fp);
$stmt = $pdo->prepare("INSERT INTO demo_table (content) VALUES(:content)");
$stmt->bindParam(':content', $fileData, PDO::PARAM_LOB);
$stmt->execute();

-- 讀取二進制數據的例子
$stmt = $pdo->prepare("SELECT content FROM demo_table WHERE id=1");
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$content = $result['content'];
header("Content-Type: image/jpeg");
echo $content;

四、mediumblob類型的應用場景

由于mediumblob類型的特性,它在一些特定的應用場景中能夠起到很好的作用:

存儲小型文件:例如用戶頭像、店鋪Logo等等。 存儲二進制序列化數據:如序列化的多維數組、對象等等。 存儲業務無關的二進制數據:不同于存儲實時生成的二進制數據,例如通過爬蟲抓取的圖片等等。

五、總結

mediumblob是一種非常實用的MySQL數據類型,在二進制數據存儲方面具有優秀的表現。同時,我們需要了解如何正確讀寫mediumblob數據,使其更好地服務于我們的應用。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT