Python 连接 SQL Server

Python 连接 SQL Server

Python 连接 SQL Server

1. 介绍

SQL Server是一种关系型数据库管理系统(RDBMS),由Microsoft开发和维护。它广泛应用于企业级应用程序,提供了可靠的数据存储和管理解决方案。Python是一种功能强大的编程语言,提供了许多库和模块,可以用于连接并操作各种类型的数据库,包括SQL Server。

在本文中,我们将详细介绍如何使用Python连接到SQL Server数据库,执行SQL查询以及其他常见的数据库操作。我们将使用Python的pyodbc库来实现这些功能。

2. 安装 pyodbc

在开始之前,我们需要先安装pyodbc库。可以使用以下命令来安装它:

pip install pyodbc

3. 连接到 SQL Server

要连接到SQL Server数据库,我们首先需要获取数据库的连接字符串。这包括数据库的地址、用户名、密码和数据库名称等信息。下面是一个示例连接字符串:

connection_string = 'Driver={SQL Server};'
                    'Server=server_address;'
                    'Database=database_name;'
                    'UID=username;'
                    'PWD=password'

将上述连接字符串中的server_address替换为SQL Server实例的地址,database_name替换为要连接的数据库名称,usernamepassword替换为登录SQL Server的用户名和密码。

使用上述连接字符串,我们可以通过以下代码连接到SQL Server数据库:

import pyodbc

connection = pyodbc.connect(connection_string)

4. 执行 SQL 查询

一旦我们成功连接到SQL Server数据库,我们可以执行各种SQL查询。下面是一个简单的示例,查询 employees 表的所有数据:

import pyodbc

connection = pyodbc.connect(connection_string)
cursor = connection.cursor()

cursor.execute('SELECT * FROM employees')
data = cursor.fetchall()

for row in data:
    print(row)

connection.close()

在上述代码中,我们首先创建了一个cursor对象,这个对象用于执行SQL查询并获取结果。然后,我们使用execute方法执行SELECT * FROM employees查询,并使用fetchall方法获取所有查询结果。最后,我们使用一个循环遍历结果并打印每一行。

5. 插入数据

除了查询数据,我们还可以向SQL Server数据库插入新的数据。下面是一个示例,向 employees 表插入一条新记录:

import pyodbc

connection = pyodbc.connect(connection_string)
cursor = connection.cursor()

cursor.execute("INSERT INTO employees (name, age, salary) VALUES ('John Doe', 30, 5000)")

connection.commit()
connection.close()

在上述代码中,我们使用execute方法执行插入语句。然后,我们使用commit方法提交更改,并使用close方法关闭数据库连接。

6. 更新和删除数据

除了插入数据,我们还可以执行更新和删除等操作。下面是一个更新数据的示例,将 employees 表中 id 为1的记录的工资增加10%:

import pyodbc

connection = pyodbc.connect(connection_string)
cursor = connection.cursor()

cursor.execute("UPDATE employees SET salary = salary * 1.1 WHERE id = 1")

connection.commit()
connection.close()

在上述代码中,我们使用execute方法执行更新语句,将工资增加10%。然后,我们使用commit方法提交更改,并使用close方法关闭数据库连接。

同样的,我们也可以执行删除操作。下面是一个删除数据的示例,删除 employees 表中 id 为1的记录:

import pyodbc

connection = pyodbc.connect(connection_string)
cursor = connection.cursor()

cursor.execute("DELETE FROM employees WHERE id = 1")

connection.commit()
connection.close()

7. 错误处理

在连接和执行SQL查询时,可能会出现一些错误。为了更好地处理这些错误,我们可以使用try-except语句捕获并处理异常。下面是一个示例,演示如何处理连接错误:

import pyodbc

try:
    connection = pyodbc.connect(connection_string)
except pyodbc.Error as e:
    print(f'Error connecting to the database: {e}')
else:
    # 代码块,处理正常连接情况
    connection.close()

在上述代码中,我们使用try-except语句捕获连接错误。如果出现连接错误,我们将打印错误信息。否则,我们将在else代码块中处理正常连接情况,并使用close方法关闭数据库连接。

8. 总结

本文中,我们详细介绍了如何使用Python连接到SQL Server数据库。我们使用了pyodbc库来实现连接、执行SQL查询以及其他常见的数据库操作。通过学习本文,您应该能够在Python中轻松连接和操作SQL Server数据库。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程