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

关于sqlalchemy的使用

关于sqlalchemy的使用

  • 说明
  • 一、安装与创建库、连结库
  • 二、创建表、增加数据
    • 三、查询记录

说明

  1. 本教程所需软件及库python3.10、sqlalchemy
  2. 安装与创建库、连结库
  3. 创建表、增加数据
  4. 查询记录

一、安装与创建库、连结库

  1. 安装库
pip install sqlalchemy
#查看版本
sqlalchemy.__vetrsion__
  1. 创建库或连结库
#连结或创建sqlite3
from sqlalchemy import create_engine
engine = create_engine(`sqlite:///db_path.db`,echo=True)
conn = engine.connect()
#连结或创建mysql
from sqlalchemy import create_engine
engine = create_engine(`mysql://user:pwd@localhoast/库名`,echo=True)
conn = engine.connect()

注:create_engine如果已经存在就连结,如果不存在就创建。

  1. 在sqlachemy执行sql语句
import sqlachemy
query = sqlachemy.text("select * from 表名")#sql语句
engine = sqlachemy.create_engine(`sqlite:///db_path.db`,echo=True)
conn = engine.connect()
result_set = conn.execute(query)
print(result_set.all())
conn.close()
engine.dispose()

注:以下代码engine代表创建或检查数据库,conn代表连结数据库。

二、创建表、增加数据

  1. 创建表
    创建表要用到sqlalchemy的三个库MetaData、Table、Column及类型代码
from sqlachemy import MetaData,Table,Column
meta = MetaData()
#Meta定义好的字段属性存在这,所以第二个字段就要传它
var = Table(
'表名',meta,
Clolumn('字段名',sqlachemy.类型,primary_key=True),
.......
)
meta.create_all(engine)#创建表

如果表已经存在了,就不会创建,如果不存在就创建。
2. sqlachemy字段类型

名称字段英文用法说明
整形IntegerInteger存整数
小数存小数
字符StringString(字符个数)存字符
日期DateDate存年月日

注:主键primary_key=True,unique=True唯一,unllable=True不能为空。

  1. 增加数据(insert)
    3.1 插入一条数据
var = 表名.insert().values(字段名=值,......)
with engine.connect() as conn:conn.execute(var)conn.commit()

1、连结conn以后执行数据库操作要用conn.execut(sqlachemy语句)
2、数据库数据有变要提交事务,conn.commit()
3、var = 表名.insert().values(字段名=值,…)是新增数据的sqlachemy语句
4、 自增长是插一次,它就增加一次,它不管你是否成功
3.2 插入多条数据

var = 表名.insert()
with engine.connect() as conn:conn.execute(var,[{'字段名':value,.......},{'字段名':value,.......},........])conn.commit()

这个要用列表,并且列表里放字典,key是字段名,value是对应的值

三、查询记录

  1. sql查询语句
select * from 表名
  1. 函数表达式
表名.select()
  1. 结果获取
结果.fetchall()#获取所有数据
结果.fetchone()#获取第一条数据

http://www.mrgr.cn/news/93389.html

相关文章:

  • 浏览器WEB播放RTSP
  • 深度学习PyTorch之13种模型精度评估公式及调用方法
  • 为AI聊天工具添加一个知识系统 之138 设计重审 之2 文章学 引言之2 附加符号学和附属诠释学
  • 前端基础入门-高级
  • WLAN无线组网 WI-FI
  • 如何改变怂怂懦弱的气质(2)
  • 从零构建企业级财务分析数仓 | Hive建模实战
  • Spring(四)先注册后注入
  • 为AI聊天工具添加一个知识系统 之138 设计重审 2 文章学 之2 结合诠释学的重组
  • Gazebo11 与 Protobuf 版本管理
  • Python:简单的爬虫程序,从web页面爬取图片与标题并保存MySQL
  • K8s 1.27.1 实战系列(五)Namespace
  • aws(学习笔记第三十一课) aws cdk深入学习(batch-arm64-instance-type)
  • MacOS Big Sur 11 新机安装brew wget python3.12 exo
  • ubuntu20.04已安装 11.6版本 cuda,现需要通过源码编译方式安装使用 cuda 加速的 ffmpeg 步骤
  • AI绘画软件Stable Diffusion详解教程(7):图生图基础篇
  • 【JAVA架构师成长之路】【JVM实战】第2集:生产环境内存飙高排查实战
  • DeepSeek + 飞书多维表格搭建你的高效工作流
  • tcc编译器教程2 编译lua解释器
  • 运算放大器LM358的简单应用