如何将大数据保存到 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 ...
随机推荐
- (四)EasyUI 使用——form表单2 & window窗口
form表单组件主要有以下内容(如下图) 6. progressbar进度条 每隔1秒让进度条按随机数填充,直至充满进度条刻度(只能执行一次) 进度条: <div id=" ...
- nvidia显卡驱动卸载和卸载后的问题
因为装了nvidia显卡驱动后开机一直处于循环登录界面.password输入正确也是进不去.然后就决定卸载nvidia显卡驱动.安装之后出现还是循环登陆. 是openGL的问题 有至少两种解决方 ...
- linux查找yum和rpm安装路径
linux查找yum和rpm安装路径 转:https://jingyan.baidu.com/article/86112f1378bf282737978730.html
- 如何让git小乌龟工具TortoiseGit记住你的账号密码
在使用小乌龟的过程中,发下每次push或者pull都要重复输入账号密码,非常麻烦. 如果能记住账号密码就好了,这样就省去了时间. 怎么设置记住密码 在[系统盘]:\Users[你的用户名]下面,有一个 ...
- FineReport实现java报表多级上报的效果图
Java报表-上报流程管理 Java报表-上报任务管理 Java报表-我的上报任务 Java报表-系统说明
- AAC终结者Opus音频编码器的瑞士军刀,编译android ios
AAC-LD/ELD it is either 480 or 512 PCM samples per frame and channel. http://opus-codec.org/download ...
- Spring MVC表单提交中文数据出现乱码
http://jiessiedyh.iteye.com/blog/475541 http://bigcat.easymorse.com/?p=474 Spring MVC 教程,快速入门,深入分析 h ...
- marquee标签跑马灯连续无空白播放效果 纯CSS(chrome opera有效)
marquee似乎没有设置首尾相连播放的属性,内容滚动时总会留出一段marquee本身长度的空隙,某些情况下很不方便: 捣鼓了一会,得出一种解决办法,关键有两点: 1.将需要滚动的内容复制一份于同一行 ...
- Linux 文件管理(C语言库函数二--程序日志)
文件删除和改名 int remove(const char *pathname); int rename(const char *oldpath,const char *newpath); remov ...
- [浪风分享] -- 系列百度云管家 V2.1.0 单文件版-分享必用的神器
废话不多说,神器送上 百度云管家 V2.1.0 更新时间:2013年05月22日更新内容:1.支持云端文件管理:删除.重命名.新建文件夹.移动2.支持缩略图浏览模式3.支持三种文件排序方式:按修改时间 ...