• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    使用用SQL语句从电脑导入图片到数据库的方法

    使用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:\Users\w\Desktop\产品图片\2#加工图34-C专用.jpg','2#加工图34-C专用'
    UNION ALL
    SELECT 2, 'C:\Users\w\Desktop\产品图片\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:\\Users\\Administrator\\Desktop\\1.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("src\\copy.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);
        }
      }

    总结

    以上所述是小编给大家介绍的使用用SQL语句从电脑导入图片到数据库的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    您可能感兴趣的文章:
    • 必须会的SQL语句(八) 数据库的完整性约束
    • 使用sql语句创建和删除约束示例代码
    • 使用tp框架和SQL语句查询数据表中的某字段包含某值
    • laravel实现查询最后执行的一条sql语句的方法
    • Laravel使用原生sql语句并调用的方法
    • MyBatisPlus 自定义sql语句的实现
    • 数据库中的sql完整性约束语句解析
    上一篇:SQL Server 中的数据类型隐式转换问题
    下一篇:行转列之SQL SERVER PIVOT与用法详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    使用用SQL语句从电脑导入图片到数据库的方法 使,用用,SQL,语句,从,电脑,