Python 连接数据库的多种方法

栏目: 数据库 · SQL Server · 发布时间: 5年前

内容简介:Python是一种计算机程序设计语言,它是一种动态的、面向对象的脚本语言。它是一种跨平台的,可以运行在 Windows,Mac和 Linux/Unix系统上。在日常使用中需要对大量数据进行数据分析,那么就必然用到数据库,我们常用的数据库有 SQL Server , MySQL , Oracle , DB2 , SQLite ,Hive ,PostgreSQL , MongoDB还有其他常用的 Microsoft Access,Microsoft Excel等。

Python是一种计算机程序设计语言,它是一种动态的、面向对象的脚本语言。它是一种跨平台的,可以运行在 Windows,Mac和 Linux/Unix系统上。

Python 连接数据库的多种方法

在日常使用中需要对大量数据进行数据分析,那么就必然用到数据库,我们常用的数据库有 SQL Server , MySQL , Oracle , DB2 , SQLite ,Hive ,PostgreSQL , MongoDB还有其他常用的 Microsoft Access,Microsoft Excel等。

今天主要介绍比较常用的库,其中两个是:pyodbc 和 pymssql,他们可以连接多个常用数据库。

首先是需要安装Python, 根据操作系统选择对应平台的Pyhon版本,可以在官网下载。

Python 连接数据库的多种方法

然后就是安装 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)

Python 连接数据库的多种方法

第三,数据库中插入数据

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() 

Python 连接数据库的多种方法

第五,数据库中更新数据

cursor.execute("UPDATE test SET LoopName=FIQ1005 WHERE LoopName=FIQ1004) #使用SQL的UPDATE 语句更新数据

cnxn.commit()  
cnxn.close() 

注意:所有的SQL操作完成后需要关闭数据库连接

作者剑控老罗

具有10年工业自动化领域SCADA,DCS,PLC等项目实施经验,熟悉石化行业,油田数字化行业,熟悉多个品牌PLC,HMI,SCADA,数据库等。

Python 连接数据库的多种方法


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

即将到来的场景时代

即将到来的场景时代

罗伯特•斯考伯、谢尔•伊斯雷尔 / 赵乾坤 周宝曜 / 北京联合出版公司 / 2014-5-1 / 42

科技大神、全球科技创新领域最知名记者 罗伯特·斯考伯:“技术越了解你,就会为你提供越多好处!” 互联网的炒作点一个一个不停出现,大数据、3D打印、O2O等,无不宣扬要颠覆商业模式。但是,互联网进入移动时代,接下来到底会发生什么?移动互联网时代真正带来哪些改变?这具体会怎样影响我们每一个人的生活?商业真的会被颠覆?目前为止没有一本书给出答案。 《即将到来的场景时代》不是就一个炒作点大加谈......一起来看看 《即将到来的场景时代》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具