Column常用的參數


#encoding: utf-8

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

HOSTNAME = '127.0.0.1'

PORT = 3306

DATABASE = 'first_sqlalchemy'

USERNAME = 'root'

PASSWORD = '123456'

#dialect+driver://username:password@host:port/database
DB_URI = "mysql+pymysql://{username}:{password}@{host}:{port}/" \
         "{db}?charset=utf8".format(username=USERNAME,password=PASSWORD,host=HOSTNAME,port=PORT,db=DATABASE)

engine = create_engine(DB_URI)

Base = declarative_base(engine)

session = sessionmaker(engine)()

from datetime import datetime


class Article(Base):
    __tablename__ = 'article'
    id = Column(Integer,primary_key=True,autoincrement=True)

    #name的用處就是更改在title在數據庫中的名字,就是其別名
    title = Column(String(50),nullable=False,name='article_title')

    describe = Column(String(200),unique=True,nullable=False)

    read_count = Column(Integer,default=0)

    #onupdate,只有更新數據的時候才有用
    update_time = Column(DateTime,onupdate=datetime.now,default=datetime.now)

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

Base.metadata.drop_all()

Base.metadata.create_all()


# article = Article(title = '武動乾坤')
# session.add(article)
# session.commit()

article = Article(title = '武動乾坤',describe = 'wuwuwuwuwuwuwu')
session.add(article)
session.commit()


#驗證下ondate的作用

# article = session.query(Article).first()
# article.title = '斗破蒼穹'
# session.commit()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM