心悦每周免做卡网站,电商网站功能列表,加盟店,网站程序设置主页面flask 和数据库的问题
pip install pymysql
pip install flask-sqlalchemy1.Flask连接Mysql 新建flask项目#xff0c;在app.py中编写 导入模块SQLAlchemy 创建SQLAlchemy实例对象#xff0c;命名为db#xff0c;将flask的实例对象app作为参数传给SQLAlchemy#xff0c;将…flask 和数据库的问题
pip install pymysql
pip install flask-sqlalchemy1.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] fmysqlpymysql://{USERNAME}:{PASSWORD}{HOSTNAME}:{PORT}/{DATABASE}?charsetutf8mb4使用数据库工具创建数据库并测试连接
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(hostapp.config[MYSQL_HOST],userapp.config[MYSQL_USER],passwordapp.config[MYSQL_PASSWORD],dbapp.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 Johnemail johnexample.com# 执行插入语句cursor.execute(INSERT INTO users (name, email) VALUES (%s, %s), (name, email))# 提交事务db.commit()return User created successfully更新数据
app.route(/update_user)
def update_user():id 1email janeexample.com# 执行更新语句cursor.execute(UPDATE users SET email %s WHERE id %s, (email, id))# 提交事务db.commit()return User updated successfully删除数据
app.route(/delete_user)
def delete_user():id 1# 执行删除语句cursor.execute(DELETE FROM users WHERE id %s, (id,))# 提交事务db.commit()return User deleted successfully在上述示例代码中我们使用了不同的SQL语句来执行插入、更新和删除操作。在执行这些操作后我们需要调用db.commit()方法来提交事务以确保数据的一致性。