使用用SQL语句从电脑导入图片到数据库的方法
使用SQL语句从电脑导入图片到数据库的方法,具体代码如下所示:
--创建图片表
CREATETABLEW_PIC
(
IDINT,--编号
WPATHVARCHAR(80),--完整路径
PICVARCHAR(80),--图片名称,不带后缀
imgimage--图片内容
)
--图片表中插入数据
INSERTINTOW_PIC(ID,WPATH,PIC)
SELECT1,'C:\Users\w\Desktop\产品图片\2#加工图34-C专用.jpg','2#加工图34-C专用'
UNIONALL
SELECT2,'C:\Users\w\Desktop\产品图片\129.jpg','129'
--创建游标
DECLARECUR_PICCURSORFORSELECTID,WPATH,PICFROMW_PIC;
DECLARE@IDint,@PATHVARCHAR(80),@PICVARCHAR(80),@STRVARCHAR(100);
OPENCUR_PIC;
FETCHNEXTFROMCUR_PICINTO@ID,@PATH,@PIC;
WHILE@@FETCH_STATUS=0
BEGIN
SET@STR=STR(@ID);
--插入图片数据
EXECUTE('UPDATEW_PICSETimg=(SELECT*FROMOPENROWSET(BULKN'''+@PATH+''',SINGLE_BLOB)ASPhoto)WHEREID='+@STR);
FETCHNEXTFROMCUR_PICINTO@ID,@PATH,@PIC;
END
CLOSECUR_PIC;
DEALLOCATECUR_PIC;
知识点扩展:
从MySQL数据库读取图片和向数据库插入图片
MySQL数据库中有一个数据类型为Blob类型,此类型为二进制文件类型。下面为从MySQL数据库读取图片和向数据库插入图片的代码,一些的数据库连接和JDBC代码就省去了。
packagecom.an.jdbc.bean;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importorg.junit.Test;
importcom.an.jdbc.utils.JDBCUtils;
publicclassTestBlob{
//向数据库中插入图片
@Test
publicvoidtest1()throwsException{
Stringsql="updatebeautysetphoto=?whereid=?";
Connectionconnection=JDBCUtils.getConnection();
PreparedStatementps=connection.prepareStatement(sql);
FileInputStreamfis=newFileInputStream("C:\\Users\\Administrator\\Desktop\\1.jpg");
ps.setBlob(1,fis);
ps.setInt(2,2);
intupdate=ps.executeUpdate();
System.out.println(update>0?"success":"failure");
JDBCUtils.closeConnection(null,ps,connection);
}
//从数据库中读取一张图片
@Test
publicvoidtest2()throwsException{
Stringsql="selectphotofrombeautywhereid=?";
Connectionconnection=JDBCUtils.getConnection();
PreparedStatementps=connection.prepareStatement(sql);
ps.setInt(1,2);
ResultSetset=ps.executeQuery();
if(set.next()){
InputStreaminputStream=set.getBinaryStream(1);
FileOutputStreamfos=newFileOutputStream("src\\copy.jpg");
byte[]b=newbyte[1024];
intlen=-1;
while((len=inputStream.read(b))!=-1){
fos.write(b,0,len);
}
fos.close();
inputStream.close();
}
JDBCUtils.closeConnection(null,ps,connection);
}
}
总结
以上所述是小编给大家介绍的使用用SQL语句从电脑导入图片到数据库的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
