flask-sqlalchemy 配置 mysql (转载的文章)

本文详细介绍如何使用Flask框架配合Flask-SQLAlchemy扩展连接MySQL数据库,包括安装必要的库、配置连接、定义数据模型及进行数据库的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、当然是把必备的包给安装上才行:

Flask-SQLAlchemy

pip install flask-sqlalchemy

MySQL 
windows下64位压缩包的安装方式可以参考: 
http://blog.youkuaiyun.com/werewolf_st/article/details/45932771 
还有就是直接去下载安装包即可

Flask-MySQLdb

pip install flask-mysqldb

二、配置flask-sqlalchemy连接MySQL数据库

from flask import Flask

from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] ='mysql://useword:password@127.0.0.1:3306/db_demo2?charset=utf8'

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True

这样,就配置成功了. 
SQLALCHEMY_DATABASE_URI 配置使用的数据库URL,而配置MySQL的URL格式为:

mysql://username:password@hostname/database

上边儿的配置是使用MySQL的默认用户,并且没有设置密码,然后连接到本地主机(localhost:3306); database是要使用的数据库名,在这个程序中我们指定使用test数据库。

三、定义模型,创建数据库表

from flask import Flask
from flask.ext.script import Manager
from flask.ext.sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@localhost:3306/test?charset=utf8mb4' app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True db = SQLAlchemy(app) manager = Manager(app) class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True) email = db.Column(db.String(320), unique=True) password = db.Column(db.String(32), nullable=False) def __repr__(self): return '<User %r>' % self.username if __name__ == '__main__': manager.run()

四、相关操作

     先将上边儿的代码保存到桌面,并命名为hello.py,然后,我们就在数据python shell中来完成相应的操作吧。

首先打开cmd执行命令:

python C:\Users\st\Desktop\hello.py shell

打开如下的python shell环境: 
这里写图片描述

接下来,我们就来看看如何操作MySQL数据库: 
在操作之前先将flask-sqlalchemy的类实例导入:(在上边儿的代码中,我们已经将sqlalchemy的类实例为db,所以我们执行以下操作将其导入: 
这里写图片描述

1、创建表 
这里写图片描述 
2、删除表

这里写代码片

3、插入数据 
这里写图片描述

4、查询数据 
(1)filter_by查询(精确查询): 
这里写图片描述’ 
(2)get(主键):(id一般为主键) 
这里写图片描述 
(3)filter查询(模糊查询): 
这里写图片描述 
(4)逻辑非查询: 
这里写图片描述 
或 
这里写图片描述 
(5)逻辑与 
这里写图片描述
(6)逻辑或 
这里写图片描述
(7)first()返回查询到的第一个对象 
这里写图片描述 
(8)all()返回查询到的所有对象 
这里写图片描述

5、删除数据 
这里写图片描述

6、更新数据 
这里写图片描述

转载于:https://www.cnblogs.com/hedianzhan/p/9639911.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值