pyodbc是一个用于Python的开源库,用于连接和操作多种数据库管理系统(DBMS),其中包括Microsoft SQL Server、Oracle、MySQL、PostgreSQL等。它提供了一个简单和统一的接口,使开发人员可以使用Python编程语言来访问和操作数据库。
以下是pyodbc的一些主要特点和功能:
-
数据库连接:pyodbc允许您建立与各种DBMS的数据库连接。通过提供合适的连接字符串,您可以连接到不同类型的数据库。
-
执行SQL语句:使用pyodbc,您可以执行各种SQL语句,如查询(SELECT)、插入(INSERT)、更新(UPDATE)和删除(DELETE)。您可以执行原始SQL语句或使用参数化查询来提高安全性和性能。
-
事务支持:pyodbc支持事务处理,您可以在事务中执行多个SQL操作,并在需要时进行提交或回滚。
-
结果获取:执行查询后,您可以使用pyodbc获取返回的结果集。您可以迭代结果集并访问每行的数据。
-
存储过程调用:pyodbc允许您调用数据库中的存储过程。您可以传递参数给存储过程,并处理返回的结果集。
-
数据类型转换:pyodbc提供了对常见数据库和Python数据类型之间的自动转换支持。它可以处理整数、字符串、日期、时间等各种数据类型之间的转换。
-
异常处理:pyodbc会引发适当的异常,以便您可以捕获和处理连接、执行和其他数据库操作中可能出现的错误。
总体而言,pyodbc是一个功能强大且灵活的库,使Python开发人员能够轻松地与各种数据库进行交互。它为数据库操作提供了简单、一致的接口,并且在使用不同的DBMS时保持了一致性,从而使开发人员能够更加专注于应用程序的开发。
-------------------------------------------
该示例程序将执行查询操作,插入一条新数据,更新数据,删除数据,并调用名为GetCustomerDetails
的存储过程来检索客户详细信息。您可以根据您的实际需求进行修改和扩展。请注意,您需要将
、
、
和
替换为实际的数据库连接信息。同样,您还需要根据您的数据库架构将查询语句、插入数据和存储过程调用进行相应的更改。
import pyodbc# 连接数据库conn = pyodbc.connect('DRIVER={SQL Server};SERVER=;DATABASE=;UID=;PWD=')# 创建游标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=;DATABASE=;UID=;PWD=')# 创建游标cursor = conn.cursor()# 执行查询操作cursor.execute("SELECT * FROM ")rows = cursor.fetchall()for row in rows: print(row)# 执行插入操作insert_query = "INSERT INTO (column1, column2) VALUES (?, ?)"values = ('value1', 'value2')cursor.execute(insert_query, values)conn.commit()# 执行更新操作update_query = "UPDATE SET column1 = ? WHERE column2 = ?"values = ('new_value', 'condition_value')cursor.execute(update_query, values)conn.commit()# 执行删除操作delete_query = "DELETE FROM WHERE column = ?"value = 'value_to_delete'cursor.execute(delete_query, value)conn.commit()# 调用存储过程stored_procedure = "EXEC ?, ?"param1 = 'param1_value'param2 = 'param2_value'cursor.execute(stored_procedure, (param1, param2))conn.commit()# 关闭游标和连接cursor.close()conn.close() import pyodbcconn = 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()
来源地址:https://blog.csdn.net/book_dw5189/article/details/131317372
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机利用python中pyodbc操作MSSQL数据库
后端开发2023-09-13python中的pymssql操作MSSQL数据库
后端开发2023-09-02使用Python操作MySql数据库和MsSql数据库
后端开发2024-04-02python中怎么利用sqlalchemy 操作数据库
后端开发2023-06-02python中怎么利用 mysqldb类库操作数据库
后端开发2023-06-02MSSQL转MySQL数据库的实际操作方式
后端开发2024-04-02利用python中pymysql操作MySQL数据库的新手指南
后端开发2024-04-02Android中怎么利用LitePal操作数据库
后端开发2023-05-30利用Python操作MongoDB数据库的详细指南
后端开发2022-06-24Node.js中怎么利用mongoose操作mongodb数据库
后端开发2024-04-02python操作数据库
后端开发2023-01-31Python中如何操作数据库
后端开发2024-04-02python数据库操作--数据库使用概述
后端开发2022-06-02用python操作mysql数据库(之“删除”操作)
后端开发2024-04-02用python操作mysql数据库(之“更新”操作)
后端开发2024-04-02python操作mysql数据库
后端开发2022-06-04python 操作MySQL数据库
后端开发2023-01-31Python——操作MySQL数据库
后端开发2023-09-15 咦!没有更多了?去看看其它编程学习网 内容吧