python 实现操作sql server数据库

上一篇文章,我们写到如何在centos7.5 安装sql server数据库,这篇来说明下如何使用python连接sql server数据库并完成数据库操作。

一、环境准备

操作系统:centos7.5 x64

安装包:pyodbc-2.1.7(或者pymssql,该模块需要安装依赖较多,不建议)离线安装使用rpm包安装,在线安装直接运行:pip install pyodbc  rpm包下载地址:https://download.csdn.net/download/hu_wen/11275091

python环境:python2.7 或者python3以上

安装完成pyodbc需修改配置文件  /etc/odbcinst.ini 新增以下内容:

[SQL Server]
Description = FreeTDS ODBC driver for MSSQL
Driver = /usr/lib64/libtdsodbc.so
Setup = /usr/lib64/libtdsS.so.2
FileUsage = 1


配置完成后即可调试python代码进行连接,以下是事例代码:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import pyodbc

#创建数据库连接
conn = pyodbc.connect("DRIVER={SQL Server};SERVER=192.168.142.11,1433;DATABASE=master;UID=sa;PWD=hu_wen@2019")
cursor = conn.cursor() # 获取光标

# 创建表
cursor.execute("""
IF OBJECT_ID('persons', 'U') IS NOT NULL
DROP TABLE persons
CREATE TABLE persons (
id INT NOT NULL,
name VARCHAR(100),
salesrep VARCHAR(100),
PRIMARY KEY(id)
)
""")

# 插入多行数据
cursor.executemany(
"INSERT INTO persons VALUES (%d, '%s', '%s')",
[(1, 'John Smith', 'John Doe'),
(2, 'Jane Doe', 'Joe Dog'),
(3, 'Mike T.', 'Sarah H.')])
# 提交数据
conn.commit()

# 查询数据
cursor.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe')

# 遍历数据(存放到元组中) 方式1
row = cursor.fetchone()
while row:
print("ID=%d, Name=%s" % (row[0], row[1]))
row = cursor.fetchone()

# 遍历数据(存放到元组中) 方式2
for row in cursor:
print('row = %r' % (row,))

# 关闭连接
conn.close()
如调试过程中遇到问题,欢迎留言交流!
---------------------

posted @ 2019-07-05 17:12  经管时评  阅读(304)  评论(0编辑  收藏  举报