sqlalchemy
Claroja
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sqlalchemy 事务
session 是用于管理数据库操作的一个像容器一样的东西. 模型实例对象本身独立存在, 而要让其修改(创建)生效, 则需要把它们加入某个 session 。同时你也可以把模型实例对象从 session 中去除。session.commit() 直接将数据库内存中的数据提交到数据库,此操作会内部调用session.flush(),其余的事务可以访问最新的数据;session.rollback() 是回滚当前事务的变更数据操作;session.flush() 的作用是在事务管理内与数据库发生交互, 对原创 2020-08-13 20:16:40 · 586 阅读 · 0 评论 -
sqlalchemy 增删改
1.添加一条数据user = User(mobile='15612345678', name='itcast')db.session.add(user)db.session.commit()2.添加多条数据db.session.add_all([user1, user2, user3])db.session.commit()原创 2020-08-13 20:16:26 · 406 阅读 · 0 评论 -
sqlalchemy 关联
1.inner joinclass Relation(db.Model): ... target_user = db.relationship('User', primaryjoin='Relation.target_user_id==foreign(User.id)', uselist=False)from sqlalchemy.orm import load_only, contains_eagerRelation.query.join(Relation.target_user原创 2020-08-13 20:16:00 · 707 阅读 · 0 评论 -
sqlalchemy 聚合
from sqlalchemy import funcdb.session.query(Relation.user_id, func.count(Relation.target_user_id)).filter(Relation.relation == Relation.RELATION.FOLLOW).group_by(Relation.user_id).all()原创 2020-08-13 20:15:50 · 544 阅读 · 0 评论 -
sqlalchemy like
user.name.start_with1.likeSELECT * FROM pet WHERE name LIKE 'b%'; 以b开头的名字SELECT * FROM pet WHERE name LIKE '%fy'; 以fy结尾的SELECT * FROM pet WHERE name LIKE '%w%'; 包含w的SELECT * FROM pet WHERE name LIKE '_____'; 姓名长度为5的 一个_代表一个字符2.REGEXP_LIKE()SELECT *原创 2020-08-13 20:15:33 · 2019 阅读 · 0 评论 -
sqlalchemy 查询
db.session.query(User).all()# 返回列表,所有结果,User.query.all() # flask简写db.session.query(User).first() # 返回第一个结果User.query.first() # flask简写原创 2020-08-13 20:15:21 · 367 阅读 · 0 评论 -
sqlalchemy limit&order
1.limit结果从第二条起,取三条User.query.offset(2).limit(3).all()2.orderbyUser.query.order_by(User.id).all() # 正序User.query.order_by(User.id.desc()).all() # 倒序原创 2020-08-13 20:15:11 · 773 阅读 · 0 评论 -
sqlalchemy 过滤
1.逻辑判断1)逻辑或from sqlalchemy import or_User.query.filter(or_(User.mobile=='13911111111', User.name.endswith('号'))).all()2)逻辑与from sqlalchemy import and_User.query.filter(and_(User.name != '13911111111', User.mobile.startswith('185'))).all()3)逻辑非fro原创 2020-08-13 20:15:01 · 463 阅读 · 0 评论 -
sqlalchemy与mysql映射
先使用sql创建表,再使用sqlalchemy进行映射1.由于表已经创建好,所以在写sqlalchemy映射类时,不需要和SQL一样指定的非常细致,主要指明类型即可1.SQLCREATE TABLE `user_basic` ( `user_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID', `mobile` char(11) NOT NULL COMMENT '手机号', PRIMARY KEY (`user_i原创 2020-08-13 20:14:39 · 482 阅读 · 0 评论 -
SQLAlchemy 基本使用
import timeimport threadingimport sqlalchemyfrom sqlalchemy import create_enginefrom sqlalchemy.engine.base import Engine engine = create_engine( "mysql+pymysql://root:123@127.0.0.1:3306/test...原创 2019-12-01 23:20:59 · 333 阅读 · 0 评论 -
SQLAlchemy ORM
import datetimefrom sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, Text, ForeignKey, DateTime, UniqueConstrain...原创 2019-12-01 23:20:27 · 531 阅读 · 0 评论 -
SQLAlchemy 增删改查
前提条件engine = create_engine("mysql+pymysql://root:root@127.0.0.1:3306/test", max_overflow=0, pool_size=5)Session = sessionmaker(bind=engine)session = Session()增obj1 = Users(name="wang")session.a...原创 2019-12-01 23:19:52 · 238 阅读 · 0 评论
分享