千家信息网

sqlalchemy 简单使用

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,一, sqlalchemy 与数据库连接安装:pip install sqlalchemysqlalchemy 查看版本:import sqlalchemysqlalchemy.__version__
千家信息网最后更新 2024年09月22日sqlalchemy 简单使用


一, sqlalchemy 与数据库连接

安装:

pip install sqlalchemy

sqlalchemy 查看版本:

import sqlalchemy

sqlalchemy.__version__

sqlalchemy 连接数据库:

from sqlalchemy import create_engine

HOST='127.0.0.1'

PORT='3306'

DATABASE='test'

USERNAME='test'

PASSWORD='pass'

DB_URL = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(

USERNAME, PASSWORD, HOST, PORT, DATABASE

)

engin = create_engine(DB_URL, echo=False)

sqlalchemy创建表的简单过程:

1. 创建一个基类

from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()


2. 创建一个类

from sqlalchemy import Column, Integer, String

class User(Base):

__tablemame__ = 'users' # 数据表的名子

id = Column(Integer, Sequence('user_id_seq'), Primary_key=True) # 设置为主键

name = Column(String(20), nullable=False) #非空

password = Column(String(255), nullable=False)


创建表:

Base.metadata.create_all(engine)


创建一个对象

zs_user = User(name='zs', fullname='ZhangSan', password='password')

zs.name

zs

创建 Session

from sqlalchemy.orm import sessionmaker

Session = sessionmaker(bind=engine)


添加更新对象

将 zs_user 对象添加到会话中

session.add(zs_user)

通过条件查询

zs = session.query(User).filter_by(name='zs').first()


可以使用 add_all() 函数一次性添加多个User 对象、

session.add_all(

User(name='ls', fullname='lisi', password='pass'),

User(name='ww', fullname='wangwu', password='pass'),

)

查看等待提交的状态:

session.new

将更改提交到数据库:

session.commit()







0