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 join class 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_eager Relation.query.join(Relation.target_user原创 2020-08-13 20:16:00 · 707 阅读 · 0 评论 -
sqlalchemy 聚合
from sqlalchemy import func db.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_with 1.like SELECT * 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 · 369 阅读 · 0 评论 -
sqlalchemy limit&order
1.limit 结果从第二条起,取三条 User.query.offset(2).limit(3).all() 2.orderby User.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.SQL CREATE 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 time import threading import sqlalchemy from sqlalchemy import create_engine from 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 datetime from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from 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 评论
分享