SQLAlchemy中的query,有filter和filter_by两个函数
filter_by表内部精确查询
https://www.cnblogs.com/Jokerguigui/p/11526889.html
https://blog.csdn.net/weixin_42670402/article/details/84522877
>>使用SQLAlchemy:https://www.liaoxuefeng.com/wiki/1016959663602400/1017803857459008
快速入门Flask-SQLAlchemy:http://www.pythondoc.com/flask-sqlalchemy/quickstart.html
SQLAlchemy登录用户模块
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
win10下使用flask_sqlalchemy连接SQLServer:https://blog.csdn.net/qq_33279781/article/details/78539531
SQLAlchemy连接SQLserver数据库及常用的DB操作:https://blog.csdn.net/young_kp/article/details/82423596
Dealing with disconnect:https://docs.sqlalchemy.org/en/14/core/pooling.html#pool-disconnects
create_engine
from flask import Flask from flask_sqlalchemy import SQLAlchemy from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker #Person.py from sqlalchemy import Column,String,INT from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() #创建对象的基类 class User(Base): __tablename__ = 'users' #id = Column(INT())#, primary_key=True name = Column(String(80),nullable=True, primary_key=True) email = Column(String(120),nullable=True) def __init__(self, name, email): #self.id = id self.name = name self.email = email class DatabaseManagement(): def __init__(self): self.engine = create_engine('mssql+pymssql://sa:密码@localhost:1433/sss',echo=True)#初始化数据库连接 DBsession = sessionmaker(bind=self.engine) #创建DBsession self.session = DBsession() #创建对象 def add_obj(self, obj): #添加内容 self.session.add(obj) self.session.commit() #提交 return obj def query_all(self, target_class, query_filter): #查询内容 result_list = self.session.query(target_class).filter(query_filter).all() return result_list def update_by_filter(self, obj, update_hash, query_filter): #更新内容 self.session.query(obj.__class__).filter(query_filter).update(update_hash) self.session.commit() def delete_by_filter(self, obj, query_filter): #删除内容 self.session.query(obj).filter(query_filter).delete() def close(self): #关闭session self.session.close() def execute_sql(self, sql_str): #执行sql语句 return self.session.execute(sql_str) class MyTest(): def __init__(self): self.db_obj = DatabaseManagement() def process(self): person_obj = User("Wilson4", "111@sina.com") self.db_obj.add_obj(person_obj) # query_filter = 'users.name == "Wilson", users.email == "111@sina.com"' # person_list = self.db_obj.query_all(Person, query_filter) # for i in person_list: # print (i.name) print ("hello") if __name__=="__main__": myTest = MyTest() myTest.process()
第二种方法:不使用create_engine。。。Python连接SQL Server 之pyodbc\pymssql。。。https://blog.csdn.net/qq_41070101/article/details/85081378
from flask import Flask from flask_sqlalchemy import SQLAlchemy from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mssql+pymssql://sa:密码@localhost:1433/sss'#sqlite:////tmp/test.db app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db = SQLAlchemy(app) class User(db.Model): __tablename__ = 'users' #id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), nullable=True, primary_key=True) email = db.Column(db.String(120), nullable=True) def __init__(self, name, email): self.name = name self.email = email def __repr__(self): return '<User %r>' % self.name if __name__ == '__main__': print('zhangsan') user = User.query.filter_by(name='Wilson').first() print(user)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2019-07-23 CityMaker SDK与三维GIS城市
2017-07-23 Hello_Area_Description 任务三:Project Tango采集区域描述数据