当前位置: 首页 > news >正文

python连接sql server数据库

  记录一下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()   %关闭数据库连接。

相关文章:

  • Mysql详解my-innodb-heavy-4G.cnf 配置
  • 为什么说Ubuntu的运行级别为2
  • python网络编程1
  • Exchange 跨林迁移 Part7 配置密钥服务器
  • SQLserver行转列与列转行
  • d3js shape深入理解
  • 解决WordPress安装主题/插件提示输入FTP帐号的问题
  • jdk 7下载地址
  • leetcode Longest Common Prefix
  • Javascript之sort深入探究
  • Java中继承的规则
  • ExpandableListView(二级ListView)的使用
  • EventFiringWebDriver网页事件监听(一)
  • 为您的Android,iOS等应用加入声波传输功能
  • virtualbox测试k8s要注意的情况
  • php的引用
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Android Studio:GIT提交项目到远程仓库
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java 网络编程(2):UDP 的使用
  • JavaScript类型识别
  • JS专题之继承
  • node-glob通配符
  • select2 取值 遍历 设置默认值
  • 从零开始在ubuntu上搭建node开发环境
  • 开源SQL-on-Hadoop系统一览
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 利用DataURL技术在网页上显示图片
  • 日剧·日综资源集合(建议收藏)
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 微信开放平台全网发布【失败】的几点排查方法
  • 问题之ssh中Host key verification failed的解决
  •  一套莫尔斯电报听写、翻译系统
  • 原生 js 实现移动端 Touch 滑动反弹
  • 阿里云移动端播放器高级功能介绍
  • ​iOS实时查看App运行日志
  • ​虚拟化系列介绍(十)
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #Ubuntu(修改root信息)
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (1)(1.11) SiK Radio v2(一)
  • (10)STL算法之搜索(二) 二分查找
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (java)关于Thread的挂起和恢复
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (八)c52学习之旅-中断实验
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)kafka实战——kafka源码编译启动
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • *2 echo、printf、mkdir命令的应用
  • ./configure,make,make install的作用
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接