sqlalchemy的增删,插入更新

1.连接数据库

from sqlalchemy import create_engine
 
# 连接数据库
engine = create_engine('mysql+pymysql://username:password@localhost/dbname')
 
# 进行一些数据库操作
# ...
 
# 关闭连接
engine.dispose()

mysql:数据库类型;
pymysql:MySQL数据库驱动;
username:数据库用户名;
password:数据库密码;
localhost:数据库主机名;
dbname:数据库名。
2.查询数据
SQLAlchemy提供了两种查询数据的方式:基于SQL语句的查询和基于ORM的查询。

基于SQL语句的查询
from sqlalchemy import create_engine
 
# 连接数据库
engine = create_engine('mysql+pymysql://username:password@localhost/dbname')
 
# 执行查询语句
result = engine.execute("SELECT * FROM employees")
 
# 处理查询结果
for row in result:
    print(row)
 
# 关闭连接
engine.dispose()

-------------------------------------------------------------------------------------------------------------------

from sqlalchemy import create_engine
 
# 连接数据库
engine = create_engine('mysql+pymysql://username:password@localhost/dbname')
 
# 构造插入语句
sql = "INSERT INTO employees(name, age, salary) VALUES (%s, %s, %s)"
params = ("Tom", 25, 5000)
 
# 执行插入语句
engine.execute(sql, params)
 
# 关闭连接
engine.dispose()

更新数据
更新数据可以通过如下步骤完成:

创建 对象,并查询要更新的记录
from sqlalchemy.orm import Session
from myapp.models import User   # 假设这里有一个 User 模型
 
session = Session()
 
# 查询要更新的记录
user = session.query(User).filter_by(id=1).first()

     2.修改要更新的属性

# 修改属性
user.name = "new_name"
user.age = 30

    3.提交更改

# 提交更改
session.commit()

完整代码如下

from sqlalchemy.orm import Session
from myapp.models import User   # 假设这里有一个 User 模型
 
session = Session()
 
# 查询要更新的记录
user = session.query(User).filter_by(id=1).first()
 
# 修改属性
user.name = "new_name"
user.age = 30
 
# 提交更改
session.commit()

删除数据
删除数据也可以通过如下步骤完成:

创建 session 对象,并查询要删除的记录
from sqlalchemy.orm import Session
from myapp.models import User   # 假设这里有一个 User 模型
 
session = Session()
 
# 查询要删除的记录
user = session.query(User).filter_by(id=1).first()

     2.调用 session.delete 方法删除记录

# 删除记录
session.delete(user)

     3.提交更改

# 提交更改
session.commit()

完整代码如下

from sqlalchemy.orm import Session
from myapp.models import User   # 假设这里有一个 User 模型
 
session = Session()
 
# 查询要删除的记录
user = session.query(User).filter_by(id=1).first()
 
# 删除记录
session.delete(user)
 
# 提交更改
session.commit()
 

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值