二:flask_sqlalchemy 对数据库进行基本操作
2017-07-02 10:47
561 查看
安装好flask及的基本开发环境后(之前一篇的博客里有说明),本篇开始将使用flask里常用的一些扩展组件编写一些测试代码,本篇主要列举写flask_sqlalchemy的演示案例
环境:win7,python2.7,flask,flask_sqlalchemy,mysql
IDE:pycharm
1、MysqlTool.py 主要是数据库连接的代码
2.MysqModel.py - ORM模型
3、创建表或者删除表
4、日入数据示列
5、修改数据示列
6、删除数据示列
7、查询数据示列
基本操作就到这里,更多的案例,可看官方API文档
环境:win7,python2.7,flask,flask_sqlalchemy,mysql
IDE:pycharm
1、MysqlTool.py 主要是数据库连接的代码
#!/usr/bin/python # -*- coding: UTF-8 -*- from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) #配置数据库地址 app.config['SQLALCHEMY_DATABASE_URI'] ='mysql://root:root123456@localhost/my_blog' #app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db' #该配置为True,则每次请求结束都会自动commit数据库的变动 app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] =True db = SQLAlchemy(app) #也可以db = SQLAlchemy() db.init_app(app)
2.MysqModel.py - ORM模型
from MysqlTool import db from flask_login import UserMixin #角色 class Role(db.Model): __tablename__ ='roles' id = db.Column(db.Integer,primary_key=True) role_name = db.Column(db.String(64),unique=True) users = db.relationship('User',backref = 'role') def __repr__(self): return '<Role %r>' % self.role_name #定义模型 Flask-SQLALchemy使用继承至db.Model的类来定义模型,如: class User(db.Model,UserMixin): __tablename__ = 'users' #每个属性定义一个字段 id = db.Column(db.Integer,primary_key=True) user_name = db.Column(db.String(64),unique=True) pass_word = db.Column(db.String(64)) email = db.Column(db.String(64)) phone = db.Column(db.String(64)) role_id = db.Column(db.Integer,db.ForeignKey('roles.id')) def __repr__(self): return '<User %r>' % self.user_name
3、创建表或者删除表
#创建数据库 db.create_all() #删除库 db.drop_all()
4、日入数据示列
from db.MysqlTool import db from db.MysqModel import User,Role #添加数据 admin_role = Role(role_name = 'Amdmin') mod_role = Role(role_name = 'Moderator') user_role = Role(role_name = 'User') user_john = User(user_name = 'john',role = admin_role) user_susan = User(user_name='susan', role=user_role) user_david = User(user_name='david', role=user_role) db.session.add_all([admin_role, mod_role, user_role, user_john, user_susan, user_david]) #提交事务 db.session.commit()
5、修改数据示列
from db.MysqlTool import db from db.MysqModel import User,Role #根据条件查询一行数据 admin_role = Role.query.filter_by(role_name = 'Amdmin').first() #修改数据- admin_role.role_name = 'Admin' db.session.add(admin_role) db.session.commit() print admin_role.role_name
6、删除数据示列
from db.MysqlTool import db from db.MysqModel import User,Role #根据条件查询一行数据 admin_role = Role.query.filter_by(role_name = 'Admin').first() #删除 db.session.delete(admin_role) db.session.commit()
7、查询数据示列
from db.MysqlTool import db from db.MysqModel import User,Role #带条件查询 user_role = Role.query.filter_by(role_name = 'User').first() #查询所有 print Role.query.all() print User.query.filter_by(role= user_role).all()
基本操作就到这里,更多的案例,可看官方API文档
相关文章推荐
- Flask中之数据库框架和模型类四:再述SQLAlchemy配置,表的操作和基本操作之增删改查
- flask-sqlalchemy基本操作数据库
- 【初识Oracle】③数据库对基本数据类型进行操作的函数
- Flask Sqlalchemy数据库操作例程
- MySQL基本操作3(对数据库表记录进行操作(修改))
- JDBC实现数据库的几种基本操作(查询,分页查询,根据关键字进行查询以及插入数据)
- flask sqlalchemy数据库操作
- sqlite数据库的基本操作基于FMDatabase(创建数据库,创建表,对标进行增,删,改,查)
- flask-sqlalchemy 数据基本操作
- 那些年我们学Flask-SQLAlchemy,实现数据库操作,分页等功能
- 利用SQL语句进行添加、删除、修改字段,表与字段的基本操作,数据库备份等
- 使用Java对数据库进行基本的查询和更新操作
- Flask入门之SQLAlchemy数据库连接操作(第15讲)
- flask-sqlalchemy 数据基本操作--实例
- 使用DDL,DML语言对数据库进行基本操作。
- python Flask-SQLAlchemy操作数据库
- Flask Web 开发 数据库操作 Sqlalchemy
- 使用SQLAlchemy对Firebird数据库进行操作
- Python使用Flask-SQLAlchemy连接数据库操作示例
- 通过JDBC进行数据库基本操作