使用用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语句从电脑导入图片到数据库的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!