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)