您的位置:

Python连接SQL Server详解

一、安装必要的软件

要在Python中连接SQL Server,我们需要从Microsoft下载Python用的ODBC驱动程序和SQL Server Native Client。为了安装它们,我们可以遵循以下步骤:

1. 下载并安装ODBC驱动程序:https://www.microsoft.com/en-us/download/details.aspx?id=36434

2. 下载并安装SQL Server Native Client:https://www.microsoft.com/en-us/download/details.aspx?id=54284

3. 安装完毕后,你需要按照ODBC驱动程序的指导设置ODBC数据源。在Windows中,可以使用“ODBC数据源管理员”应用程序来设置数据源。

二、连接SQL Server数据库

一旦ODBC数据源被设置好,我们就可以在Python中使用pyodbc库来连接数据库了。可以使用以下代码来建立SQL Server连接:

import pyodbc 

server = 'your_server_name' 
database = 'your_database_name' 
username = 'your_username' 
password = 'your_password' 

cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+password)

其中“DRIVER”是ODBC驱动程序的名称,它应该与安装的驱动程序的名称相同。上面的代码构建了一个ODBC连接对象。如果连接字符串是有效的,则连接将被建立。

三、执行SQL查询

连接数据库后,我们可以使用cursor对象来执行SQL查询:

cursor = cnxn.cursor()
cursor.execute("SELECT * FROM your_table_name")

for row in cursor:
    print(row)

在执行游标的execute方法时,传入SQL语句。在这个例子中,我们使用SELECT语句检索数据表中的所有行,然后通过使用“for”循环来遍历游标,从而打印出所有行的内容。

四、插入数据到数据库

我们也可以使用游标对象插入新的数据到数据库中:

cursor.execute("INSERT INTO your_table_name (col1, col2, col3) VALUES (?, ?, ?)", value1, value2, value3)
cnxn.commit()

在执行游标的execute方法时,我们传入一个INSERT语句和要插入的值。需要注意的是,我们需要将占位符“?”用于变量,这可以防止SQL注入攻击。在插入完成后,我们需要使用commit()方法提交更改。

五、关闭数据库连接

为了保持与数据库的连接,我们需要显式地关闭游标和连接,使用如下代码:

cursor.close()
cnxn.close()

六、完整代码示例

以下是一个完整的代码示例,它包括从连接数据库,查询数据,并向数据库中插入数据的步骤:

import pyodbc 

server = 'your_server_name' 
database = 'your_database_name' 
username = 'your_username' 
password = 'your_password' 

cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+password)

cursor = cnxn.cursor()
cursor.execute("SELECT * FROM your_table_name")
for row in cursor:
    print(row)

insert_query = "INSERT INTO your_table_name (col1, col2) VALUES (?, ?)"
values_to_insert = ('value1', 'value2')
cursor.execute(insert_query, values_to_insert)
cnxn.commit()

cursor.close()
cnxn.close()

以上是Python连接SQL Server的一个基本实现。希望本文能够对你有所帮助。