如何将大数据保存到 MySql 数据库
1. 什么是大数据
1. 所谓大数据, 就是大的字节数据,或大的字符数据.
2. 标准 SQL 中提供了如下类型来保存大数据类型:
- 字节数据类型:
tinyblob(256B), blob(64K), mediumblob(16M), longblob(4G)
- 字符数据类型:
tinyclob(256B), clob(64K), mediumclob(16M), longclob(4G)
3. MySql 中处理字符的数据类型名称与 SQL 标准不同:
- 字符数据类型:
tinytext(256B), text(64K), mediumtext(16M), longtext(4G)
// 示例: 把 mp3 保存到数据库中
// 需要在 MySql 配置文件中添加如下配置: `max_allowed_packet=10485760`
// 因为 MySql 默认不允许数据包传输过大
public class Demo{
// 将 mp3 文件保存到数据库中
public void fun1(){
// 获取连接对象
Connection con = JdbcUtils.getConnection();
// 提供 sql 模板, 获取 PreparedStatement 对象
String sql = "INSERT INTO tab_bin VALUES(?,?,?)";
PreparedStatement pstmt = con.prepareStatement(sql);
// 设置 sql 模板参数
pstmt.setInt(1,001);
pstmt.setString(2,"hello.mp3");
// mp3 保存为 blob 类型的数据
// 通过 commons-io 工具类, 将 mp3 转换成 byte[]
Byte[] bytes = IOUtils.toByteArray(new FileInputStream("/Users/姓名/Desktop/hello.mp3"));
// 使用 bytes, 创建 Blob 对象
Blob blob = new SerialBlob(bytes);
pstmt.setBlob(3,blob);
// 发送 sql 语句
pstmt.executeUpdate();
}
// 从数据库中获取 mp3 数据
public void fun2(){
// 获取连接对象
Connection con = JdbcUtils.getConnection();
// 获取 PreparedStatement 对象
String sql = "SELECT * FROM tab_bin";
PreparedStatement pstmt = con.prepareStatement(sql);
// 发送 sql 语句, 返回 ResultSet 对象
ResultSet rs = pstmt.executeQuery();
// 将 rs 中名为 data 列的数据
if(rs.next()){
Blob blob = rs.getBlob("data");
// 把 blob 转换成硬盘上的 mp3 文件
// 1. 通过 blob 得到输入流对象
// 2. 自己创建输出流对象
// 3. 把输入流的数据写入到输出流中
InputStream in = blob.getBinaryStream();
OutputStream out = new FileOutputStream("/Users/姓名/Document/world.mp3");
// 使用工具类中的方法
IOUtils.copy(in,out);
}
}
}
参考资料:
如何将大数据保存到 MySql 数据库的更多相关文章
- Python scrapy爬虫数据保存到MySQL数据库
除将爬取到的信息写入文件中之外,程序也可通过修改 Pipeline 文件将数据保存到数据库中.为了使用数据库来保存爬取到的信息,在 MySQL 的 python 数据库中执行如下 SQL 语句来创建 ...
- python之scrapy爬取数据保存到mysql数据库
1.创建工程 scrapy startproject tencent 2.创建项目 scrapy genspider mahuateng 3.既然保存到数据库,自然要安装pymsql pip inst ...
- 爬取网贷之家平台数据保存到mysql数据库
# coding utf-8 import requests import json import datetime import pymysql user_agent = 'User-Agent: ...
- node 爬虫 --- 将爬取到的数据,保存到 mysql 数据库中
步骤一:安装必要模块 (1)cheerio模块 ,一个类似jQuery的选择器模块,分析HTML利器. (2)request模块,让http请求变的更加简单 (3)mysql模块,node连接mysq ...
- php将图片以二进制保存到mysql数据库并显示
一.存储图片的数据表结构: -- -- 表的结构 `image` -- CREATE TABLE IF NOT EXISTS `image` ( `id` int(3) NOT NULL AUTO_I ...
- 将爬取的数据保存到mysql中
为了把数据保存到mysql费了很多周折,早上再来折腾,终于折腾好了 安装数据库 1.pip install pymysql(根据版本来装) 2.创建数据 打开终端 键入mysql -u root -p ...
- Python实现将图片以二进制格式保存到MySQL数据库中,以及取出:
创建数据库表格式: CREATE TABLE photo ( photo_no int(6) unsigned NOT NULL auto_increment, image MEDIUMBLOB, P ...
- 信息技术手册可视化进度报告 基于BeautifulSoup框架的python3爬取数据并连接保存到MySQL数据库
老师给我们提供了一个word文档,里面是一份信息行业热词解释手册,要求我们把里面的文字存进数据库里面,然后在前台展示出来. 首先面临的问题是怎么把数据导进MySQL数据库,大家都有自己的方法,我采用了 ...
- 使用官方组件下载图片,保存到MySQL数据库,保存到MongoDB数据库
需要学习的地方,使用官方组件下载图片的用法,保存item到MySQL数据库 需要提前创建好MySQL数据库,根据item.py文件中的字段信息创建相应的数据表 1.items.py文件 from sc ...
随机推荐
- Wp8滚动区域(ScrollViewer)控件的使用
1. <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28" ...
- 【C语言天天练(二三)】errno变量
引言: 在C编程中,errno是个必不可少的变量.特别是在网络编程中. 假设你没实用过errno,那仅仅能说明你的程序不够健壮. 为什么会使用errno呢?这是系统库设计中的一个无奈之举.他很多其它的 ...
- C++设计模式之代理模式
IPhone 6已经在中国香港开售了,圆了在专卖店等候一个多月苹果粉丝的苹果梦.然而对中国大陆而言.须要到9月17日苹果才在大陆开售.这对中国大陆的粉丝而言,不亚于一种煎熬,因此而滋生一种代购 ...
- redis清空部分key
redis-cli keys "test:job:*" redis-cli keys "test:job:*" |xargs redis-cli del
- Hive row_number() 等用法
1.row_number() over()排序功能: (1) row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排 ...
- TCP通过哪些措施,保证传输可靠
TCP是通过什么方式来提供可靠传输的 (合理截断数据包,超时重发,校验,失序重新排序,能够丢弃重复数据,TCP可以进行流量控制) TCP提供一种面向连接的.可靠的字节流服务. 面向连接:意味着两个使 ...
- Atitit.常用语言的常用内部api 以及API兼容性对源码级别可移植的重要性 总结
Atitit.常用语言的常用内部api 以及API兼容性对源码级别可移植的重要性 总结 1.1. 要兼容的重要语言api1 1.2. 常用基础api分类 core api1 1.3. 比较常用的扩展库 ...
- webpack issues
webpack-dev-server安装失败 npm ERR! path C:\Users\YYT\Desktop\dot_webpack\node_modules\express\node_modu ...
- Eclipse下快速打开本地文件插件EasyExplorer
EasyExplorer 是一个类似于 Windows Explorer的Eclipse插件,它可以帮助你在不退出Eclipse的环境下浏览本地文件系统,类似的插件也有很多,但是本人喜欢使用这个版本 ...
- apache+svn No installed service name 'Apache2' 【转载】
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://zys0597.blogbus.com/logs/32763815.html 问题:第一次在winxp下 安装apac ...