日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql text保存图片_用mysql 如果包含有文字和图片,那么我要用哪种数据类型存储呢?还是分开,用TEXT和BLOB吗?...

發(fā)布時間:2025/3/11 数据库 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql text保存图片_用mysql 如果包含有文字和图片,那么我要用哪种数据类型存储呢?还是分开,用TEXT和BLOB吗?... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

root@ytt:/var/lib/mysql-files# for i in `seq 1 100`; do cp 微信圖片_20190711095019.jpg "$i".jpg;done;

root@ytt:/var/lib/mysql-files# ls

100.jpg ? 17.jpg ?25.jpg ?33.jpg ?41.jpg ?4.jpg ? 58.jpg ?66.jpg ?74.jpg ?82.jpg ?90.jpg ?99.jpg ?f8.tsv

10.jpg ? ?18.jpg ?26.jpg ?34.jpg ?42.jpg ?50.jpg ?59.jpg ?67.jpg ?75.jpg ?83.jpg ?91.jpg ?9.jpg ? 微信圖片_20190711095019.jpg

1111.jpg ?19.jpg ?27.jpg ?35.jpg ?43.jpg ?51.jpg ?5.jpg ? 68.jpg ?76.jpg ?84.jpg ?92.jpg ?f1.tsv

11.jpg ? ?1.jpg ? 28.jpg ?36.jpg ?44.jpg ?52.jpg ?60.jpg ?69.jpg ?77.jpg ?85.jpg ?93.jpg ?f2.tsv

12.jpg ? ?20.jpg ?29.jpg ?37.jpg ?45.jpg ?53.jpg ?61.jpg ?6.jpg ? 78.jpg ?86.jpg ?94.jpg ?f3.tsv

13.jpg ? ?21.jpg ?2.jpg ? 38.jpg ?46.jpg ?54.jpg ?62.jpg ?70.jpg ?79.jpg ?87.jpg ?95.jpg ?f4.tsv

14.jpg ? ?22.jpg ?30.jpg ?39.jpg ?47.jpg ?55.jpg ?63.jpg ?71.jpg ?7.jpg ? 88.jpg ?96.jpg ?f5.tsv

15.jpg ? ?23.jpg ?31.jpg ?3.jpg ? 48.jpg ?56.jpg ?64.jpg ?72.jpg ?80.jpg ?89.jpg ?97.jpg ?f6.tsv

16.jpg ? ?24.jpg ?32.jpg ?40.jpg ?49.jpg ?57.jpg ?65.jpg ?73.jpg ?81.jpg ?8.jpg ? 98.jpg ?f7.tsv

我們建三張表,分別用 LONGBLOB、LONGTEXT 和 VARCHAR 來存儲這些圖片信息

mysql> show create table tt_image1G

*************************** 1. row ***************************

Table: tt_image1

Create Table: CREATE TABLE `tt_image1` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`image_file` longblob,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

1 row in set (0.00 sec)

mysql> show create table tt_image2G

*************************** 1. row ***************************

Table: tt_image2

Create Table: CREATE TABLE `tt_image2` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`image_file` longtext,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

1 row in set (0.00 sec)

mysql> show create table tt_image3G

*************************** 1. row ***************************

Table: tt_image3

Create Table: CREATE TABLE `tt_image3` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`image_file` varchar(100) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

1 row in set (0.00 sec)

我們來給三張表插入 100 張圖片(插入前,建議把 max_allowed_packet 設(shè)置到最大)

tt_image1

root@ytt:/var/lib/mysql-files# for i in `seq 1 100`;

do mysql -S /var/run/mysqld/mysqld.sock -e "insert into ytt.tt_image1(image_file)

values (load_file('/var/lib/mysql-files/$i.jpg'))";done;

tt_image2

root@ytt:/var/lib/mysql-files# for i in `seq 1 100`;

do mysql -S /var/run/mysqld/mysqld.sock -e "insert into ytt.tt_image2(image_file)

values (hex(load_file('/var/lib/mysql-files/$i.jpg')))";done;

tt_image3

root@ytt:/var/lib/mysql-files# aa='begin;';for i in `seq 1 100`;

do aa=$aa"insert into ytt.tt_image3(image_file) values

('/var/lib/mysql-files/$i.jpg');";

done;aa=$aa'commit;';mysql -S /var/run/mysqld/mysqld.sock -e "`echo $aa`";

檢查下三張表記錄數(shù)

mysql> select 'tt_image1' as name ,count(*) from tt_image1 union allselect 'tt_image2',count(*) from tt_image2 union all select 'tt_image3', count(*) from tt_image3;+-----------+----------+| name ? ? ?| count(*) |+-----------+----------+| tt_image1 | ? ? ?100 || tt_image2 | ? ? ?100 || tt_image3 | ? ? ?100 |+-----------+----------+3 rows in set (0.00 sec)

看下文件大小,可以看到實(shí)際大小排名,LONGTEXT 字段存儲的最大,LONGBLOB 字段縮小到一半,最小的是存儲圖片路徑的表 tt_image3。所以這里從存儲空間來看,存放路徑最占優(yōu)勢。

root@ytt:/var/lib/mysql/ytt# ls -silhS tt_image*274603 1.1G -rw-r----- 1 mysql mysql 1.1G Jul 11 07:27 tt_image2.ibd274602 545M -rw-r----- 1 mysql mysql 544M Jul 11 07:26 tt_image1.ibd274605 ?80K -rw-r----- 1 mysql mysql 112K Jul 11 07:27 tt_image3.ibd

那么怎么把圖片取出來呢?

tt_image3 肯定是最容易的

mysql> select * from tt_image3;+----+----------------------------+| id | image_file ? ? ? ? ? ? ? ? |+----+----------------------------+| ?1 | /var/lib/mysql-files/1.jpg |+----+----------------------------+...100 rows in set (0.00 sec)

tt_image1 直接導(dǎo)出來二進(jìn)制文件即可,下面我寫了個存儲過程,導(dǎo)出所有圖片。

mysql> DELIMITER $$mysql> USE `ytt`$$mysql> DROP PROCEDURE IF EXISTS `sp_get_image`$$mysql> CREATE DEFINER=`ytt`@`localhost` PROCEDURE `sp_get_image`()mysql> BEGIN ? ? ?DECLARE i,cnt INT DEFAULT 0; ? ? ?SELECT COUNT(*) FROM tt_image1 WHERE 1 INTO cnt; ? ? ?WHILE i < cnt DO ? ? ? ?SET @stmt = CONCAT('select image_file from tt_image1 ?limit ',i,',1 into dumpfile ''/var/lib/mysql-files/image',i,'.jpg'''); ? ? ? ?PREPARE s1 FROM @stmt; ? ? ? ?EXECUTE s1; ? ? ? ?DROP PREPARE s1; ? ? ?SET i = i + 1; ? ? ?END WHILE; ? ? ?END$$mysql> DELIMITER ;mysql> call sp_get_image;

tt_image2 類似,把 select 語句里 image_file 變?yōu)?unhex(image_file) 即可。

總結(jié)

這里我舉了個用 MySQL 來存放圖片的例子,總的來說有以下三點(diǎn):

占用磁盤空間大(這樣會帶來各種各樣的功能與性能問題,比如備份,寫入,讀取操作等)

使用不易

還是推薦用文件路徑來代替實(shí)際的文件內(nèi)容存放

總結(jié)

以上是生活随笔為你收集整理的mysql text保存图片_用mysql 如果包含有文字和图片,那么我要用哪种数据类型存储呢?还是分开,用TEXT和BLOB吗?...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲一区二区三区四区在线播放 | 亚洲黄色小说视频 | 热@国产 | 国产亚洲精品网站 | 黄色av网站免费观看 | 国产精品一区二区欧美 | 国产思思99re99在线观看 | 熟女少妇精品一区二区 | 视频一区在线观看 | 三级理伦 | 国产人妻人伦精品1国产 | 可以免费看的av | 青青操在线视频 | 亚洲一区精品在线观看 | 国产精品美女久久久久久 | 久综合网 | 国产微拍一区 | 成片免费观看视频大全 | 樱花电影最新免费观看国语版 | 在线黄色av | 国产中文字幕第一页 | 人人精品久久 | 国产精品香蕉在线 | 四虎伊人 | 亚洲欧美国产精品专区久久 | 精品亚洲一区二区三区四区五区高 | 亚洲图区综合 | 午夜肉伦伦影院 | 亚洲涩综合 | 人人av在线 | 被黑人各种姿势猛c哭h文1 | 成人黄性视频 | 伊人成综合网 | 天堂资源最新在线 | 久久精品在线观看 | 欧美成人黑人猛交 | 婷婷视频一区 | 日韩卡一卡二 | 日本妈妈9 | 欧美性大交 | 手机在线免费av | 四虎一区二区 | 欧美一区二区激情 | 日韩大片免费观看 | 第色 | 特级黄色一级片 | 一级片久久久久 | 国产精品9 | 女教师三上悠亚ssni-152 | 亚洲av无码国产精品永久一区 | www.婷婷| 污视频免费在线 | 国产一级特黄 | 综合网伊人 | 免费观看国产精品 | 丁香激情五月少妇 | 女人私密又肥又大 | 一区二区乱码 | 妺妺窝人体色www在线小说 | 亚洲男女一区二区三区 | 九九综合| av黄色片在线观看 | av福利网站 | 亚洲熟妇av一区二区三区漫画 | 男女午夜激情视频 | 精品欧美激情精品一区 | 中文字幕超清在线免费观看 | 免费人成在线观看视频播放 | 无套爆插 | 日本少妇喷水视频 | 久久国产精品一区二区 | 日韩在线视频观看 | 欧美少妇bbw | 国产亚洲精品av | 69精品久久久久久 | 日本少妇性高潮 | 毛片在线网站 | 久久尹人 | 亚洲女女做受ⅹxx高潮 | 亲子伦视频一区二区三区 | 偷拍一区二区三区 | 国产成人精品视频 | 欧美日韩免费一区二区 | 摸大乳喷奶水www视频 | 亚洲欧美激情视频 | 国产原创中文av | 日本裸体xx少妇18在线 | 中日韩免费视频 | 日韩淫视频 | 亚洲最新在线 | 免费看美女隐私网站 | 91麻豆精品一区二区三区 | 欧美三级小说 | 国产一区在线免费 | 最近2019中文字幕大全第二页 | 亚洲va欧美va天堂v国产综合 | 91se在线 | 强开小嫩苞一区二区三区网站 | 欧美你懂的 |