Flask-SQLAlchemy -- 数据库学习报告

5人阅读 评论(0) 收藏 举报
分类:

Flask-SQLAlchemy – 数据库学习报告

实验环境

Ubuntu 16.04 LTS
Anaconda 5.1
python 3.6

什么是Flask

Flask是一个使用Python开发的“微型”Web框架,其“微型”的目的在于,保持一个“简单”并且“可扩展”的框架核心,为开发者提供一个选择自由的Web框架。基于此,开发者可以自由的选择数据库或模板引擎,为自己的Web应用做合适的选择。

什么是SQLAlchemy

SQLAlchemy是一个ORM(对象关系映射)。基于对目标数据库的原生SQL的抽象,它提供了与一长串数据库引擎的一致的API,其中包括MySQL,PostgreSQL,和SQLite。使得在你的模型和数据库间交换数据时,带来了便利,同时也简化了诸如换掉数据库引擎和迁移数据库模式等其他事情。

什么是Flask-SQLAlchemy

Flask-SQLAlchemy是一个Flask插件,使得在Flask中使用SQLAlchemy更为方便。它为SQLAlchemy设置了许多合理的配置,同时内置了一些session管理,这样就不用在应用代码里处理这种基础事务了。

安装 Flask-SQLAlchemy

pip install flask-sqlalchemy

数据库管理

1 配置数据库

首先初始化并配置Flask应用,然后用它来初始化SQLAlchemy数据库处理程序。为数据库配置使用一个instance文件夹,所以应该在初始化应用时加上instance_relative_config选项,然后调用app.config.from_pyfile

# myapp/__init__.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__, instance_relative_config=True)

app.config.from_object('config')
app.config.from_pyfile('config.py')

db = SQLAlchemy(app)

2 定义模型

ColumnIntegerStringModel和其他的SQLAlchemy类都可以通过由Flask-SQLAlchemy构造的db对象访问。例如,定义一个储存用户信息的模型。每个用户有一个ID和一个用户名。

# myapp/models.py
from . import db

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(80), unique=True)

    def __init__(self, username):
        self.username = username

    def __repr__(self):
        return '<User %r>' % self.username

3 数据库基本操作

  • 创建表

    from . import db
    db.create_all()
  • 删除表

    db.drop_all()
  • 创建行

    
    # create object
    
    user_Bob = User(username='Bob')
    
    # add object to session
    
    db.session.add(user_Bob)
    
    # commit session to insert object into database
    
    db.session.commit()
  • 删除行

    db.session.delete(user_Bob)
    session.commit()
  • 修改行

    user_Bob.username = 'Bobb'
    db.session.add(user_Bob)
    session.commit()
  • 查询行

    Bob = User.query.filter_by(username='Bob')

参考文献

  1. Flask之旅
  2. Flask-SQLAlchemy 快速入门
  3. flask文档学习笔记1-快速入门
查看评论

二:flask_sqlalchemy 对数据库进行基本操作

安装好flask及的基本开发环境后(之前一篇的博客里有说明),本篇开始将使用flask里常用的一些扩展组件编写一些测试代码,本篇主要列举写flask_sqlalchemy的演示案例 环境:win7,...
  • zyshappy
  • zyshappy
  • 2017-07-02 10:47:42
  • 2208

Flask-SQLAlchemy管理数据库

1、安装扩展库 (venv)$ pip install flask-sqlalchemy 2、hello.py #!/usr/bin/python # -*- coding: utf-8 -*-...
  • westenboy
  • westenboy
  • 2016-01-23 23:32:22
  • 1106

Flask-SQLAlchemy增删改查

使用Flask-SQLAlchemy创建模型与表的映射 模型需要继承自db.Model 属性必须写成 db.Column()的数据类型 数据类型 db.String 是varchar db.Text...
  • csdnjava2017
  • csdnjava2017
  • 2017-10-04 20:50:51
  • 1699

Flask-SQLAlchemy创建模型与表的映射

from flask import Flask from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__) app.config['SQL...
  • Co_zy
  • Co_zy
  • 2017-09-09 08:57:31
  • 363

flask之sqlalchemy_utils ChoiceType migrate迁移报错的解决方案:

models.py class Gender(db.Model): __tablename__ = 'gender' type_choices = ( (1, ...
  • qq_33733970
  • qq_33733970
  • 2018-01-13 15:04:41
  • 47

flask-sqlalchemy 数据基本操作--实例

1.创建User表,表的字段分别为名称,分数,分组 # -*- coding: utf-8 -*- import os from flask import Flask from flask_s...
  • claroja
  • claroja
  • 2017-12-04 11:26:21
  • 322

文档数据库的学习报告

文档数据库的学习报告   0 目录:        1 大数据环境下的背景        2传统关系数据库的瓶颈        3文档数据库的选择        4 什么是文档数据库  ...
  • xuanyoumeng
  • xuanyoumeng
  • 2015-01-20 23:26:12
  • 1257

数据库专周实习报告 我是计算机系的学生 这是专业实习

  • 2009年09月11日 12:51
  • 48KB
  • 下载

flask SQLAlchemy 数据库操作

数据库URL必须保存到Flask配置对象的SQLALCHEMY_DATABASE_URI键中。将SQLALCHEMY_COMMIT_ON_TEARDOWN键,将其设为True时,每次请求结束后都会自动...
  • chuan_yu_chuan
  • chuan_yu_chuan
  • 2016-12-28 11:27:01
  • 2770

win10下使用flask_sqlalchemy连接SQLServer

前提在config里应该填写: SQLALCHEMY_DATABASE_URI = "mssql+pyodbc://数据库登陆名:对应的密码@dsn_name"什么是dsn_name?见百科链接:点...
  • qq_33279781
  • qq_33279781
  • 2017-11-15 12:45:57
  • 533
    个人资料
    持之以恒
    等级:
    访问量: 1417
    积分: 243
    排名: 31万+