Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python sqlalchemy

作者:菠蘿。d海   发布日期:2025-08-22   浏览:50

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

# 创建一个引擎,连接到 SQLite 数据库
engine = create_engine('sqlite:///example.db', echo=True)

# 声明基类
Base = declarative_base()

# 定义一个映射类
class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)

    def __repr__(self):
        return f"<User(name={self.name}, age={self.age})>"

# 创建表
Base.metadata.create_all(engine)

# 创建会话
Session = sessionmaker(bind=engine)
session = Session()

# 添加新用户
new_user = User(name='Alice', age=30)
session.add(new_user)
session.commit()

# 查询用户
users = session.query(User).all()
for user in users:
    print(user)

# 更新用户信息
user_to_update = session.query(User).filter_by(name='Alice').first()
user_to_update.age = 31
session.commit()

# 删除用户
user_to_delete = session.query(User).filter_by(name='Alice').first()
session.delete(user_to_delete)
session.commit()

# 关闭会话
session.close()

解释说明:

  1. 创建引擎:使用 create_engine 创建一个数据库引擎,这里连接的是一个 SQLite 数据库。
  2. 声明基类:使用 declarative_base 创建一个基类,所有映射类都继承自这个基类。
  3. 定义映射类:定义了一个 User 类,它映射到数据库中的 users 表。类中的属性对应表中的列。
  4. 创建表:使用 Base.metadata.create_all(engine) 创建所有定义的表。
  5. 创建会话:使用 sessionmaker 创建一个会话工厂,并绑定到引擎。然后创建一个会话实例。
  6. 添加新用户:创建一个新的 User 实例并添加到会话中,最后提交事务。
  7. 查询用户:使用 session.query(User).all() 查询所有用户,并打印结果。
  8. 更新用户信息:通过查询找到特定用户并修改其属性,然后提交更改。
  9. 删除用户:通过查询找到特定用户并删除,最后提交更改。
  10. 关闭会话:关闭会话以释放资源。

以上代码展示了如何使用 SQLAlchemy 进行基本的数据库操作,包括创建表、插入数据、查询数据、更新数据和删除数据。

上一篇:python celery

下一篇:python 换行

大家都在看

python时间格式

python开发windows应用程序

python中len是什么意思

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

python pypinyin

python的for i in range

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站