首页 > 数据库 >SQLAlchemy

SQLAlchemy

时间:2023-01-07 21:56:38浏览次数:44  
标签:__ sqlalchemy String Column declarative SQLAlchemy import

安装
pip install sqlalchemy
基本使用
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

# 创建连接引擎
engine = create_engine('postgresql://username:password@localhost:5432/mydatabase')

# 创建基类
Base = declarative_base()

# 定义模型
class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    fullname = Column(String)
    password = Column(String)

    def __repr__(self):
        return f'<User(name={self.name}, fullname={self.fullname}, password={self.password})>'

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

# 创建新记录
new_user = User(name='john', fullname='John Doe', password='secret')

# 添加记录
session.add(new_user)

# 提交事务
session.commit()

使用基础模型来定义一些共用的属性
from sqlalchemy import Column, Integer, String, DateTime
from sqlalchemy.ext.declarative import declarative_base
from datetime import datetime

Base = declarative_base()

class BaseModel(Base):
    # 特殊属性,用于标记一个模型是否为抽象模型
    # 如果一个模型被标记为抽象模型,则 SQLAlchemy 在创建表的时候不会为该模型创建对应的数据库表。
    # 也就是说,抽象模型仅用于作为其他模型的基类,不能直接对应数据库表。
    __abstract__ = True

    id = Column(Integer, primary_key=True)
    create_time = Column(DateTime, default=datetime.utcnow)
    update_time = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)

class User(BaseModel):
    __tablename__ = "users"

    name = Column(String)
    email = Column(String)

标签:__,sqlalchemy,String,Column,declarative,SQLAlchemy,import
From: https://www.cnblogs.com/miracleeeeeeee/p/17033087.html

相关文章

  • Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
    1.MemcachedMemcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、......
  • SQLAlchemy连接MySQL及记录的查询、更新、删除、多表关联查询
    SQLAlchemy是Python的ORM库,支持多种数据库。建立连接连接MySQL要用到​​Engine​​,Engine集成了连接池pool和方言Dialect(支持不通数据库的SQL语法),最后都统一成标准DBAPI。f......
  • sqlalchemy基本增删查改
    sqlalchemy介绍和快速使用1.sqlalchemy:orm框架-djangoorm:只能给django用,不能独立用-sqlalchemy:独立使用,集成到web项目中-peewee:小-tortoise-orm:异......
  • SQLALchemy框架
    SQLALchemy的介绍SQLALchemy是一个基于Python实现的ORM框架,该框架建立在DBAPI之上,使用关系对象映射进行数据库操作,简而言之就是:将类和对象转换成SQL,然后使用数据API执行......
  • sqlalchemy
    1sqlalchemy介绍和快速使用#sqlalchemy:orm框架-djangoorm:只能给django用,不能独立用-sqlalchemy:独立使用,集成到web项目中-peewee:小-tortoise-orm......
  • SQLAlchemy+aiomysql
    1、安装模板pipinstallaiomysqlpipinstallsqlalchemy2、engine核心2.1、初始化数据库#-*-coding:utf-8-*-importasynciofromsqlalchemy.ext.asynci......
  • Ubuntu20.04安装python3-pip后安装sqlalchemy报错AttributeError: module 'platform'
    解决方法如下:1.首先卸载已经安装python3-pipsudoaptremovepython3-pip2.安装python3.8-pipsudopython3.8-measy_installpip3.安装sqlalchemywang@wang:~$sudopip3.......
  • sqlalchemy - sqlalchemy中执行原生sql - 传参方式避免了sql注入(转)
    https://blog.csdn.net/xuezhangjun0121/article/details/103993135 defget_data_all(user_id,name,start_time,end_time,page=1,limit=10):"""sqlalc......
  • flask SQLAlchemy 增删改查
    前言一直在用flask+ SQLAlchemy,每次数据联动,因为踩过坑,就更新一下自己的认识,若有错误,请谅解准备模块click==8.1.3Flask==1.1.2Flask-SQLAlchem......
  • Flask-SQLAlchemy
    一.介绍SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在DBAPI之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获......