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 实现操作sql server数据库_第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()

如调试过程中遇到问题,欢迎留言交流!

你可能感兴趣的:(OpsDev,Python,DBA,OpsDev运维开发)