目录
- 数据库初始化
- 数据库连接
- 创建数据库表
- 添加用户
- 查询用户
- 更新用户
- 删除
在Flask中,很少会使用pymysql直接写原生SQL语句去操作数据库,更多的是通过SQLAichemy提供的ORM技术,类似于操作普通Python对象一样实现数据库的增删改查操作,而Flask-SQLAlchemy是需要单独安装的,因为Flask-SQLAlchemy依赖SQLAlchemy,所以只要安装了Flask-SQLAlchemy,SQLAlchemy会自动安装。
pip install flask-sqlalchemy
数据库初始化
在终端中输入
# 登录数据库
mysql -u root -p
# 创建数据库(支持中文)
CREATE DATABASE database_learn DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
数据库连接
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import text
app=Flask(__name__)
# 设置连接数据库的信息
HOSTNAME='127.0.0.1'
PORT=3306
USERNAME='root'
PASSWORD='123456'
DATABASE='database_learn'
# 设置连接数据库的URL
app.config['SQLALCHEMY_DATABASE_URI']=f'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4'
# 在app.config中设置好连接数据库的信息,然后使用SQLLichemy(app)创建一个db对象
# SQLAlchemy会自动读取app.config中连接数据库的信息
db=SQLAlchemy(app)
with app.app_context():
with db.engine.connect() as conn:
result=conn.execute(text("select 1"))
print(result.fetchone())
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(debug=True)
一个ORM模型与一个数据库中的一张表对应
创建数据库表
其实就是创建一个ORM模型,而且user表有属性是username和password
添加用户
查询用户
我刷新了两次add页面,所以有两个添加张三
更新用户
删除