www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  2912 随笔 :: 9 文章 :: 51 评论 :: 185万 阅读

  记录一下pyodbc连接数据库的使用方法和注意事项,基于python2.7:

 前提: pip install pyodbc  。下载pyodbc包。
 
pyodbc.connect('DRIVER=;SERVER=;DATABASE=;UID=;PWD=')
DRIVER:对应数据库版本的驱动器,SQL server 2008是“SQL Server Native Client 10.0”,
SERVER:数据库服务器名称
DATABASE:数据库名称,UID:账号,PWD:密码。
 
conn  = pyodbc.connect('DRIVER=;SERVER=;DATABASE=;UID=;PWD=')  用此语句连接,获得连接对象。
cursor = conn.cursor()   %获得游标。
cursor.execute(sql)   %传递sql语句给数据库。
如:
cursor.execute('select * from table1 where n1=? and n2=?' ,var1,var2)  %传递sql语句,sql语句中若含有变量,用?作为占位符代替,在后面给出变量。?个数不限,按照先后顺序赋值。 可直接跟列表,如:
var = [var1,var2]
cursor.execute('select * from table1 where n1=? and n2=?' ,var) 
cursor.execute('''select * 
from table1   
where n1=? and n2=?''' ,var1,var2)    可以通过三引号。让sql语句可以跨行,增加sql语句可读性。
 
cursor.fetchone() 返回结果数据的一行,返回一个单行的数据对象,row.
row = cursor.fetchone()
row[1]   % 可以类似于列表按索引号来访问具体数据
row.lie_name  %也可以按  列名 来进行索引
可通过for循环遍历,获取所有数据或指定数目的数据
 
cursor.fetchall()  获得所有数据,返回一个list对象,每行就是一个tuple元组。
rows = cursor.fetchall()
 
对数据进行增加,删除,修改,等只要改变到数据库数据或属性的操作,都需要进行提交
conn.commit()  % 操作提交,如果中途出错,或连接中断,则会发生数据回流,不会影响到数据库原有数据。
 
最后
conn.close()   %关闭数据库连接。
posted on   秦瑞It行程实录  阅读(1832)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2014-07-12 docker
2014-07-12 程序运行时内存管理
2013-07-12 cacti快速安装
www.cnblogs.com/ruiyqinrui
点击右上角即可分享
微信分享提示