Flask连接数据库使用原生sql
时间: 2023-09-18 09:10:43 浏览: 171
在 Flask 中连接数据库,我们可以使用 Flask-SQLAlchemy 或者原生的 SQL 语句。
如果使用原生的 SQL 语句,在 Flask 中有两种方式,一种是使用 Python 标准库提供的 sqlite3 模块,另一种是使用第三方库 pymysql(适用于 MySQL 数据库)。
以下是使用 sqlite3 模块连接数据库的示例:
```python
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
# 执行 SQL 语句
cursor.execute('SELECT * FROM users')
# 获取查询结果
result = cursor.fetchall()
# 关闭数据库连接
conn.close()
```
以下是使用 pymysql 模块连接 MySQL 数据库的示例:
```python
import pymysql
conn = pymysql.connect(
host='localhost',
user='root',
password='password',
db='test',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor
)
cursor = conn.cursor()
# 执行 SQL 语句
cursor.execute('SELECT * FROM users')
# 获取查询结果
result = cursor.fetchall()
# 关闭数据库连接
conn.close()
```
需要注意的是,使用原生的 SQL 语句需要手动创建数据库连接和游标对象,并且需要手动关闭数据库连接。同时,执行 SQL 语句的方式也需要手动拼接 SQL 语句和参数,容易出现 SQL 注入等问题。因此,推荐使用 Flask-SQLAlchemy 等 ORM 框架来连接数据库。
阅读全文