用到的软件:python3.9.5 pycharm2021 SQL Server2022
第一步:在python中下载pymssql
import pymssql
import os # 这个包是为了后面从文件夹中拿取图片用的
第二步:用python连接 SQL Server
conn = pymssql.connect(server='LAPTOP-UITU4HR1', user='sa', password='sa', database='vein')
cursor = conn.cursor() # 确认并定位光标位置
相关参数解释:
server:服务器名称
user:登录名
password:密码
database:想要把数据存储的数据库名称
这里小编建议使用SQL Server 身份验证,一开始使用时可能直接使用的是windows,但是可用通过设置,这样能有获得用户名等选项,出错率较低。
第三步:创建表,创建数据表可直接在pycharm里面采用代码创建,这样便于设计与修改
cursor.execute("""
if object_id('tabel1','u') is not NULL
drop table tabel1
create table tabel1(
id int not NULL,
p1 image,p2 image,p3 image,p4 image,
p5 image,p6 image,
primary key(id)
)
""")
相关代码解释:
table1:想要创建表的名称,这个根据需要设置
p1 image:将第二列命名为p1,并可存入二进制图片,格式为image(image格式是SQL Server专门用来存储图片的格式),小编这里示范的是六张图片
第四步:从电脑文件夹中获取图片,并将其转化为二进制
source_path = r"D:\photo"+'\\' # 图片所在文件夹地址
img = [] # 用来存储转化为二进制后的图片数据
dirs = os.listdir(source_path) # 获取文件夹中各个图片的名称
for dir in dirs:
photo_path = os.path.join(source_path,dir) # 获取各个图片的地址
photo_open = open(photo_path,'rb') # 采用二进制方式读取
img.append(photo_open.read())
photo_open.close()
第五步:将二进制图片存储到数据库中
cursor.executemany(
"insert into tabel1 values (%d,%s,%s,%s,%s,%s,%s)",
[(1,img[0],img[1],img[2],img[3],img[4],img[5])]
)
conn.commit() # 写入数据库
conn.close()