flask-sqlalchemy 配置 mysql (转载的文章)
2024-08-23 06:18:32
一、当然是把必备的包给安装上才行:
Flask-SQLAlchemy
pip install flask-sqlalchemy
MySQL
windows下64位压缩包的安装方式可以参考:
http://blog.csdn.net/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、更新数据
最新文章
- MyBatis知多少(17)MyBatis和JDBC
- Hive 正则匹配函数 regexp_extract
- Ajax中的XMLHttpRequest对象详解
- netbeans中wicket插件对应的jQuery-ui版本
- Qt中gb2312/GBK的URL编解码函数
- STL容器是否是线程安全的
- [置顶] 如何在Windows 7 64位安装Python,并使用Matplotlib绘图
- spring事务的传播性的理解
- 【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信
- 【.NetCore】基于jenkins以及gitlab的持续编译及发布
- Adams命令
- vs2015官方下载链接
- Error[Pe020]: identifier ";FILE"; is undefined
- python 安装mysql报错
- [easyUI] autocomplete 简单自动完成以及ajax从服务器端完成
- istream不是std的成员
- C++ MFC棋牌类小游戏day4
- 发现一个animate的小应用
- 前端hash路由基本原理,及代码的基本实现
- Intellij IDEA导入web项目详解(解决访问的404)