pymssql 中文写入读取

本文介绍了一个Python脚本示例,该脚本通过pymssql模块连接到SQL Server数据库并执行基本的CRUD操作。具体包括插入一条记录以及查询所有记录,并将查询结果打印出来。

#!/usr/bin/env python

# -*- coding: gb2312 -*-

import pymssql

conn = pymssql.connect(host='192.168.5.100', user='sa', password='mssql', database='TEST',charset='cp936',as_dict=True)

cur = conn.cursor()

sql_b="INSERT INTO Table1 (id,name)VALUES('13','张文君')"

cur.execute(sql_b)

conn.commit()

sql_a='SELECT * FROM Table1'

# cur.execute(sql_a.encode('cp936'))

cur.execute(sql_a)

for name in cur.fetchall():

# print row

print name[0].encode('gbk')+name[1].encode('gbk')

conn.close()

### 使用 pymssql 连接和操作 SQL Server 数据库 #### 1. 安装 pymssql 模块 为了使用 `pymssql` 操作 SQL Server 数据库,首先需要安装该模块。可以通过在线或离线方式进行安装[^4]。 通过在线方式安装时,在命令行执行以下命令: ```bash pip install pymssql ``` 如果网络条件不允许,则可以选择离线安装的方式,即将包文件复制到 Python 的 `Lib\site-packages` 文件夹中完成安装。 --- #### 2. 建立数据库连接 建立与 SQL Server 数据库的连接是进行任何操作的前提。以下是基本的连接代码: ```python import pymssql # 配置数据库连接参数 host = 'your_server_address' # 替换为服务器地址 username = 'your_username' # 替换为用户名 password = 'your_password' # 替换为密码 database = 'your_database_name' # 替换为目标数据库名称 port = '1433' # 默认端口为 1433 try: conn = pymssql.connect( server=host, user=username, password=password, database=database, port=port ) print("成功连接到数据库") except Exception as e: print(f"连接失败: {e}") ``` 需要注意的是,某些情况下可能会遇到连接超时或其他异常情况[^2]。这可能是由于防火墙设置、SQL Server 配置不当等原因引起。此时应检查服务器配置以及客户端与服务端之间的连通性。 --- #### 3. 执行查询语句 一旦建立了有效的数据库连接,就可以通过游标对象来执行 SQL 查询语句。下面展示了一个简单的 SELECT 查询示例: ```python cursor = conn.cursor() # 创建游标对象 query = "SELECT * FROM your_table_name" cursor.execute(query) rows = cursor.fetchall() # 获取所有返回的结果 for row in rows: print(row) # 输出每一行记录 ``` 上述代码会打印表中的所有数据。对于更复杂的查询需求,可以根据实际业务逻辑调整 SQL 语句的内容。 --- #### 4. 插入/更新/删除数据 除了读取数据外,还可以利用 `execute()` 方法向数据写入数据或者修改现有数据。例如插入一条新的记录: ```python insert_query = "INSERT INTO your_table_name (column1, column2) VALUES (%s, %s)" data_to_insert = ('value1', 'value2') try: cursor.execute(insert_query, data_to_insert) conn.commit() # 提交事务更改 print("数据已成功插入") except Exception as e: conn.rollback() # 如果发生错误则回滚事务 print(f"插入失败: {e}") ``` 同样适用于 UPDATE 和 DELETE 操作,只需替换对应的 SQL 语法即可。 --- #### 5. 关闭资源 无论程序是否正常结束还是中途抛出了异常,都应当确保释放掉占用的资源(关闭游标和断开连接)。这是良好的编程习惯之一。 ```python if cursor: cursor.close() if conn: conn.close() print("资源已全部清理完毕") ``` --- ### 总结 以上就是关于如何使用 `pymssql` 来连接并操作 SQL Server 数据库的主要流程介绍。它涵盖了从环境准备到基础 CRUD 功能的具体实现过程[^1][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值