mysql导⼊图⽚语句_使⽤⽤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 = Connection();
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 = Connection();
PreparedStatement ps = connection.prepareStatement(sql);mysql数据库的方法
ps.setInt(1, 2);
ResultSet set = ps.executeQuery();
()){
InputStream inputStream = BinaryStream(1);
FileOutputStream fos = new FileOutputStream("src\\copy.jpg");
byte[] b = new byte[1024];
int len = -1;
while((ad(b))!=-1){
fos.write(b, 0, len);
}
fos.close();
inputStream.close();
}
JDBCUtils.closeConnection(null, ps, connection);
}
}
总结
以上所述是⼩编给⼤家介绍的使⽤⽤SQL语句从电脑导⼊图⽚到数据库的⽅法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对脚本之家⽹站的⽀持!
如果你觉得本⽂对你有帮助,欢迎转载,烦请注明出处,谢谢!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。