flask mysql sqlalchemy教程

1.建立models_base文件

连接数据库

import logging
import ast
import simplejson as json
import time
from flask_sqlalchemy import SQLAlchemy
from flask import Flask

from commons.entity import rds_mongo

app = Flask(__name__)

app.config[‘SQLALCHEMY_DATABASE_URI‘] = ‘mysql://root:[email protected]:3306/flask_demo‘

app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS‘] = True
db = SQLAlchemy(app)

logger = logging.getLogger("platform")

2.建立数据库

class UserInfo(DynamicDocument):
    # Columns

    __tablename__ = ‘userinfo‘

    uid = Column(String(64), primary_key=True)
    nick_name = Column(String(64))
    sex = Column(String(64))
    email = Column(String(64))
    device_id = Column(String(100))
    imei = Column(String(100))
    coin_balance = Column(Integer())  # 金币余额
    real_name = Column(String(100))  # 真名
    id_card = Column(String(100))  # 身份证号
    create_time = Column(String(100))  # 创建时间
    last_login_time = Column(String(100), nullable=True)  # 创建时间
    cash = Column(Float())  # # 现金账户
    other_column = Column(Text(), nullable=True)

    def __init__(self, coin_balance=0, lx_login=1, lj_login=1, *args, **kwargs):
        super(UserInfo, self).__init__(*args, **kwargs)
        self.uid = uid_value_decorator(random.randint(0, 9))
        self.coin_balance = coin_balance
        self.lx_login = lx_login  # 连续登陆的天数
        self.lj_login = lj_login  # 累计登陆的天数

3.常用字段类型

常用列选项

关系选项

4.基本查询

# 查询所有
def checkAll():
    user =UserInfo.query.all()
    print(user)

# 修改数据
def update(name, pwd):
    user = User.query.filter(User.name == name).first()
    if user is not None:
        user.thrust = pwd
        db.session.commit()
        print(‘修改 用户 %s ,密码为:%s‘ % (name, pwd))
    else:
        print(‘用户不存在‘)

# 删除数据
def delete(name, pwd):
    user = User.query.filter(User.name == name, User.thrust == pwd).first()
    if user is not None:
        db.session.delete(user)
        db.session.commit()
        print(‘删除 用户 %s ,密码为:%s‘ % (name, pwd))
    else:
        print(‘用户不存在,或密码不正确‘)

from models  import User
#添加数据
user=UserInfo(1,‘xiaoxiao‘,‘ss123‘)
user.save()
#按条件查询
result=User.query.filter(User.id>5).all()
result=User.query.filter(User.username==‘xiaoxiao‘).all() #返回结果为一个列表,列表内元素为User对象,all()为返回查询的所有结果,first()返回查询结果中的第一个
result=User.query.filter(User.username.startswith(‘x‘))  #starstwith以什么开头
#获取查询结果的总数量
count=User.query.filter(User.id>5).count()
#获取查询结果中指定的数据
result=User.query.filter(User.id>5).all()[1:3]  #查询结果以列表返回,所以可以根据列表的切片操作来获取对应数据

#多条件查询
#sqlalchemy内置了多条件查询方法 : and_(), or()_ ,not_()
result=User.query.filter(and_(User.id>5,User.username.startswith(‘x‘))) #查询id大于5并且用户名以x开头的
result=User.query.filter(or_(User.id>5,User.username.startswith(‘x‘))) #查询id大于5或者用户名以x开头的
result=User.query.filter(and_(User.username.startswith(‘x‘))) #查询用户名不是以x开头的

#修改
result=User.query.filter(User.username==‘xiaoxiao‘).all()[0]
result.password=‘000000‘
db.session.commit()

#删除
result=User.query.filter(User.username==‘xiaoxiao‘).all()[0]
db.session.delete(result)
db.session.commit()

原文地址:https://www.cnblogs.com/zhaoyingjie/p/12552024.html

时间: 2024-10-22 11:05:39

flask mysql sqlalchemy教程的相关文章

SQLAlchemy 教程 —— 基础入门篇

SQLAlchemy 教程 -- 基础入门篇 一.课程简介 1.1 实验内容 本课程带领大家使用 SQLAlchemy 连接 MySQL 数据库,创建一个博客应用所需要的数据表,并介绍了使用 SQLAlchemy 进行简单了 CURD 操作及使用 Faker 生成测试数据. 1.2课程知识点 学会用 SQLALchemy 连接数据库(MySQL, SQLite, PostgreSQL), 创建数据表: 掌握表数据之间一对一,一对多及多对多的关系并能转化为对应 SQLAlchemy 描述: 掌握使

bootstrap+flask+mysql编写查询页面

之前那篇文章是flask+redis的,如果用flask+mysql怎么实现呢? 创建数据库: CREATE DATABASE `web12306`  DEFAULT CHARACTER SET utf8; 创建表: CREATE TABLE `web12306` (   `user_email` varchar(100) NOT NULL DEFAULT '',   `user_pass` varchar(100) NOT NULL DEFAULT '',   `user_name` varc

Python+Flask+MysqL的web建设技术过程

前言 本人在一学期时间实现了Python+Flask+MysqL的web建设,页面具有简单的登录注册发布文章搜索文章等功能. 这篇文章总结了我最近一段时间的学习成果:使用Flask框架搭建一个web service,并在其中加上一些简单的css,js,html等.在本文中以实际的用户模块为例.之所以写这篇文章是因为想要总结自己一学期的学习成果并且与大家分享.由于是新手如有错漏请见谅. 一.使用工具 python3.5 实现此页面所有的static文件.templates文件与py文件 二.完成基

88、flask之SQLAlchemy

本篇导航: 介绍 使用 SQLAlchemy-Utils 一. 介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果. pip install sqlalchemy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 组成部分: Engine,框架的引擎 Connec

SpagoBI4.2汉化及配置Mysql数据库教程

SpagoBI4.2汉化及配置Mysql数据库教程 1.安装Mysql数据库 2.安装JDK并配置JAVA环境变量 3.下载SapagoBI4.2 allinone 安装包 4.解压缩SpagoBI安装包到E盘BI文件夹下 5.配置系统环境变量:CATALINA_HOME,路径为E:\BI\SpagoBI-Server-4.2-10042014 6.启动安装目录E:\BI\SpagoBI-Server-4.2-10042014\bin下的SpagoBIStartup.bat文件,当出现serve

21分钟 MySQL 入门教程 && mysql数据类型

转自:http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html#c1 http://www.cnblogs.com/zbseoag/archive/2013/03/19/2970004.html 21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据类型 五.使用MySQL数据库 登录

SQL Server 数据导入Mysql详细教程

SQL Server 数据导入Mysql详细教程 SQL Server数据库和Mysql 数据库都是关系型数据库,虽然很多数据库都对SQL语句进行了再开发和扩展,使得在不同的数据库中执行的方法或用法不一,但是 SQL Server,Mysql ,Access等都采用了SQL语言标准,不同的数据库中的数据是可以导入的.对于大数据的导入是有相当大的意义. 今天,我和大家一起分享一下,我用的便捷的"sql server 数据导入mysql 中的方法",希望能给大家的项目开发中"sq

MySQL 入门教程

MySQL的相关概念介绍 MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格: 表头(header): 每一列的名称; 列(row): 具有相同数据类型的数据的集合; 行(col): 每一行用来描述某个人/物的具体信息; 值(value): 行的具体信息, 每个值必须与该列的数据类型相同; 键(key):

MySQL安装教程

很多人觉得Oracle太大了,做一个小网站,没必要用到Oracle,所以大家就选择MySQL,因为它是一个开源的软件,所以大家用的比较多,但是对于第一次使用的人来说,能否把它安装成功至关重要. 下面博主就给大家安装这个MySQL,博主此时的版本是mysql-installer-commercial-5.6.18.0,这个是目前的最新版. 第一步:下载这个软件,地址http://www.mysql.com/downloads/ 下载需要账号,如果没有可以用邮箱申请一个. 第二步:下载完成以后的安装