Django 为咱们提供了极为优良的对象关系模型(ORM),通过 ORM 能够很不便的将对象操作映射为对数据库的操作。
然而 Django 的 ORM 只能利用在 Django 我的项目中,为了在其余我的项目中应用 ORM ,能够选用 sqlalchemy
因而本教程接下来介绍如何在一般的 Python 我的项目中应用 ORM 来操作数据库,包含根本的对数据库、数据表、数据行的操作,进阶的索引、各种束缚,以及高级的事务、锁、并发版本控制等高级内容。
本教程以 Mysql 为指标数据库,应用的 sqlalchemy 版本为 1.4.15
Name: SQLAlchemyVersion: 1.4.15Summary: Database Abstraction LibraryHome-page: http://www.sqlalchemy.orgAuthor: Mike BayerAuthor-email: mike_mp@zzzcomputing.comLicense: MITLocation: c:\users\17293\.virtualenvs\project_jd-wbhajpan\lib\site-packagesRequires: greenletRequired-by:
应用 sqlalchemy 的代码充当的是 Mysql 客户端的角色。
连贯 Mysql 服务器
class DB: Base = declarative_base() class ProductModel(Base): # 表的名字: __tablename__ = 'product' # 表的构造: id = Column(Integer(), primary_key=True) url = Column(String(256), unique=True) name = Column(String(512)) brand = Column(String(64)) price = Column(Float()) sales_volume = Column(Integer()) score1Count = Column(Integer()) score2Count = Column(Integer()) score3Count = Column(Integer()) score4Count = Column(Integer()) score5Count = Column(Integer()) db_config = { 'db_username': 'root', 'db_password': 'yjcyjc', 'db_host': 'localhost', 'db_port': 3306, 'db_database_name': 'd_test', } # 初始化数据库连贯: link_sql = 'mysql+mysqlconnector://{db_username}:{db_password}@{db_host}:' \ '{db_port}/{db_database_name}?' \ 'auth_plugin=mysql_native_password'.format(**db_config) engine = create_engine(link_sql, echo=True) # 创立DBSession类型: DBSession = sessionmaker(bind=engine) Base.metadata.create_all(engine)