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系统上。

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 连接数据库的多种方法


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

查看所有标签

猜你喜欢:

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

Big Java Late Objects

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》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试