python连接sql server数据库
2024-08-27 03:56:18
记录一下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() %关闭数据库连接。
最新文章
- Markdown是怎样接管我的各种的写作工作的
- Blackfin DSP(六):BF533的SPORT接口
- JS学习第四课
- while +next 循环 回到循环顶端
- Linux程序设计(一)入门
- php计算时间差/两个时间日期相隔的天数,时,分,秒.
- [转]Delphi 控件属性和事件
- InsertOnSubmit、InsertAllOnSubmit等区别 (转)
- nginx负载均衡2
- Caused by: java.lang.IllegalArgumentException: 'dataSource' or 'jdbcTemplate' is required
- (poj 2502) Subway 最短路
- Synctoy2.1使用定时任务0X1
- 洛谷 P4345 [SHOI2015]超能粒子炮·改 解题报告
- github咋用昂
- inno setup 安装前判断进程是否存在,以及停止相应进程<;转>;
- 1.html基础
- [转帖]MerkleDAG全面解析 一文读懂什么是默克尔有向无环图
- 文本处理三剑客之 sed详解
- [原]如何为SqlServer2008数据库分配用户
- Linux上多次restore Tensorflow模型报错
热门文章
- 泛型学习第三天——C#读取数据库返回泛型集合 把DataSet类型转换为List<;T>;泛型集合
- http 常见的错误码
- jquery事件优化---事件委托
- 解决:phantomjs helloworld.js报错: Can&#39;t open &#39;helloworld.js&#39;
- 51nod 1732 LCS变形
- TCP/IP详解学习笔记(2)-数据链路层【转】
- LeetCode OJ:Sum Root to Leaf Numbers(根到叶节点数字之和)
- Ubuntu16.04上安装搜狗输入法
- UVA - 11754 Code Feat (分块+中国剩余定理)
- HDU - 5412 CRB and Queries (整体二分)