首页 / PYTHON / python:数据库连接操作入门
python:数据库连接操作入门
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python:数据库连接操作入门,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2398字,纯文字阅读大概需要4分钟。
内容图文
![python:数据库连接操作入门](/upload/InfoBanner/zyjiaocheng/909/2ae0205ca34f4d03a0c51715478296a7.jpg)
模块说明
pymssql和pyodbc模块都是常用的用于SQL Server、MySQL等数据库的连接及操作的模块,当然一些其他的模块也可以进行相应的操作,类似adodbapi、mssql、mxODBC等,我们在实际用的时候选择其中一个模块就好,对于每一个模块都有相应的支持版本和支持平台,大家可以自行查阅文档https://wiki.python.org/moin/SQL%20Server
模块安装
pip install pymssql
模块使用
我们利用python来进行数据库的操作,那么第一步就应该是连接数据库,这里我们用pymssql模块中的connect方法连连接,在pyodbc模块中同样也是利用connect方法。
使用connect创建连接对象
connect.cursor创建游标对象,SQL语句的执行基本都在游标上进行
cursor.executeXXX方法执行SQL语句,cursor.fetchXXX获取查询结果等
调用close方法关闭游标cursor和数据库连接
pymssql模块连接
pyodbc模块连接
import pyodbc
conn = pyodbc.connect(r'DRIVER={SQL Server Native Client 11.0};SERVER=test;DATABASE=test;UID=user;PWD=password')
不同的SQL server版本对应的DRIVER字段不同。对应关系如下:
{SQL Server} - released with SQL Server 2000
{SQL Native Client} - released with SQL Server 2005 (also known as version 9.0)
{SQL Server Native Client 10.0} - released with SQL Server 2008
{SQL Server Native Client 11.0} - released with SQL Server 2012
使用pyodbc需要安装微软官方的Native Client(没有安装会报错IM002),安装SQL server management studio会自动附带安装(控制面板里可以看到安装的版本)。如果没有安装过需要在https://msdn.microsoft.com/en-us/data/ff658533.aspx下载安装(sqlncli.msi)。建议选择与远程数据库版本相对应的Native Client。如果本地安装的Native Client是高版本,则DRIVER={SQL Server Native Client 11.0}需要填写的是本地的高版本。
获取数据库内容
这里涉及到游标的使用
fetchone() :返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None
fetchall() :返回多个元组,即返回多个记录(rows),如果没有结果 则返回 ()
由于execute返回的是cursor本身,所以如果你需要一次直接获取所有内容可以直接使用cursor本身来获取
关于游标这里还存在一个要向大家专门说明的地方,
就是一个连接一次只能有一个游标的查询处于活跃状态,具体什么意思大家可以看下面的代码。
提供一个解决的办法
在游标的正常使用中游标获取的查询结果,一行为一个元组。
我们在实际使用中可以根据需求,用 as_dict 方法返回一个字典变量,其中字典的Key为数据表的列名
大家如果觉得上面的代码写起来看上去太长,给大家提供一个代码量小的数据库操作解决办法
就是 with语句,即上下文管理器,它的好处一个是代码的集成度高,一个是省去显示的调用close方法关闭连接和游标
关于数据库的增删改
增删改数据库的内容也是直接传递SQL语句给execute方法。但要注意运行之后需要用commit提交变更
内容总结
以上是互联网集市为您收集整理的python:数据库连接操作入门全部内容,希望文章能够帮你解决python:数据库连接操作入门所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。