核心代码
t_id=trim(request("id"))
sql="select from 表 where id="&t_id&""
set rs=connexecute (sql)
if rseof then
responsewrite "该音乐不存在"
else
url=rs("url")
end if
可以保存!
在Access对它的字段说明中,有这样一条说明:
OLE 对象
Microsoft Access 表中链接或嵌入的对象(例如 Microsoft Excel 电子表格、Microsoft Word 文档、图形、声音或其他二进制数据)。
也就是说当一个字段的类型被设置为OLE类型时,它就可以保存二进制数据,其中也包括MP3。
在Access数据表的数据录入中,你可以把你的MP3文件复制后,直接粘贴在该字段中,(OLE对象就是这么一种通用 *** 作),当一个字段有MP3数据时,你可以双击它,Access会自动调用Windows关联的播放器来播放MP3。而你并不用关心处理这些数据的程序如何写
1、扇贝听力:是一个英语听力练习软件,就是只许听声音不许看文字,听不懂,难受的快要掐死自己了再去看原文。用这样的方法听完一句句,再听完一篇篇,100篇就能见效。扇贝听力就是这样一个软件,我们就是要用这样的方法来打磨你的耳朵,训练你的理解,锻炼出真正的听力。
2、有道词典:有道网络释义基于有道强大的搜索引擎后台,借助有道搜索的实时网页抓取数据和海量信息存储技术,形成了一套没有上限、自动扩充、实时更新的词典数据库。
3、喜马拉雅:喜马拉雅FM是国内最大音频分享平台,2013年3月手机客户端上线,一年半时间手机用户规模已突破8000万,成为国内发展最快、规模最大的在线移动音频分享平台。
背景
MySQL 一直以来都有 TEXT、BLOB 等类型用来存储、视频等大对象信息。比如一张,随便一张都 5M 以上。视频也是,随便一部视频就是 2G 以上。
假设用 MySQL 来存放**视频等信息,一部是 2G,那么存储 1000 部就是 2TB,2TB 也就是 1000 条记录而已,但是对数据库性能来说,不仅仅是看记录数量,更主要的还得看占用磁盘空间大小。空间大了,所有以前的经验啥的都失效了。
所以一般来说存放这类信息,也就是存储他们的存放路径,至于文件本身存放在哪里,那这就不是数据库考虑的范畴了。数据库只关心怎么来的快,怎么来的小。
举例
虽然不推荐 MySQL 这样做,但是也得知道 MySQL 该怎么做才行,做到心里有数。比如下面一张微信,大概 5M 的样子。
root@ytt:/var/lib/mysql-files# ls -sihl 微信_20190711095019jpg274501 54M -rw-r--r-- 1 root root 54M Jul 11 07:17 微信_20190711095019jpg
拷贝 100 份这样的来测试
root@ytt:/var/lib/mysql-files# for i in `seq 1 100`; do cp 微信_20190711095019jpg "$i"jpg;done;
root@ytt:/var/lib/mysql-files# ls
100jpg 17jpg 25jpg 33jpg 41jpg 4jpg 58jpg 66jpg 74jpg 82jpg 90jpg 99jpg f8tsv
10jpg 18jpg 26jpg 34jpg 42jpg 50jpg 59jpg 67jpg 75jpg 83jpg 91jpg 9jpg 微信_20190711095019jpg
1111jpg 19jpg 27jpg 35jpg 43jpg 51jpg 5jpg 68jpg 76jpg 84jpg 92jpg f1tsv
11jpg 1jpg 28jpg 36jpg 44jpg 52jpg 60jpg 69jpg 77jpg 85jpg 93jpg f2tsv
12jpg 20jpg 29jpg 37jpg 45jpg 53jpg 61jpg 6jpg 78jpg 86jpg 94jpg f3tsv
13jpg 21jpg 2jpg 38jpg 46jpg 54jpg 62jpg 70jpg 79jpg 87jpg 95jpg f4tsv
14jpg 22jpg 30jpg 39jpg 47jpg 55jpg 63jpg 71jpg 7jpg 88jpg 96jpg f5tsv
15jpg 23jpg 31jpg 3jpg 48jpg 56jpg 64jpg 72jpg 80jpg 89jpg 97jpg f6tsv
16jpg 24jpg 32jpg 40jpg 49jpg 57jpg 65jpg 73jpg 81jpg 8jpg 98jpg f7tsv
我们建三张表,分别用 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 (000 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 (000 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 (000 sec)
我们来给三张表插入 100 张(插入前,建议把 max_allowed_packet 设置到最大)
tt_image1
root@ytt:/var/lib/mysql-files# for i in `seq 1 100`;
do mysql -S /var/run/mysqld/mysqldsock -e "insert into ytttt_image1(image_file)
values (load_file('/var/lib/mysql-files/$ijpg'))";done;
tt_image2
root@ytt:/var/lib/mysql-files# for i in `seq 1 100`;
do mysql -S /var/run/mysqld/mysqldsock -e "insert into ytttt_image2(image_file)
values (hex(load_file('/var/lib/mysql-files/$ijpg')))";done;
tt_image3
root@ytt:/var/lib/mysql-files# aa='begin;';for i in `seq 1 100`;
do aa=$aa"insert into ytttt_image3(image_file) values
('/var/lib/mysql-files/$ijpg');";
done;aa=$aa'commit;';mysql -S /var/run/mysqld/mysqldsock -e "`echo $aa`";
检查下三张表记录数
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 (000 sec)看下文件大小,可以看到实际大小排名,LONGTEXT 字段存储的最大,LONGBLOB 字段缩小到一半,最小的是存储路径的表 tt_image3。所以这里从存储空间来看,存放路径最占优势。
root@ytt:/var/lib/mysql/ytt# ls -silhS tt_image274603 11G -rw-r----- 1 mysql mysql 11G Jul 11 07:27 tt_image2ibd274602 545M -rw-r----- 1 mysql mysql 544M Jul 11 07:26 tt_image1ibd274605 80K -rw-r----- 1 mysql mysql 112K Jul 11 07:27 tt_image3ibd那么怎么把取出来呢?
tt_image3 肯定是最容易的
mysql> select from tt_image3;+----+----------------------------+| id | image_file |+----+----------------------------+| 1 | /var/lib/mysql-files/1jpg |+----+----------------------------+100 rows in set (000 sec)tt_image1 直接导出来二进制文件即可,下面我写了个存储过程,导出所有。
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 变为 unhex(image_file) 即可。
总结
这里我举了个用 MySQL 来存放的例子,总的来说有以下三点:
占用磁盘空间大(这样会带来各种各样的功能与性能问题,比如备份,写入,读取 *** 作等)
使用不易
还是推荐用文件路径来代替实际的文件内容存放
1维普资讯中文科技期刊数据库(期刊论文)
2中国知网(期刊、学位论文)(网上包库)
3中国知网(期刊、学位论文)(本地镜像)
4万方数字资源系统(学位论文、会议论文、外文文献)
5读秀学术搜索
6超星数字图书馆(电子图书、讲座、读秀学术搜索)
7书生之家数字图书馆(电子图书)
8煤炭数字图书馆暨安全生产数字图书馆
9中国资讯行高校财经数据库(统计数据、商业报告、证券消息等)
10搜数网(统计数据)
11国务院发展研究中心信息网(商业报告、统计数据等)
12(国泰安)中国股票市场交易数据库(股票交易数据)
13高校教学资源库(教学课件、多媒体素材等)
14方略学科导航(我校主要学科网络学术资源,包括煤炭经济、半岛经济)
15爱迪科森就业库(考研、应用英语、职业认证培训、出国考试等视频课程)
16新东方多媒体学习库
17VIPExam考试学习资源数据库(司法、财经类职业资格等考试题库)
18E线图情
19山东高校图书馆随书光盘资源联合中心(免费资源)
20国家精品课程资源网(免费资源,教学课件、教案、视频课程等)
21中国大学视频公开课(免费资源,视频课程)
22网易公开课(免费资源,中外视频课程)
23厦门大学学术库(免费资源)
24汉斯出版社中文学术期刊(免费资源)
25e读学术搜索
Elsevier(sciencedirect)是荷兰一家全球著名的学术期刊出版商,每年出版大量的学术图书和期刊,大部分期刊被SCI、SSCI、EI收录,是世界上公认的高品位学术期刊。涉及众多学科:计算机科学、工程技术、能源科学、环境科学、材料科学、数学、物理、化学、天文学、医学、生命科学、商业、及经济管理、社会科学等。
Wiley出版社1807年创建于美国,是一家具有超过200年历史的全球知名的出版机构,Wiley Online Library为全学科期刊全文数据库,出版物涵盖学科范围广泛——包括化学、物理学、工程学、农学、兽医学、食品科学、医学、护理学、口腔医学、生命科学、心理学、商业、经济学、社会科学、艺术、人类学等多个学科大约1600多种期刊,以及很多其它重要的跨学科领域的期刊。
Web of Science是获取全球学术信息的重要数据库,它收录了全球13000多种权威的、高影响力的学术期刊,内容涵盖自然科学、工程技术、生物医学、社会科学、艺术与人文等领域。Web of Science 还包括著名的三大引文索引数据库(SCI、SSCI、A&HCI)。
Taylor & Francis科技期刊数据库,拥有全球最多社会科学期刊,提供550余种经专家评审的高质量科学与技术类期刊,其中近80%的期刊被Web of Science 收录。
ProQuest学术平台是ProQuest各类数字信息资源的一站式检索系统,目前覆盖超过200个数据库,数据库类型包括学术期刊数据库、学位论文数据库、音视频资源数据库、电子书数据库、原始资源数据库与报纸数据库等,内容覆盖自然科学、社会科学、艺术及人文科学等多学科领域。
世界四大期刊:nature《自然》、science《科学》、CELL《细胞》、PNAS《美国科学院院报》
学术文献下载器(wxdownorg)提供各种类型文献检索下载,涵盖大量外文期刊数据库,包括上面提到的。
1、首先在电脑中,找到并点击电脑中的格式工厂。
2、然后在打开的格式工厂中,点击音频选项。
3、然后在打开的音频页面中,找到并点击MP3。
4、接着在打开的页面中,点击添加文件,点击一个音频文件。
5、最后点击窗口下方的-打开选项,然后点击改变按钮,就可以了。
以上就是关于关于从数据库调出MP3地址在WMP进行播放的问题全部的内容,包括:关于从数据库调出MP3地址在WMP进行播放的问题、access数据库可以保存和读取mp3文件吗,求代码,谢谢、有什么软件可以听高中英语听力等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)