pyodbc的简单使用

pyodbc的简单使用

ID:42624283

大小:23.44 KB

页数:7页

时间:2019-09-19

pyodbc的简单使用_第1页
pyodbc的简单使用_第2页
pyodbc的简单使用_第3页
pyodbc的简单使用_第4页
pyodbc的简单使用_第5页
资源描述:

《pyodbc的简单使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、pyodbc的简单使用1、连接数据库1)直接连接数据库和创建一个游标(cursor)12cnxn=pyodbc.connect('DRIVER={SQLServer};SERVER=localhost;DATABASE=testdb;UID=me;PWD=pass')cursor=cnxn.cursor()2)使用DSN连接。通常DSN连接并不需要密码,还是需要提供一个PSW的关键字。12cnxn=pyodbc.connect('DSN=test;PWD=password')cursor=cnxn.cursor()关于连接函数还有更多的选项,可以在pyodb

2、c文档中的connectfuntion和ConnectionStrings查看更多的细节2、数据查询(SQL语句为select...from..where)1)所有的SQL语句都用cursor.execute函数运行。如果语句返回行,比如一个查询语句返回的行,你可以通过游标的fetch函数来获取数据,这些函数有(fetchone,fetchall,fetchmany).如果返回空行,fetchone函数将返回None,而fetchall和fetchmany将返回一个空列。1234cursor.execute("selectuser_id,user_namef

3、romusers")row=cursor.fetchone()ifrow:    printrow2)Row这个类,类似于一个元组,但是他们也可以通过字段名进行访问。1234cursor.execute("selectuser_id,user_namefromusers")row=cursor.fetchone()print'name:',row[1]         #accessbycolumnindexprint'name:',row.user_name  #oraccessbyname3)如果所有的行都被检索完,那么fetchone将返回None.1

4、2345while1:    row=cursor.fetchone()    ifnotrow:        break    print'id:',row.user_id4)使用fetchall函数时,将返回所有剩下的行,如果是空行,那么将返回一个空列。(如果有很多行,这样做的话将会占用很多内存。未读取的行将会被压缩存放在数据库引擎中,然后由数据库服务器分批发送。一次只读取你需要的行,将会大大节省内存空间)1234cursor.execute("selectuser_id,user_namefromusers")rows=cursor.fetchall

5、()forrowinrows:    printrow.user_id,row.user_name5)如果你打算一次读完所有数据,那么你可以使用cursor本身。123cursor.execute("selectuser_id,user_namefromusers"):forrowincursor:    printrow.user_id,row.user_name6)由于cursor.execute返回一个cursor,所以你可以把上面的语句简化成:12forrowincursor.execute("selectuser_id,user_namefromu

6、sers"):    printrow.user_id,row.user_name7)有很多SQL语句用单行来写并不是很方便,所以你也可以使用三引号的字符串来写:123456cursor.execute("""               selectuser_id,user_name                 fromusers                wherelast_logon<'2001-01-01'                  andbill_overdue='y'               """)3、参数1)ODBC支持在

7、SQL语句中使用一个问号来作为参数。你可以在SQL语句后面加上值,用来传递给SQL语句中的问号。123456cursor.execute("""               selectuser_id,user_name                 fromusers                wherelast_logon<                  andbill_overdue=               """,'2001-01-01','y')这样做比直接把值写在SQL语句中更加安全,这是因为每个参数传递给数据库都是单独进行的。如

8、果你使用不同的参数而运行同样的SQL语句,这样做也更

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。