Python 连接数据库的多种方法
栏目: 数据库 · SQL Server · 发布时间: 7年前
内容简介:Python是一种计算机程序设计语言,它是一种动态的、面向对象的脚本语言。它是一种跨平台的,可以运行在 Windows,Mac和 Linux/Unix系统上。在日常使用中需要对大量数据进行数据分析,那么就必然用到数据库,我们常用的数据库有 SQL Server , MySQL , Oracle , DB2 , SQLite ,Hive ,PostgreSQL , MongoDB还有其他常用的 Microsoft Access,Microsoft Excel等。
Python是一种计算机程序设计语言,它是一种动态的、面向对象的脚本语言。它是一种跨平台的,可以运行在 Windows,Mac和 Linux/Unix系统上。
在日常使用中需要对大量数据进行数据分析,那么就必然用到数据库,我们常用的数据库有 SQL Server , MySQL , Oracle , DB2 , SQLite ,Hive ,PostgreSQL , MongoDB还有其他常用的 Microsoft Access,Microsoft Excel等。
今天主要介绍比较常用的库,其中两个是:pyodbc 和 pymssql,他们可以连接多个常用数据库。
首先是需要安装Python, 根据操作系统选择对应平台的Pyhon版本,可以在官网下载。
然后就是安装 pyodbc,在联网情况下,打开 python 软件,输入:pip install pyodbc
等待安装完成。然后我们就可以对数据库进行操作了,比如:连接、查询、插入、修改、删除等操作。
下面主要介绍如何实现对数据库的操作:
第一,连接数据库。从GitHub上可以查询到如下 pyodbc 连接 SQL Server 的要求:
Microsoft have written and distributed multiple ODBC drivers for SQL Server:
- {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
- {ODBC Driver 11 for SQL Server} - supports SQL Server 2005 through 2014
- {ODBC Driver 13 for SQL Server} - supports SQL Server 2005 through 2016
- {ODBC Driver 13.1 for SQL Server} - supports SQL Server 2008 through 2016
- {ODBC Driver 17 for SQL Server} - supports SQL Server 2008 through 2017
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=192.168.1.6;DATABASE=test;UID=sa;PWD=Admin123')
DRIVER:对应数据库版本的驱动器,SQL server 2000是“SQL Server”;
SERVER:数据库服务器名称或者数据库服务器的IP地址;
DATABASE:数据库名称,UID:账号,PWD:密码。
第二,查询数据库
cursor = cnxn.cursor() #获得游标
cursor.execute("select * from test.dbo.JZGK") #执行 SQL 的查询语句
rows = cursor.fetchall() #获得所有数据,返回一个list对象
for row in rows: #使用for循环对查询的数据遍历并打印出来
print(row.LoopName, row.Press,row.Temp,row.Flow,row.Time_Stamp)
第三,数据库中插入数据
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=192.168.1.6;DATABASE=test;UID=sa;PWD=Admin123')
cursor = cnxn.cursor()
cursor.execute("insert into products(id, name) values ('3', 'abd')") #使用SQL的insert语句向数据库的表products插入一条记录
cnxn.commit() #操作提交,如果中途出错,或连接中断,则会发生数据回流,不会影响到数据库原有数据。
第四,数据库中删除数据
cursor.execute("delete from products where id <> ?", '1') #使用SQL的delete 语句删除数据
print('Deleted {} inferior products'.format(cursor.rowcount))
cnxn.commit()
第五,数据库中更新数据
cursor.execute("UPDATE test SET LoopName=FIQ1005 WHERE LoopName=FIQ1004) #使用SQL的UPDATE 语句更新数据
cnxn.commit() cnxn.close()
注意:所有的SQL操作完成后需要关闭数据库连接
作者剑控老罗
具有10年工业自动化领域SCADA,DCS,PLC等项目实施经验,熟悉石化行业,油田数字化行业,熟悉多个品牌PLC,HMI,SCADA,数据库等。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- NATS 多种连接 Golang 实践
- 多种使用SMB端口远程连接PC的方法介绍
- .net 多种关系型数据库通用连接池升级
- 多种格式数据输出
- 攻击Tomcat的多种姿势
- nodejs 中同步异步多种写法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Big Java Late Objects
Horstmann, Cay S. / 2012-2 / 896.00元
The introductory programming course is difficult. Many students fail to succeed or have trouble in the course because they don't understand the material and do not practice programming sufficiently. ......一起来看看 《Big Java Late Objects》 这本书的介绍吧!