当前位置: 首页 > article >正文

138.python内置模块sqlalchemy进行sql操作详解

文章目录

    • 安装
    • 使用
      • 参数解释
      • 详解demo
        • 查询
        • 删除
        • 增加

本文只针对于sqlalchemy连接mysql

sqlalchemy官方

安装

pip3 install sqlalchemy

使用

参数解释

  1. 创建一个引擎,目的是连接到我们的数据库上
    root: mysql 用户名
    password: 密码
    host: 主机ip
    dataBaseName: 数据库名字
create_engine('mysql+pymysql://root:password@host:3306/dataBaseName',echo=True)
  1. 打开数据库的连接会话
session = sessionmaker(engine)
  1. 保证线程安全
db_session = scoped_session(session)
  1. 获取基类
Base = declarative_base()

详解demo

我的user
在这里插入图片描述
连接我的数据库

import hashlib
import json
from sqlalchemy import create_engine, Column, Integer, String, Table, func
from sqlalchemy.orm import sessionmaker, scoped_session, declarative_base
from sqlalchemy import or_
from sqlalchemy.sql.elements import and_

# 创建一个引擎,目的是连接到我们的数据库上
engine = create_engine('mysql+pymysql://root:lh334421@127.0.0.1:3306/myDataBase',echo=True)
# 打开数据库的连接会话
session = sessionmaker(engine)
# 保证线程安全
db_session = scoped_session(session)
# 获取基类
Base = declarative_base()

表链接

class User(Base):
    __table__ = Table("user",Base.metadata,autoload_with=engine)
查询
  1. 查询所有

result01 =  db_session.query(User).all()
print(result01)

  1. 查询判断( < > = or and like limit sum )
result = db_session.query(User).filter(User.user_id < 10).all()
result = db_session.query(User).filter(User.user_id > 10).all()
result = db_session.query(User).filter(User.user_id > 10).limit(10).all()
result = db_session.query(User).filter(User.user_id > 10).limit(10).offset(2).all()
result = db_session.query(User).filter(or_(User.user_id == 1, User.user_id == 2)).all()
result = db_session.query(User).filter(and(User.user_id == 1, User.username == '1@qq.com')).all()
result = db_session.query(func.sum(User.user_id)).all()
result = db_session.query(User).order_by(User.user_id.desc()).all()
result = db_session.query(User).order_by(User.username.like("%@qq.com")).all()
删除
result = db_session.query(User).filter(User.user_id == 1).delete()
增加
params = {
   "username": '"张三",
   "nickname": “zs”,
   "password": 123,
   "picture": “1.png”,
}
user = User(**params)
db_session.add(user)
db_session.commit()

http://www.kler.cn/a/418032.html

相关文章:

  • 蓝队基础(泷羽sec)
  • 二分搜索(三)x的平方根
  • Python语法基础(四)
  • [网络安全]sqli-labs Less-5 解题详析
  • FFmpeg一些常用的命令
  • C#VB.NET开发整体一键国际化显示
  • RNN模型文本预处理--数据增强方法
  • Linux 常用命令大全与详细讲解
  • leetcode 99. 恢复二叉搜索树
  • 【人工智能基础03】机器学习(练习题)
  • 微前端架构 qiankun
  • 在 Flutter app 中,通过视频 URL 下载视频到手机相册
  • 使用Feign远程调用丢失请求头问题
  • BGE-M3模型结合Milvus向量数据库强强联合实现混合检索
  • Tree搜索二叉树、map和set_数据结构
  • 1074 Reversing Linked List (25)
  • 【AI战略思考13】克服懒惰,保持专注,提升效率,不再焦虑
  • centos8:Could not resolve host: mirrorlist.centos.org
  • Springboot(四十四)Springboot集成Validation实现参数校验
  • 第六届国际科技创新(IAECST 2024)暨第四届物流系统与交通运输(LSTT 2024)
  • 【C++】优先队列(Priority Queue)全知道
  • Spring cache注解:缓存与业务解耦实战
  • 基于51单片机的电子秤设计
  • 网络安全系列 之 SQL注入学习总结
  • 21天掌握Java Web —— 第一天:Spring Boot入门
  • 面积等效原理