zoukankan      html  css  js  c++  java
  • python SQLAlchemy 学习

    SQLAlchemy

    from sqlalchemy import create_engine
    
    # 连接数据库,并打印SQL
    engin = create_engine("sqlite:///:memeory", ehco=True)
    # 连接MYSQL
    engine = create_engine("mysql://scott:tiger@hostname/dbname",
                                encoding='latin1', echo=True)
    
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy import Column, Integer, String
    
    Base = declarative_base()
    
    # 必须包含一个__tablename__和id主键属性
    class User(Base):
    	__tablename__ = 'users'
    
    	id = Column(Integer, primary_key=True)
    	name = Column(String)
    	fullname = Column(String)
    	nickname = Column(String)
    
        def __repr__(self):
    	   return "<User(name='%s', fullname='%s', nickname='%s')>" % ( self.name, self.fullname, self.nickname)
    

    Mini风格

    from sqlalchemy.ext.declarative import declared_attr
    
    class Base(object):
        @declared_attr
        def __tablename__(cls):
            return cls.__name__.lower()
    
        __table_args__ = {'mysql_engine': 'InnoDB'}
    
        id =  Column(Integer, primary_key=True)
    
    from sqlalchemy.ext.declarative import declarative_base
    
    Base = declarative_base(cls=Base)
    
    class MyModel(Base):
        name = Column(String(1000))
    

    创建表

    Base.metadata.create_all(engine)
    
  • 相关阅读:
    [LeetCode]Contains Duplicate
    C++基础之泛型算法
    KMP算法
    [LeetCode]Shortest Palindrome
    [LeetCode]House Robber
    Palindrome Linked List leetcode
    Rotate Array leetcode
    Rotate Image LeetCode
    Rotate List leetcode
    Reorder List leetcode
  • 原文地址:https://www.cnblogs.com/iFanLiwei/p/13409078.html
Copyright © 2011-2022 走看看