Python 连接 SQL 数据库 -pyodbc

简介: 以下是如何在 Python 中使用 pyodbc 连接到 SQL 数据库的基本步骤和详解

@[TOC]
在 Windows、Linux 或 macOS 上使用 Python 连接到 SQL 数据库,有几个可用的 python SQL 模块。

  • Python SQL 模块 - pyodbc
  • Python SQL 模块 - pymssql

pyodbc 是一个 Python 模块,用于与支持 ODBC(Open Database Connectivity)接口的数据库进行交互。通过使用 pyodbc,Python 程序可以轻松地连接到诸如 SQL Server、MySQL、PostgreSQL 和许多其他关系型数据库管理系统。

使用 pyodbc 模块从 Python 代码连接到 SQL 数据库

配置用于 pyodbc Python 开发的开发环境

需要提前部署好开发环境,才能使用 pyodbc Python for SQL Server 开发应用程序。

  • 已经安装了Python 3
  • 主机操作系统已安装相应的 ODBC 驱动程序
    驱动程序可以与 SQL Server Native Client 并行安装。
    调用 msodbcsql.msi 时,默认仅安装客户端组件。 客户端组件是一些文件,它们支持运行通过驱动程序开发的应用程序。 要安装 SDK 组件,请在命令行中指定 ADDLOCAL=ALL。
msiexec /i msodbcsql.msi ADDLOCAL=ALL
  • 安装 pyodbc 包
    安装 pyodbc 包:
    pip install pyodbc
    
    使用 pip list 检查是否安装成功:
pip list

创建用于 pyodbc Python 开发的 SQL 数据库

使用 pyodbc 连接到 SQL

连接和查询数据

  1. 使用凭据连接到数据库。
  2. 创建名为 app.py 的新文件。
  3. 添加模块 docstring
    """
    Connects to a SQL database using pyodbc
    """
    

4.导入 pyodbc 包

import pyodbc

5.为连接凭据创建变量

SERVER = '<server-address>'
DATABASE = '<database-name>'
USERNAME = '<username>'
PASSWORD = '<password>'

6.使用字符串内插创建连接字符串变量

connectionString = f'DRIVER={
   {ODBC Driver 18 for SQL Server}};SERVER={SERVER};DATABASE={DATABASE};UID={USERNAME};PWD={PASSWORD}'

7.使用 pyodbc.connect 功能连接 SQL 数据库

conn = pyodbc.connect(connectionString)

8.使用 SQL 查询字符串执行查询

 SQL_QUERY = """
SELECT 
……
"""

9.使用 cursor.execute 从数据库查询中检索结果

cursor = conn.cursor()
cursor.execute(SQL_QUERY)

10.使用 cursor.close 和 connection.close 关闭游标和连接

cursor.close()
conn.close()

在实际应用中,还需要添加适当的错误处理机制,包括捕获数据库连接异常、执行语句时可能出现的错误以及处理事务(比如通过调用 commit() 提交更改或 rollback() 回滚事务)。

Python的语法简洁易懂,这使得连接和操作数据库变得非常直观。连接到数据库能够方便地从数据库中提取数据并进行处理、分析、可视化等操作。

Python是跨平台的,你可以在各种操作系统上连接和操作数据库,无需考虑操作系统差异。所以我们可以通过python连接到各种不同类型的SQL数据库,如SQLite、MySQL、PostgreSQL、Oracle等。来达成更加容易的数据分析、Web可视化应用操作。Python拥有庞大的社区,你可以轻松地找到许多有关数据库连接和操作的资源、教程和帮助。

目录
相关文章
|
7月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
861 7
|
SQL 自然语言处理 数据库
【Azure Developer】分享两段Python代码处理表格(CSV格式)数据 : 根据每列的内容生成SQL语句
本文介绍了使用Python Pandas处理数据收集任务中格式不统一的问题。针对两种情况:服务名对应多人拥有状态(1/0表示),以及服务名与人名重复列的情况,分别采用双层for循环和字典数据结构实现数据转换,最终生成Name对应的Services列表(逗号分隔)。此方法高效解决大量数据的人工处理难题,减少错误并提升效率。文中附带代码示例及执行结果截图,便于理解和实践。
329 5
|
8月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
940 77
|
8月前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
702 0
|
10月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
727 0
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
本文来自YashanDB官网,介绍如何处理Oracle客户端sql*plus中使用@@调用同级目录SQL脚本的场景。崖山数据库23.2.x.100已支持@@用法,但旧版本可通过Python脚本批量重写SQL文件,将@@替换为绝对路径。文章通过Oracle示例展示了具体用法,并提供Python脚本实现自动化处理,最后调整批处理脚本以适配YashanDB运行环境。
|
SQL Oracle 关系型数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
1094 0
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
926 3

推荐镜像

更多