【星海出品】flask 数据库问题

编程入门 行业动态 更新时间:2024-10-25 11:34:57

【<a href=https://www.elefans.com/category/jswz/34/1625159.html style=星海出品】flask 数据库问题"/>

【星海出品】flask 数据库问题

flask 和数据库的问题

pip install pymysql
pip install flask-sqlalchemy

1.Flask连接Mysql
新建flask项目,在app.py中编写
导入模块SQLAlchemy
创建SQLAlchemy实例对象,命名为db,将flask的实例对象app作为参数传给SQLAlchemy,将db和app联系起来,可以调用其相关功能

from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)

配置数据库相关参数

# MySQL所在主机名,默认127.0.0.1
HOSTNAME = "127.0.0.1"
# MySQL监听的端口号,默认3306
PORT = 3306
# 连接MySQL的用户名,自己设置
USERNAME = "root"
# 连接MySQL的密码,自己设置
PASSWORD = "root"
# MySQL上创建的数据库名称
DATABASE = "database_learn"
# 通过修改以下代码来操作不同的SQL比写原生SQL简单很多 --》通过ORM可以实现从底层更改使用的SQL
app.config['SQLALCHEMY_DATABASE_URI'] = f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4"

使用数据库工具创建数据库并测试连接

with app.app_context():with db.engine.connect() as conn:result = conn.execute("select 1")print(result.fetchone())
from flask import Flask
import pymysqlapp = Flask(__name__)# 配置数据库连接信息
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'username'
app.config['MYSQL_PASSWORD'] = 'password'
app.config['MYSQL_DB'] = 'database_name'# 创建数据库连接
db = pymysql.connect(host=app.config['MYSQL_HOST'],user=app.config['MYSQL_USER'],password=app.config['MYSQL_PASSWORD'],db=app.config['MYSQL_DB']
)# 创建数据库游标
cursor = db.cursor()@app.route('/')
def index():# 执行查询语句cursor.execute("SELECT * FROM users")result = cursor.fetchall()# 处理查询结果users = []for row in result:user = {'id': row[0],'name': row[1],'email': row[2]}users.append(user)# 返回结果return str(users)if __name__ == '__main__':app.run()

插入语句

@app.route('/create_user')
def create_user():name = 'John'email = 'john@example'# 执行插入语句cursor.execute("INSERT INTO users (name, email) VALUES (%s, %s)", (name, email))# 提交事务dbmit()return 'User created successfully'

更新数据

@app.route('/update_user')
def update_user():id = 1email = 'jane@example'# 执行更新语句cursor.execute("UPDATE users SET email = %s WHERE id = %s", (email, id))# 提交事务dbmit()return 'User updated successfully'

删除数据

@app.route('/delete_user')
def delete_user():id = 1# 执行删除语句cursor.execute("DELETE FROM users WHERE id = %s", (id,))# 提交事务dbmit()return 'User deleted successfully'

在上述示例代码中,我们使用了不同的SQL语句来执行插入、更新和删除操作。在执行这些操作后,我们需要调用dbmit()方法来提交事务,以确保数据的一致性。

更多推荐

【星海出品】flask 数据库问题

本文发布于:2023-11-15 15:55:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1602337.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:星海   出品   数据库   flask

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!