您的位置:首页 > 数据库 > > 正文

sql导入数据库脚本(使用用SQL语句从电脑导入图片到数据库的方法)

更多 时间:2021-10-19 06:27:21 类别:数据库 浏览量:2287

sql导入数据库脚本

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

    您可能感兴趣