利用python中pyodbc操作MSSQL数据库

这篇具有很好参考价值的文章主要介绍了利用python中pyodbc操作MSSQL数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pyodbc是一个用于Python的开源库,用于连接和操作多种数据库管理系统(DBMS),其中包括Microsoft SQL Server、Oracle、MySQL、PostgreSQL等。它提供了一个简单和统一的接口,使开发人员可以使用Python编程语言来访问和操作数据库。

以下是pyodbc的一些主要特点和功能:

  1. 数据库连接:pyodbc允许您建立与各种DBMS的数据库连接。通过提供合适的连接字符串,您可以连接到不同类型的数据库。

  2. 执行SQL语句:使用pyodbc,您可以执行各种SQL语句,如查询(SELECT)、插入(INSERT)、更新(UPDATE)和删除(DELETE)。您可以执行原始SQL语句或使用参数化查询来提高安全性和性能。

  3. 事务支持:pyodbc支持事务处理,您可以在事务中执行多个SQL操作,并在需要时进行提交或回滚。

  4. 结果获取:执行查询后,您可以使用pyodbc获取返回的结果集。您可以迭代结果集并访问每行的数据。

  5. 存储过程调用:pyodbc允许您调用数据库中的存储过程。您可以传递参数给存储过程,并处理返回的结果集。

  6. 数据类型转换:pyodbc提供了对常见数据库和Python数据类型之间的自动转换支持。它可以处理整数、字符串、日期、时间等各种数据类型之间的转换。

  7. 异常处理:pyodbc会引发适当的异常,以便您可以捕获和处理连接、执行和其他数据库操作中可能出现的错误。

总体而言,pyodbc是一个功能强大且灵活的库,使Python开发人员能够轻松地与各种数据库进行交互。它为数据库操作提供了简单、一致的接口,并且在使用不同的DBMS时保持了一致性,从而使开发人员能够更加专注于应用程序的开发。

-------------------------------------------

该示例程序将执行查询操作,插入一条新数据,更新数据,删除数据,并调用名为GetCustomerDetails的存储过程来检索客户详细信息。您可以根据您的实际需求进行修改和扩展。请注意,您需要将<server_name><database_name><username><password>替换为实际的数据库连接信息。同样,您还需要根据您的数据库架构将查询语句、插入数据和存储过程调用进行相应的更改。文章来源地址https://www.toymoban.com/news/detail-704012.html

import pyodbc

# 连接数据库
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=<server_name>;DATABASE=<database_name>;UID=<username>;PWD=<password>')

# 创建游标
cursor = conn.cursor()

# 执行查询操作
def select_data():
    cursor.execute("SELECT * FROM Customers")
    rows = cursor.fetchall()
    for row in rows:
        print(row)

# 执行插入操作
def insert_data():
    insert_query = "INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) VALUES (?, ?, ?, ?, ?, ?)"
    values = ('John Doe', 'John', '123 Main St', 'New York', '10001', 'USA')
    cursor.execute(insert_query, values)
    conn.commit()
    print("Data inserted successfully.")

# 执行更新操作
def update_data():
    update_query = "UPDATE Customers SET City = ? WHERE CustomerID = ?"
    values = ('Los Angeles', 1)
    cursor.execute(update_query, values)
    conn.commit()
    print("Data updated successfully.")

# 执行删除操作
def delete_data():
    delete_query = "DELETE FROM Customers WHERE CustomerID = ?"
    value = 2
    cursor.execute(delete_query, value)
    conn.commit()
    print("Data deleted successfully.")

# 调用存储过程
def call_stored_procedure():
    stored_procedure = "{CALL GetCustomerDetails(?)}"
    customer_id = 1
    params = (customer_id,)
    cursor.execute(stored_procedure, params)
    rows = cursor.fetchall()
    for row in rows:
        print(row)

# 执行示例操作
select_data()
insert_data()
update_data()
delete_data()
call_stored_procedure()

# 关闭游标和连接
cursor.close()
conn.close()
import pyodbc

# 连接数据库
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=<server_name>;DATABASE=<database_name>;UID=<username>;PWD=<password>')

# 创建游标
cursor = conn.cursor()

# 执行查询操作
cursor.execute("SELECT * FROM <table_name>")
rows = cursor.fetchall()
for row in rows:
    print(row)

# 执行插入操作
insert_query = "INSERT INTO <table_name> (column1, column2) VALUES (?, ?)"
values = ('value1', 'value2')
cursor.execute(insert_query, values)
conn.commit()

# 执行更新操作
update_query = "UPDATE <table_name> SET column1 = ? WHERE column2 = ?"
values = ('new_value', 'condition_value')
cursor.execute(update_query, values)
conn.commit()

# 执行删除操作
delete_query = "DELETE FROM <table_name> WHERE column = ?"
value = 'value_to_delete'
cursor.execute(delete_query, value)
conn.commit()

# 调用存储过程
stored_procedure = "EXEC <stored_procedure_name> ?, ?"
param1 = 'param1_value'
param2 = 'param2_value'
cursor.execute(stored_procedure, (param1, param2))
conn.commit()

# 关闭游标和连接
cursor.close()
conn.close()
import pyodbc
conn = pyodbc.connect('DSN=sql2016')
 
# pyodbc.connect  连接数据库
# xxx.cursor()	创建游标
# cursor.execute()	所有的SQL语句运行
# cursor.rowcount 获取SQL语句执行的条数
# cursor.commit()	提交数据
# cursor.close()	关闭游标
# connect.close()	断开连接
print('-------------1----------------')
sql1= r"SELECT * FROM Customers"
cursor = conn.cursor()
cursor.execute(sql1)
# rows=cursor.fetchall() #将返回所有结果,返回二维元组,如((‘a’,‘b’),(‘a2’,b2’)),
# for row in rows[0:10]:
#    print("CustomerId: %-6s CustomerName: %-10s Email: %-20s" % (row[0], row[1],row[2])) 
# print('-----------2----------------')
row = cursor.fetchone()  #依次取得下一条结果,直到为空
while row: 
   #print(row[0],row[1],row[2])
    print("CustomerId: %-6s CustomerName: %-10s Email: %-20s" % (row[0], row[1],row[2]))  
    row = cursor.fetchone()

print('------------3-----------------')

# import pandas as pd  # 导入pandas库
# sql2 = r"SELECT * FROM Customers"
# data = pd.read_sql(sql=sql2,con=conn,coerce_float=True)
# print(data[0:10])
cursor.close()
conn.close()

到了这里,关于利用python中pyodbc操作MSSQL数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用Python操作Mysql数据库

    我们在进行Python编程的时候,时常要将一些数据保存起来,其中最方便的莫过于保存在文本文件了。但是如果保存的文件太大,用文本文件就不太现实了,毕竟打开都是个问题,这个时候我们需要用到数据库。提到数据库,相信大部分人都不会陌生,今天我们要学的就是数据

    2023年04月24日
    浏览(33)
  • Python:利用pymssql模块操作SQL server数据库

    python默认的数据库是 SQLlite,不过它对MySql以及SQL server的支持也可以。这篇文章,介绍下如何在Windows下安装pymssql库并进行连接使用。。。 环境:Windows_64位 版本:python3.6 一、简单介绍 pymssql是一个python的数据库接口,基于FreeTDS构建,对_mssql模块进行了封装,遵循python的DBAP

    2024年02月12日
    浏览(46)
  • 在Python中利用内置SQLite3模块进行数据库操作的完整指南

      在Python中,使用SQLite非常方便,Python内置了 SQLite3 模块,无需额外安装。SQLite 是一个轻量级的嵌入式数据库,适用于小型项目和单用户应用。以下是一个简单的示例,演示如何在 Python 中使用 SQLite,并提供了常见的查询、增加、修改和删除功能。 首先,确保你的 Python 安装

    2024年02月03日
    浏览(59)
  • 如何利用Python中的pymysql库来操作Mysql数据库,看这篇就够啦~

     为了使python连接上数据库,你需要一个驱动,这个驱动是用于与数据库交互的库,本文是向大家介绍了如何利用python中的pymysql库来操作mysql数据库。 1、什么是pymysql? pymysql是从python连接到mysql数据库服务器的接口, 简单理解就是,pymysql是python操作mysql数据库的三方模块,可

    2024年02月06日
    浏览(55)
  • MSSQL数据库基础

    MSSQL中自带数据库信息 库名 功能 Master 系统控制数据库 Model 模板数据库,数据库时建立所有数据库的模板。 Tempdb 临时容器,保存所有的临时表,存储过程和其他程序交互的临时文件 Msdb 主要为用户使用,记录着计划信息、事件处理信息、数据备份、警告以及异常信息 MSSQL

    2024年02月12日
    浏览(43)
  • mssql数据库基本信息查询

    –查询数据库 select * from sys.sysdatabases where name not in (‘master’,‘tempdb’,‘model’,‘msdb’); –查询数据库中的表 select * from sysobjects where type=‘u’ ; – select * from sys.tables; –查询数据库中的对象类型 select distinct type from sysobjects; 共有以下类型 –查询某表对应的列信息 select *

    2023年04月09日
    浏览(54)
  • MSsql数据库 sql注入

    和mysql不同;每个数据库都有自己的信息总结表 四个系统数据库 master sysdatabases :所有数据库信息 name :所有数据库名 sysobjects :数据库所有对象的信息 syscolumns :字段信息 固定字段名 name 对象名 id 对象id xtype 对象类型代码 xtype=\\\'U\\\' 用户创建的表 xtype=\\\'S\\\' 系统表 model sysobjects sys

    2024年04月10日
    浏览(47)
  • MSSQL内置数据库角色及访问权限设置

    MSSQL数据库内置数据库角色 在MSSQL数据库中,有一些内置的数据库角色,这些角色具有特定的权限和功能。以下是常见的内置角色: sysadmin :sysadmin是服务器级别的角色,拥有最高权限。sysadmin可以执行服务器上的任何操作,包括创建、修改和删除数据库、登录和安全设置等。

    2024年02月13日
    浏览(47)
  • pyodbc读取.mdb文件时出现[ODBC Microsoft Access Driver] 网络访问已中断。请关闭数据库.....解决方法

    在使用pyodbc读取.mdb文件时出现下面的错误 : ODBC Microsoft Access Driver] 网络访问已中断。若要继续,请关闭数据库,然后再将其打开。 (-1022) (SQLDriverConnect) 网上找了很多方法,最后通过下面的方法解决了,就是 安装64位的ODBC 驱动器 。 1.安装驱动: 下载地址: https://www.microsof

    2024年02月12日
    浏览(53)
  • 艰难的起步---微信小程序访问MSSQL数据库实例

    一直做单机版应用程序开发,这不客户都需要手机端的小程序嘛!眼看着客户要纷纷“掉粉”,急了!必须马上学起!起步的确有点难,好在掉了些头发(摸摸还好)突破了通路,高兴之余写下来,希望能够帮到大家(瞧瞧这大局观~~~哈哈)。 微信小程序的创建就不赘述了,

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包