最新下载
热门教程
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 
如何使用SQL语句从电脑导入图片到数据库 使用SQL语句从电脑导入图片到数据库方法
时间:2022-06-29 09:05:25 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下使用SQL语句从电脑导入图片到数据库方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
具体代码如下所示:
--创建图片表
CREATE TABLE W_PIC
(
  ID INT,        --编号
  WPATH VARCHAR(80),  --完整路径
  PIC VARCHAR(80),  --图片名称,不带后缀
  img image      --图片内容
)
--图片表中插入数据
INSERT INTO W_PIC(ID,WPATH,PIC)
SELECT 1, 'C:UserswDesktop产品图片2#加工图34-C专用.jpg','2#加工图34-C专用'
UNION ALL
SELECT 2, 'C:UserswDesktop产品图片129.jpg','129'
--创建游标
DECLARE CUR_PIC CURSOR FOR SELECT ID,WPATH,PIC FROM W_PIC;
DECLARE @ID int, @PATH VARCHAR(80), @PIC VARCHAR(80), @STR VARCHAR(100);
OPEN CUR_PIC;
FETCH NEXT FROM CUR_PIC INTO @ID, @PATH, @PIC;
WHILE @@FETCH_STATUS=0
BEGIN
  SET @STR=STR(@ID);  
  --插入图片数据
  EXECUTE ('UPDATE W_PIC SET img=(SELECT * FROM OPENROWSET(BULK N'''+@PATH+''', SINGLE_BLOB) AS Photo) WHERE ID='+@STR);
  FETCH NEXT FROM CUR_PIC INTO @ID, @PATH, @PIC;
END
CLOSE CUR_PIC;
DEALLOCATE CUR_PIC;
知识点扩展:
从MySQL数据库读取图片和向数据库插入图片
MySQL数据库中有一个数据类型为Blob类型,此类型为二进制文件类型。下面为从MySQL数据库读取图片和向数据库插入图片的代码,一些的数据库连接和JDBC代码就省去了。
package com.an.jdbc.bean;
     import java.io.FileInputStream;
  import java.io.FileOutputStream;
  import java.io.InputStream;
  import java.sql.Connection;
  import java.sql.PreparedStatement;
  import java.sql.ResultSet;
  import org.junit.Test;
  import com.an.jdbc.utils.JDBCUtils;
  public class TestBlob {
    //向数据库中插入图片
    @Test
    public void test1() throws Exception{
      String sql = "update beauty set photo = ? where id = ?";
      Connection connection = JDBCUtils.getConnection();
      PreparedStatement ps = connection.prepareStatement(sql);
      FileInputStream fis = new FileInputStream("C:UsersAdministratorDesktop1.jpg");
      ps.setBlob(1, fis);
      ps.setInt(2, 2);
      int update = ps.executeUpdate();
      System.out.println(update>0?"success":"failure");
      JDBCUtils.closeConnection(null, ps, connection);
    }
    //从数据库中读取一张图片
    @Test
    public void test2() throws Exception{
      String sql = "select photo from beauty where id=?";
      Connection connection = JDBCUtils.getConnection();
      PreparedStatement ps = connection.prepareStatement(sql);
      ps.setInt(1, 2);
      ResultSet set = ps.executeQuery();
      if(set.next()){
        InputStream inputStream = set.getBinaryStream(1);
        FileOutputStream fos = new FileOutputStream("srccopy.jpg");
        byte[] b = new byte[1024];
        int len = -1;
        while((len=inputStream.read(b))!=-1){
          fos.write(b, 0, len);
        }
        fos.close();
        inputStream.close();
      }
      JDBCUtils.closeConnection(null, ps, connection);
    }
  }                                        				                
                    相关文章
- 逃离鸭科夫农场镇晋升专家快递员怎么做 晋升专家快递员任务流程 11-04
 - 逃离鸭科夫农场镇进阶实力证明2怎么做 实力证明2任务流程 11-04
 - 逃离鸭科夫农场镇清理校园任务怎么完成 清理校园任务流程 11-04
 - 逃离鸭科夫四骑士打法攻略 四骑士打法攻略(一) 11-04
 - 燕云十六声墨山道论文怎么得满分-墨山道论文满分达成方法 11-04
 - 逃离鸭科夫锅在哪 逃离鸭科夫锅获取方法 11-04