95.SQLAlchemy列参数的使用

util_db.py

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
HOST = "localhost"
PORT = 3306
DATA_BASE = 'flask_db'
USER = 'root'
PWD = 'root'
DB_URI = f"mysql+pymysql://{USER}:{PWD}@{HOST}:{PORT}/{DATA_BASE}"

engine = create_engine(DB_URI)
Base = declarative_base(engine)
Session = sessionmaker(engine)

列参数的使用.py

from datetime import date, datetime

from email.policy import default

from turtle import title, update



from sqlalchemy import Column, Integer, DateTime, String



from util_db import Base,Session



class News(Base):

    __tablename__ = 't_news2'

            #  类型      主键               自增长

    id = Column(Integer, primary_key = True, autoincrement = True)

    #                          唯一值

    phone = Column(String(11), unique=True)

    #                           指定字段不可以为空False

    title = Column(String(32), nullable = False)

    #                            设置默认值

    read_count = Column(Integer, default = 1)

    #                   日期格式    默认值设置成当前日期,并且不加括号(否则就只执行一次)

    create_time = Column(DateTime, default = datetime.now)

    #

    update_time = Column(DateTime, default = datetime.now, onupdate = datetime.now)



def create_data():

    new1 = News(phone="18124500032",title="测试列参数的使用")

    with Session() as session:

        session.add(new1)

        session.commit()



def update_data():

    with Session() as session:

        new1 = session.query(News).first()

        new1.read_count = 2# 同时会更新到update_time,因为他设置了onupdate参数

        session.commit()




if __name__ == "__main__":

    # 创建新表

    # Base.metadata.create_all()

    # create_data()

    update_data()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想成为数据分析师的开发工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值