• python3-flask-4操作mysql-flask_sqlalchemy


    • 安装对应模块
    pip3 install flask-sqlalchemy mysql-connector
    
    • 安装mysql

    详见: mysql安装方式

    mysql配置项 信息
    IP 127.0.0.1
    port 3306
    user root
    password 123456
    databases flask_test
    tables user_info

    user_infouser_id,user_name

    • 示例脚本

    vim flask_mysql.py

    #!/usr/bin/env python3
    # -*- coding:utf-8 -*-
    # python_version : python 3.7
    # Author : taoyx
    # Email : taoyx@taoyx.cc
     
     
    import uuid
    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
     
    def uuid_demo():
        uuid_4 = uuid.uuid4()
        uuid_id = ''.join(str(uuid_4).split('-'))
        return uuid_id
     
    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] ='mysql+mysqlconnector://root:123456@127.0.0.1:3306/flask_test?charset=utf8'
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
     
    db = SQLAlchemy(app)
     
    class user_info(db.Model):
        __tablename__ = 'user_info'
        user_id = db.Column('user_id', db.Integer, primary_key=True, unique=True, nullable=True)
        user_name = db.Column(db.String(255), unique=True, nullable=True)
     
        def __init__(self, user_id, user_name):
            self.user_id = user_id
            self.user_name = user_name
     
        def __repr__(self):
            return "{'user_id':'%s', 'user_name':'%s'}" % (self.user_id, self.user_name)
     
     
    # 插入新数据
    add_user = user_info(uuid_demo(), 'xiaoming')
    db.session.add(add_user)
    db.session.commit()
     
    # 查询全部数据,并按照`user_name`列倒序查询
    #xa = db.session.query(user_info).all()
    xa = user_info.query.order_by(user_info.user_name.desc()).all()
     
    print(xa)
     
    # 查询指定数据,并按照`user_name`列倒序查询,并从第2条开始,查询共计5条数据
    #x = db.session.query(user_info).filter(getattr(user_info, 'user_name') == 'xiaoming').with_entities(user_info.user_id, user_info.user_name).first()
    #x = db.session.query(user_info).filter(user_info.user_name == 'xiaoming').first()
    x = host_info.query.filter(user_info.user_name == 'xiaoming').order_by(user_info.user_name.desc()).offset(2).limit(5).all()
    print(x)
     
    # 查询模糊数据,并按照`user_name`列倒序查询,并从第2条开始,查询共计5条数据
    # 与'like'相比,'ilike'忽略大小写
    #x = db.session.query(user_info).filter(user_info.user_name == 'xiaoming').first()
    x = host_info.query.filter(user_info.user_name.ilike('xiao%')).order_by(user_info.user_name.desc()).offset(2).limit(5).all()
    print(x)
     
    # 更新数据
    #updata_user = db.session.query.filter(user_info.user_name == 'xiaoming').first()
    updata_user = host_info.query.filter(user_info.user_name == 'xiaoming').first()
    updata_user.user_name = 'xiaohong'
    db.session.commit()
     
    # 删除数据
    del_user = host_info.query.filter(user_info.user_name == 'xiaohong').all()
    db.session.delete(del_user)
    db.session.commit()
    
  • 相关阅读:
    Ajax函数
    javascript 重定向和打开新窗口(ZZ)
    asp.net 学习
    dojo杂谈
    Deciding between COALESCE and ISNULL in SQL Server
    从 Twitter 运维技术经验可以学到什么
    重新安装ASP.NET命令
    SQL Server 2008中新增的变更数据捕获(CDC)和更改跟踪
    SQL Server 2005/2008/2012中应用分布式分区视图
    数据库运维原则
  • 原文地址:https://www.cnblogs.com/taoyuxuan/p/11846657.html
Copyright © 2020-2023  润新知