一、安装必要的软件
要在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的一个基本实现。希望本文能够对你有所帮助。