在Python编程中,数据库操作是非常常见和必要的。Python中有多种数据库连接库,常见的有:MySQLdb,PyMySQL、psycopg2等。本文将介绍在Python中连接SQL Server数据库并进行数据操作,同时也会将连接部分进行封装,以便于代码的重用。
一、连接SQL Server数据库
在Python中连接SQL Server数据库需要使用`pyodbc`库,确保已经安装该库。我们需要先安装相应的ODBC驱动,然后使用dsenableroot命令来激活ODBC权限,以便程序可以连接到SQL Server。
具体步骤如下:
1. 安装Microsoft ODBC驱动,可以到[ODBC Driver for SQL Server下载页面](https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver15)进行下载,选择适合自己系统版本的下载链接,下载完成后进行安装。
2. Mac OS下,命令行启动ODBC Administrator:
`sudo /Applications/Utilities/ODBC\ Administrator.app/Contents/MacOS/ODBC\ Administrator`
3. 创建一个新的ODBC配置,需要提供以下信息([参考链接](https://medium.com/@bnprashanth819/windows-sql-server-odbc-driver-for-mac-sierra-high-sierra-and-mojave-a758ca026cf)):
- **Name:** 任意给一个名字。
- **Server:** 这里输入你的 SQL Server 的 IP 或主机名,例如:192.168.1.1 或 hostname111。
- **Port:** 数据库连接其应使用的端口号。
- **Username:** 数据库连接使用的用户名。
- **Password:** 数据库连接使用的密码。
- **Database:** 链接需要使用的数据库。
![](https://img-blog.csdn.net/20180505144702418)
4. 激活ODBC权限,输入以下命令:`sudo dsenableroot`,按照提示输入密码。
完成以上步骤后,我们便可以在Python代码中使用`pyodbc`库连接SQL Server了。
示例代码如下:
```python
import pyodbc
server = 'localhost'
database = 'test_db'
username = 'test_user'
password = 'test_password'
driver = '{ODBC Driver 17 for SQL Server}' # 根据ODBC配置进行修改
connection = pyodbc.connect(f"""
Driver={driver};
Server={server};
Database={database};
UID={username};
PWD={password};
""")
# 使用cursor进行操作
cursor = connection.cursor()
```
二、封装连接
为了避免在每个需要连接数据库操作的代码块中都要写上连接的代码,可以将其进行封装。这样,我们就只需要在其他地方调用封装好的函数即可完成连接操作。以下是一个简单的连接封装函数:
```python
def create_db_connection(server, database, username, password, driver='{ODBC Driver 17 for SQL Server}'):
"""
创建数据库连接
:param server: 数据库地址
:param database: 数据库名称
:param username: 用户名
:param password: 密码
:param driver: ODBC驱动(默认为SQL Server 17)
:return: 数据库连接对象
"""
connection = pyodbc.connect(f"""
Driver={driver};
Server={server};
Database={database};
UID={username};
PWD={password};
""")
return connection
```
在其他需要连接数据库的代码中,只需要调用该函数即可获取数据库连接对象:
```python
connection = create_db_connection('localhost', 'test_db', 'test_user', 'test_password')
```
三、进行数据库操作
在获取到数据库连接之后,我们就可以对数据库进行数据操作了。以下是对数据库中student表进行简单操作的示例代码:
```python
connection = create_db_connection('localhost', 'test_db', 'test_user', 'test_password')
cursor = connection.cursor()
# 插入数据
query = "insert into student (name, age, sex) values (?, ?, ?)"
params = ('Tom', 20, 'M')
cursor.execute(query, params)
connection.commit()
# 查询数据
query = "select * from student where sex=?"
params = ('M',)
cursor.execute(query, params)
for row in cursor:
print(row)
# 更新数据
query = "update student set age=? where name=?"
params = (21, 'Tom')
cursor.execute(query, params)
connection.commit()
# 删除数据
query = "delete from student where name=?"
params = ('Tom',)
cursor.execute(query, params)
connection.commit()
```
以上代码实现了往student表中插入数据、查询数据、更新数据和删除数据等操作。
除了以上示例中的操作,SQL Server数据库还支持其他各种SQL操作,例如根据条件进行查询、多表关联等等。根据业务需求,对数据库进行操作即可。
总结:
本文介绍了Python中连接SQL Server数据库的方法,并封装了连接代码,同时提供了一些示例代码实现对数据库的基本操作。使用pyodbc库连接SQL Server数据库,相比其他数据库操作库,是比较通用的方式,不仅仅支持Microsoft SQL Server,也支持其他数据库如MySQL等。有了以上的基础,可以进行更加复杂的数据库应用程序开发。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
财神通知要光临,寻找当今聪明勤奋第一人,我把你的资料报上去了,财神委员会已经研究盖章批准,你要赶快行动做好准备,大年初五高高兴兴迎财神。