Flask-SQLAlchemy配置MySQL及其相关操作

来源:互联网 发布:3g4g软件开发 编辑:程序博客网 时间:2024/06/07 00:10
学习了Flask-SQLAlchemy下MySQL的配置和一些简单的使用,现在记录下来,供自己以及和我一样的初学者一个参考。

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

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 Flaskfrom flask.ext.sqlalchemy import SQLALchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@localhost:3306/test?charset=utf8mb4'app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True

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

mysql://username:password@hostname/database

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

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

from flask import Flaskfrom flask.ext.script import Managerfrom flask.ext.sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@localhost:3306/test?charset=utf8mb4'app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = Truedb = 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.usernameif __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、更新数据
这里写图片描述

总算整理完了…睡觉觉~~~

2 0