Python操作SQL Server 2008需要一个名为pymssql的库,如果没有这个库可以通过在cmd中输入如下命令来安装:
pip install pymssql
闲话少说,直接贴代码:
# -*- coding: utf-8 -*-
"""
Created on Sat Jan 19 11:11:17 2019
@author: DELL
"""
import pymssql
#连接服务器地址
server = "127.0.0.1"
#连接账号
user = "你的账户名称"
#连接密码
password = "你的密码"
#连接数据库的名称
database = "你的数据库名称"
#获取连接
conn = pymssql.connect(server,user,password,database)
#获取光标
cursor = conn.cursor()
#插入多行数据
def InsertData():
#sql插入命令
sql = "insert into test1(id,name,age) values (%s,%s,%s)"
#需要插入的数据
data = [('17070201',"张三",'10'),
('17070202',"李四",'21'),
('17070203',"王五",'23')]
#执行sql语句
cursor.executemany(sql,data)
#提交给数据库执行
conn.commit()
#删除数据
def DeleteData():
#sql删除命令
sql = "delete test1 where id=17070201"
#执行sql语句
cursor.execute(sql)
#提交到数据库执行
conn.commit()
#查询数据,并打印
def InquireData():
#sql查询语句
sql = "select * from test1"
#执行sql语句
cursor.execute(sql)
#获得数据库中的一条信息,存放到元组中
row = cursor.fetchone()
#打印数据库中的信息
while row:
print("ID=%s,Name=%s,Age=%s"%(row[0],row[1],row[2]))
row = cursor.fetchone()
#更改数据
def UpdateData():
#sql更新语句
sql = "update [test1] set name='赵六' where id=17070203"
#执行sql语句
cursor.execute(sql)
#提交到数据库中执行
conn.commit()
#InsertData()
#DeleteData()
#InquireData()
UpdateData()
conn.close()
本人在运行这段代码时,出现了如下问题:
上网查阅了很多资料,发现是服务器的地址(sever)格式不对,在输入服务器的地址时需要将端口号一并输入,同时要保证sql server配置管理器中的TCP/IP协议处于活跃状态,并且本机IP也要处于活跃状态,查找服务器地址和端口号的步骤为:
1、找到sql server配置管理器:
2、双击“SQL Server网络配置”中的“SQLEXPRESS的协议”:
3、双击进入“TCP/IP”:
出现如下界面,进入“IP地址”:
4、找到如下IP地址,更重要的是找到IPALL动态端口号:
至此,将server更改为如下格式:
server = "127.0.0.1:51635"
查阅了网上许多的资料,有人说IPALL动态端口号每次开机都会改变,但本人的一直未变,一直都是51635,各位朋友可视情况而定。
要保证sql server配置管理器中的TCP/IP协议处于活跃状态,并且本机IP也要处于活跃状态,需要将如下协议和地址开启:
“已启用”一栏均改为“是”。