没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Python使用使用pyodbc访问数据库操作方法详解访问数据库操作方法详解
主要介绍了Python使用pyodbc访问数据库操作方法,结合实例形式详细分析了Python基于pyodbc针对数据库的
连接、查询、插入、修改、删除等操作技巧与注意事项,需要的朋友可以参考下
本文实例讲述了Python使用pyodbc访问数据库操作方法。分享给大家供大家参考,具体如下:
1、连接数据库、连接数据库
1)直接连接数据库和创建一个游标(cursor)
cnxn =pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=testdb;UID=me;PWD=pass')
cursor =cnxn.cursor()
2)使用DSN连接。通常DSN连接并不需要密码,还是需要提供一个PSW的关键字。
cnxn =pyodbc.connect('DSN=test;PWD=password')
cursor =cnxn.cursor()
关于连接函数还有更多的选项,可以在pyodbc文档中的 connect funtion 和 ConnectionStrings查看更多的细节
2、数据查询(、数据查询(SQL语句为语句为 select ...from..where))
1)所有的SQL语句都用cursor.execute函数运行。如果语句返回行,比如一个查询语句返回的行,你可以通过游标的fetch函
数来获取数据,这些函数有(fetchone,fetchall,fetchmany).如果返回空行,fetchone函数将返回None,而fetchall和fetchmany将返
回一个空列。
cursor.execute("select user_id, user_name from users")
row =cursor.fetchone()
if row:
printrow
2)Row这个类,类似于一个元组,但是他们也可以通过字段名进行访问。
cursor.execute("select user_id, user_name from users")
row =cursor.fetchone()
print'name:', row[1] # access by column index
print'name:', row.user_name # or access by name
3)如果所有的行都被检索完,那么fetchone将返回None.
while 1:
row= cursor.fetchone()
ifnot row:
break
print'id:', row.user_id
4)使用fetchall函数时,将返回所有剩下的行,如果是空行,那么将返回一个空列。(如果有很多行,这样做的话将会占用很
多内存。未读取的行将会被压缩存放在数据库引擎中,然后由数据库服务器分批发送。一次只读取你需要的行,将会大大节省
内存空间)
cursor.execute("select user_id, user_name from users")
rows =cursor.fetchall()
for row in rows:
printrow.user_id, row.user_name
5)如果你打算一次读完所有数据,那么你可以使用cursor本身。
cursor.execute("select user_id, user_name from users"):
for row in cursor:
printrow.user_id, row.user_name
6)由于cursor.execute返回一个cursor,所以你可以把上面的语句简化成:
for row in cursor.execute("select user_id, user_name from users"):
printrow.user_id, row.user_name
资源评论
- qq_416670912020-11-04并没有实例,不好用
weixin_38633576
- 粉丝: 2
- 资源: 901
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功