一文教会你用Python连接并简单操作SQL Server数据库
本文将介绍如何使用Python连接并操作SQL Server数据库。具体来说,我们将使用pyodbc
库实现连接和数据查询操作。以下是步骤:
步骤1:安装相关的库
要使用pyodbc库,我们需要事先安装ODBC驱动程序和pyodbc库。这里我们以Windows系统为例,主要分为以下两部分:
1.1 安装ODBC驱动程序
ODBC驱动程序是用来连接不同类型的数据库的软件组件。因此,我们需要根据SQL Server版本和操作系统类型安装相应的ODBC驱动程序。
- 下载ODBC驱动程序(根据版本和操作系统类型选择对应的驱动程序,这里以SQL Server 2019和Windows系统为例):
SQL Server 2019 ODBC Driver:
https://docs.microsoft.com/zh-cn/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver15
- 安装下载的ODBC驱动程序。
1.2 安装pyodbc库
使用如下命令安装pyodbc库:
pip install pyodbc
步骤2:连接SQL Server数据库
使用pyodbc
库连接SQL Server数据库的代码示例:
import pyodbc
# 连接数据库
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=your_server_name;DATABASE=your_database_name;UID=your_username;PWD=your_password')
# 创建游标对象
cursor = cnxn.cursor()
# 查询
cursor.execute('SELECT * FROM your_table_name')
# 读取查询结果
for row in cursor.fetchall():
print(row)
# 关闭连接
cnxn.close()
在以上代码示例中,我们首先使用pyodbc
库中的connect()
函数建立与数据库的连接。具体来说,我们需要提供ODBC驱动程序名称、SQL Server实例名称(或IP地址)、数据库名称、用户名和密码等信息,以字符串的形式传递给connect()
函数。
接着,我们创建游标对象,并使用execute()
方法执行SQL查询。
最后,我们使用fetchall()
方法读取查询结果,并在控制台上打印出来。之后,我们关闭连接,释放资源。
步骤3:执行SQL查询操作
使用pyodbc
库执行SQL查询的代码示例:
import pyodbc
# 连接数据库
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=your_server_name;DATABASE=your_database_name;UID=your_username;PWD=your_password')
# 创建游标对象
cursor = cnxn.cursor()
# 查询
cursor.execute('SELECT * FROM your_table_name')
# 读取查询结果
for row in cursor.fetchall():
print(row)
# 关闭连接
cnxn.close()
在以上代码示例中,我们使用execute()
方法执行SQL查询,并使用fetchall()
方法读取查询结果。最后,我们打印出查询结果。这里我们查询的是your_table_name
表的所有记录。
另外,我们还可以使用execute()
方法执行其他类型的SQL操作,例如插入、更新和删除记录等。
例如,下面是使用execute()
方法插入一条记录的代码示例:
# 插入一条记录
cursor.execute("INSERT INTO your_table_name (column1, column2, column3) VALUES ('value1', 'value2', 'value3')")
# 提交更改
cnxn.commit()
需要注意的是,在执行插入、更新和删除操作时,需要使用commit()
方法提交更改。
示例说明
举个例子,假设我们有一个员工信息表employee_info
,其中包含员工编号、姓名、年龄和薪资等信息。我们可以使用如下代码查询该表中所有员工的信息:
import pyodbc
# 连接数据库
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=your_server_name;DATABASE=your_database_name;UID=your_username;PWD=your_password')
# 创建游标对象
cursor = cnxn.cursor()
# 查询
cursor.execute('SELECT * FROM employee_info')
# 读取查询结果
for row in cursor.fetchall():
print(row)
# 关闭连接
cnxn.close()
如果我们想要插入一条新的员工记录,可以使用如下代码:
import pyodbc
# 连接数据库
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=your_server_name;DATABASE=your_database_name;UID=your_username;PWD=your_password')
# 创建游标对象
cursor = cnxn.cursor()
# 插入一条记录
cursor.execute("INSERT INTO employee_info (id, name, age, salary) VALUES ('1001', '张三', 25, 5000)")
# 提交更改
cnxn.commit()
# 关闭连接
cnxn.close()
以上示例演示了如何使用Python连接并简单操作SQL Server数据库。读者可以根据实际需求学习使用。