SQLAlchemyTopLevel-------------ORM(Object-relational mapping)对象关系映射

import sqlalchemy as sa
from sqlalchemy.ext.declarative import declarative_base

conn = sa.create_engine('sqlite:///zoo.db')
Base = declarative_base()
class Zoo(Base):
	__tablename__ = 'zoo'
	critter = sa.Column('critter', sa.String, primary_key=True)
	count = sa.Column('count', sa.Integer)
	damages = sa.Column('damages', sa.Float)
	def __init__(self, critter, count, damages):
	self.critter = critter
	self.count = count
	self.damages = damages
	def __repr__(self):
		return "<Zoo({}, {}, {})>".format(self.critter, self.count, self.damages)
Base.metadata.create_all(conn)
first = Zoo('duck', 10, 0.0)
second = Zoo('bear', 2, 1000.0)
third = Zoo('weasel', 1, 2000.0)
first
<Zoo(duck, 10, 0.0)>

from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=conn)
session = Session()
session.add(first)
session.add_all([second, third])
session.commit()

$ sqlite3 zoo.db
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
zoo
sqlite> select * from zoo;
duck|10|0.0
bear|2|1000.0
weasel|1|2000.0

参考: 《Python语言及其应用》

猜你喜欢

转载自blog.csdn.net/qq_41228218/article/details/89606890