mysql blob类型数据如何导出_如何将文本以BLOB类型存入数据库并取出

如何将文本以BLOB类型存入数据库并取出

BLOB类型的使用

java完整代码

import java.io.*;

import java.sql.*;

public class test {

static public  void save() throws SQLException{

Connection conn = DB.getConn();              //连接个人数据库

try {

File file = new File("g:\\1.txt"); //要转换的文件的所在路径

FileInputStream inputStream = new FileInputStream(file);

String sql="insert into save_image(image) values(?)";//存入数据库的SQL语句在执行的时候一定要用prepareStatement

PreparedStatement statement = conn.prepareStatement(sql);

statement.setBinaryStream(1, inputStream,(int)file.length());

statement.executeUpdate();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

}

static public void readerJpg() throws SQLException{

Connection conn = DB.getConn();

String sqlString = "select image from save_image where id=0";//从数据库中读出要还原文件的二进制码,这里我读的是个人数据库id为0的文件

File file = new File("E:\\1.txt");   //本地生成的文件

if(!file.exists()){

try {

file.createNewFile();

} catch (Exception e) {

e.printStackTrace();

}

}

try {

byte[] Buffer = new byte[1024*5];               //根据文本大小给出字节数组

PreparedStatement statement=conn.prepareStatement(sqlString);

ResultSet resultSet = statement.executeQuery();

if(resultSet.next()){

FileOutputStream outputStream = new FileOutputStream(file);

InputStream iStream = resultSet.getBinaryStream("image");   //去字段用getBinaryStream()

int size=0;

while((size=iStream.read(Buffer))!=-1){

System.out.println(size);

outputStream.write(Buffer,0,size);

System.out.println(new String(Buffer));

}

}

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

try {

save();

} catch (SQLException e) {

e.printStackTrace();

}

try {

readerJpg();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

blob数据存入MySQL数据库的text字段可以通过以下步骤实现: 1. 将blob数据转换为字符串。 2. 创建一个MySQL连接对象。 3. 使用pandas将数据读入dataframe。 4. 将dataframeblob数据列转换为字符串。 5. 将dataframe数据插入到MySQL数据库的text字段。 下面是一个示例代码,可以将一个包含blob数据的dataframe存储到MySQL数据库的text字段: ```python import pandas as pd import mysql.connector # 将blob数据转换为字符串 def blob_to_string(blob): return str(blob, 'utf-8') # 创建MySQL连接对象 conn = mysql.connector.connect(host='localhost', user='root', password='password', database='mydb') # 读入数据并将blob数据列转换为字符串 df = pd.read_csv('data.csv') df['blob_data'] = df['blob_data'].apply(blob_to_string) # 将dataframe数据插入到MySQL数据库的text字段 cursor = conn.cursor() for index, row in df.iterrows(): sql = "INSERT INTO mytable (id, text_data) VALUES (%s, %s)" val = (row['id'], row['blob_data']) cursor.execute(sql, val) conn.commit() # 关闭MySQL连接 conn.close() ``` 在上面的代码,我们首先定义了一个函数`blob_to_string`来将blob数据转换为字符串。然后,我们创建了一个MySQL连接对象,并使用pandas将数据读入dataframe。接下来,我们将dataframeblob数据列转换为字符串,然后使用循环逐行将数据插入到MySQL数据库的text字段。最后,我们关闭了MySQL连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值