flask学习之数据库操作一

数据库操作使用

sqlalchemy模块安装(需安装MySQL-python/python-devel)
pip install flask-sqlalchemy

目录结构

├── app
│   ├── __init__.py
│   └── models.py
├── config.py

配置环境

vim config.py
#coding:utf-8
SQLALCHEMY_DATABASE_URI = ‘mysql://mysqlTest:[email protected]/mysqlTest‘
SQLALCHEMY_TRACK_MODIFICATIONS = True    #python版本低报出警告
#初始化
vim app/__init__.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object(‘config‘)
db = SQLAlchemy(app)
from app import models
#定义表模型(举例用)
vim app/models.py
from app import db
class User(db.Model):
        id = db.Column(db.Integer,primary_key = True)
        nickname = db.Column(db.String(64),index=True,unique = True)
        email = db.Column(db.String(120),index=True,unique = True)
        def __repr__(self):
                return ‘<User %r>‘ % (self.nickname)

shell模式下使用介绍

#创建数据模型/删除数据模型
>>> from app import db
>>> from app.models import User    #导入User模型
>>> db.create_all()            #创建数据库模型
>>> db.drop_all()
>>> db.create_all()
#添加数据
#单条数据的提交方式
>>> name_admin = User(nickname=‘admin‘,email=‘[email protected]‘) #赋值数据   
>>> db.session.add(name_admin)    #添加数据
>>> db.session.commit()    #提交数据
#多条数据的提交方式
>>> name_user1 = User(nickname=‘user1‘,email=‘[email protected]‘)
>>> name_user2 = User(nickname=‘user2‘,email=‘[email protected]‘)
>>> db.session.add_all([name_user1,name_user2])    #提交的是一个列表
>>> db.session.commit()
mysql> select * from user;
+----+----------+-----------------+
| id | nickname | email           |
+----+----------+-----------------+
|  1 | admin    | [email protected] |
|  2 | user1    | [email protected] |
|  3 | user2    | [email protected] |
+----+----------+-----------------+

查询数据

#查询所有数据
all=User.query.all()
#过滤查询(filter_by()),查询nickname=user1的行
>>> user1 = User.query.filter_by(id=2).first() 
>>> user2 = User.query.filter_by(id=3).first()
>>> user1
<User u‘user1‘>
>>> user2
<User u‘user2‘>
#查询该行数据的各个字段,查看nickname字段的值
>>> user1.nickname
u‘user1‘
>>> user2.nickname
u‘user2‘
#结果显示限制(limit()),显示两条查询结果
>>> result = User.query.limit(2).all()
>>> result
[<User u‘admin‘>, <User u‘user001‘>]

修改数据

#修改数据,修改对应字段的值后直接提交即可
#修改use1的nickname字段的值为user001
user1.nickname = ‘user001‘
db.session.add(user1)
db.session.commit()
删除数据
db.session.delete(user1)
db.session.commit()
#常见查询过滤器
filter() 把过滤器添加到原查询上,返回一个新查询
filter_by() 把等值过滤器添加到原查询上,返回一个新查询
limit() 使用指定的值限制原查询返回的结果数量,返回一个新查询
offset() 偏移原查询返回的结果,返回一个新查询
order_by() 根据指定条件对原查询结果进行排序,返回一个新查询
group_by() 根据指定条件对原查询结果进行分组,返回一个新查询
#常见查询执行函数
all() 以列表形式返回查询的所有结果
first() 返回查询的第一个结果,如果没有结果,则返回 None
first_or_404() 返回查询的第一个结果,如果没有结果,则终止请求,返回 404 错误响应
get() 返回指定主键对应的行,如果没有对应的行,则返回 None
get_or_404() 返回指定主键对应的行,如果没找到指定的主键,则终止请求,返回 404 错误响应
count() 返回查询结果的数量
paginate() 返回一个 Paginate 对象,它包含指定范围内的结果
时间: 2024-10-16 16:22:53

flask学习之数据库操作一的相关文章

PHP学习之-数据库操作

PHP学习之-数据库操作 1.PHP支持那些数据库 PHP通过安装相应的扩展来实现数据库操作,现代应用程序的设计离不开数据库的应用,当前主流的数据库有MsSQL,MySQL,Sybase,Db2,Oracle,PostgreSQL,Access等,这些数据库PHP都能够安装扩展来支持,一般情况下常说的LAMP架构指的是:Linux.Apache.Mysql.PHP,因此Mysql数据库在PHP中的应用非常广泛,我们会在本章中简单的了解Mysql的操作方法.

Python框架学习之Flask中的数据库操作

数据库操作在web开发中扮演着一个很重要的角色,网站中很多重要的信息都需要保存到数据库中.如用户名.密码等等其他信息.Django框架是一个基于MVT思想的框架,也就是说他本身就已经封装了Model类,可以在文件中直接继承过来.但是在Flask中,并没有把Model类封装好,需要使用一个扩展包,Flask-SQLAlchemy.它是一个对数据库的抽象,让开发者不用这些编写SQL语句,而是使用其提供的接口去操作数据库,这其中涉及到一个非常重要的思想:ORM什么是ORM呢?下面我们就来详细讲解一下.

flask学习笔记(-数据库)

Python 数据库框架 大多数的数据库引擎都有对应的 Python 包,包括开源包和商业包.Flask 并不限制你使用何种类型的数据库包,因此可以根据自己的喜好选择使用 MySQL.Postgres.SQLite.Redis.MongoDB 或者 CouchDB. 如果这些都无法满足需求,还有一些数据库抽象层代码包供选择,例如SQLAlchemy和MongoEngine.你可以使用这些抽象包直接处理高等级的 Python 对象,而不用处理如表.文档或查询语言此类的数据库实体. 选择数据库框架的

Qt 学习:数据库操作

Qt 提供了 QtSql 模块来提供平台独立的基于 SQL 的数据库操作.这里我们所说的“平台独立”,既包括操作系统平台,有包括各个数据库平台.另外,我们强调了“基于 SQL”,因为 NoSQL 数据库至今没有一个通用查询方法,所以不可能提供一种通用的 NoSQL 数据库的操作.Qt 的数据库操作还可以很方便的与 model/view 架构进行整合.通常来说,我们对数据库的操作更多地在于对数据库表的操作,而这正是 model/view 架构的长项. Qt 使用QSqlDatabase表示一个数据

Flask学习之三 数据库

英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-database 中文翻译地址:http://www.pythondoc.com/flask-mega-tutorial/database.html 开源中国社区:www.oschina.net/translate/the-flask-mega-tutorial-part-iv-database 一.Flask中的数据库 教程:将使用 Flask-

PHP学习之数据库操作

PHP数据库操作: 一.连接数据库 mysql_connect() 例:$link=mysql_connent("localhost","root","root"); 二.选择数据库 mysql_select_db() 连接到数据库后,php会默认选择一个数据库,但是这个数据库不一定是我们所需要的数据库,所以还要自己选择连接的数据库. 例:mysql_select_db("test",$link); 三.执行SQL语句 mys

python学习之数据库操作

一.数据库基本操作 数据库操作: 查看存储引擎: show engines; 查看数据库: show databases; 或者show create database oldboy\G 创建数据库: create database oldboy default charset=utf8; 删除数据库: drop database oldboy; 进入数据库:  use oldboy; 数据表操作: 创建数据表: create table tb_emp1 (     -> id int(11),

spring框架学习之--数据库操作增删改查

基于spring的NamedParameterJdbcTemplate操作数据库 首先在 resources 文件夹下添加数据库配置文件jdbc.properties 配置常用的数据库信息 1 consult.jdbc.driverClassName=com.mysql.jdbc.Driver 2 consult.jdbc.url=jdbc:mysql://xxxxxxxx:3307/consult_summer?useUnicode=true&characterEncoding=utf-8&am

MongoDB学习笔记——数据库操作

使用use数据库名称来创建数据库,如果该数据库已经存在则返回这个数据库 语句格式:use DATABASE_NAME >use mynewdb switched to db mynewdb 使用?db名称可以检查当前使用的数据库 > db mynewdb 使用命令?show dbs?来检查数据库列表. > show dbs GnyMongo 0.078GB GnyWorkFlowDemo 0.078GB LogInfo 0.078GB ...... 刚创建的数据库mynewdb?没有出现