以下是教你怎么用 Python 连接 SQL Server 的完整攻略:
准备工作
- 在 Windows 系统上安装 SQL Server 实例,并确保已创建一个数据库。
- 安装 SQL Server 的 Python 驱动程序 pyodbc。可以使用以下命令在命令行中安装:
shell
pip install pyodbc
- 打开 SQL Server 的 SQL Server Management Studio (SSMS),并将数据库的连接字符串记录下来。
连接 SQL Server 数据库
- 通过 pyodbc 包实现 Python 与 SQL Server 的连接。首先导入所需的模块。
python
import pyodbc
- 在 Python 中连接 SQL Server 数据库,需要使用 pyodbc 的
连接字符串
以及 相应的用户名
和密码
,如下:
```python
server = '
database = '
username = '
password = '
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server}; \
SERVER=' + server + '; \
DATABASE=' + database + '; \
UID=' + username + '; \
PWD=' + password + ';')
```
- 打印成功连接的消息,以确保已成功连接到数据库。
python
print("Successfully Connected to SQL Server Database!")
查询 SQL Server 数据库
- 创建游标,用于执行 SQL 语句。游标使 Python 能够向数据库发送查询请求,并从数据库中提取数据。
python
cursor = cnxn.cursor()
- 通过
execute
方法执行 SQL 语句。例如,以下代码将查询 person 表的所有记录,并将结果存储在 rows 变量中。
```python
cursor.execute("SELECT * FROM person")
rows = cursor.fetchall()
for row in rows:
print(row)
```
- 如果要插入或更新数据,则需要使用 SQL 语句
INSERT INTO
和UPDATE
。例如,以下代码将向 person 表插入新的记录。
python
cursor.execute('INSERT INTO person (Name, Age) VALUES (?, ?)', ('John Doe', 30))
cnxn.commit()
在此代码中,?
是参数占位符,可以使用元组传递多个参数。
示例
以下是两个查询 SQL Server 数据库的 Python 示例:
示例 1 :
import pyodbc
server = '<your_server>' # 服务器名称/IP
database = '<your_database>' # 数据库名称
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()
# 查询 person 表的所有记录
cursor.execute("SELECT * FROM person")
rows = cursor.fetchall()
for row in rows:
print(row)
示例 2 :
import pyodbc
server = '<your_server>' # 服务器名称/IP
database = '<your_database>' # 数据库名称
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()
# 向 person 表中插入新的记录
cursor.execute('INSERT INTO person (Name, Age) VALUES (?, ?)', ('John Doe', 30))
# 提交更改
cnxn.commit()
print("Data inserted successfully!")
希望这些信息能够对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你怎么用python连接sql server - Python技术站