时间:2021-05-22
本文实例讲述了Python使用pyodbc访问数据库操作方法。
数据库连接
数据库连接网上大致有两种方法,一种是使用pyodbc,另一种是使用win32com.client,测试了很多遍,最终只有pyodbc成功,而且比较好用,所以这里只介绍这种方法
工具库安装
在此基础上安装pyodbc工具库,在cmd窗口执行如下语句安装
pip install pyodbc
如果安装了anaconda也可以使用conda install pyodbc
分享给大家供大家参考,具体如下:
检验是否可以正常连接数据库检查是否有一个Microsoft Access ODBC驱动程序可用于你的Python环境(在Windows上)的方法:
>>> import pyodbc
>>>[x for x in pyodbc.drivers() if x.startswith('Microsoft Access Driver')]
如果你看到一个空列表,那么您正在运行64位Python,并且需要安装64位版本的“ACE”驱动程序。如果您只看到['Microsoft Access Driver (*.mdb)']并且需要使用.accdb文件,那么您需要安装32位版本的“ACE”驱动程序
安装64位的ODBC 驱动器:
64位ODBC驱动器的下载地址 https://mit()函数
1)由于使用单引号的SQL语句是有效的,那么双引号也同样是有效的:
deleted =cursor.execute("delete from products where id <> 'pyodbc'").rowcount2)假如你使用的是三引号,那么你也可以这样使用:
deleted =cursor.execute(""" delete from products where id <> 'pyodbc' """).rowcount3)有些数据库(比如SQL Server)在计数时并没有产生列名,这种情况下,你想访问数据就必须使用下标。当然你也可以使用"as"关键字来取个列名(下面SQL语句的"as name-count")
row =cursor.execute("select count(*) as user_count from users").fetchone()print'%s users' %row.user_count4)假如你只是需要一个值,那么你可以在同一个行局中使用fetch函数来获取行和第一个列的所有数据。
count =cursor.execute("select count(*) from users").fetchone()[0]print'%s users' %count如果列为空,将会导致该语句不能运行。fetchone()函数返回None,而你将会获取一个错误:NoneType不支持下标。如果有一个默认值,你能常常使用ISNULL,或者在SQL数据库直接合并NULLs来覆盖掉默认值。
maxid =cursor.execute("select coalesce(max(id), 0) from users").fetchone()[0]在这个例子里面,如果max(id)返回NULL,coalesce(max(id),0)将导致查询的值为0。
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python+MySQL数据库程序设计入门教程》、《Python常见数据库操作技巧汇总》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
环境win2008r264为系统python3.7、pyodbc安装好python3.7以后,那么就需要安装pyodbc了。数据库连接数据库连接网上大致有两种方
池式连接超时的解决方法: 1、修改几个关键页面或访问比较频繁的数据库访问操作,使用DataAdapter和DataSet来获取数据库数据,不要使用DataRe
本文实例讲述了C#创建数据库及附加数据库的操作方法。分享给大家供大家参考,具体如下://////附加数据库方法//////连接数据库字符串,连接master系统
本文研究的主要是python通过elixir包操作mysql数据库的相关实例,具体如下。python操作数据库有很多方法,下面介绍elixir来操作数据库。el
destoon在初始化系统后系统会自动连接数据库,并将数据库操作对象保存在$db。对于数据库操作方法请参考include/db_mysql.class.php函