对象关系映射(Object Relational Mapping,简称ORM,翻译为中文为模型关系映射或者对象关系映射)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据。更多关于ORM知识介绍,大家可以访问ORM文档(http://docs.sqlalchemy.org/en/latest/core/tutorial.html)
下面就讲讲如何将ORM模型映射到数据库中。
from sqlalchemy import create_engine,Column,Integer,String
from sqlalchemy.ext.declarative import declarative_base
DIALCT = "mysql"
DRIVER = "pymysql"
USERNAME = "root"
PASSWORD = "root"
HOST = "127.0.0.1"
PORT = "3306"
DATABASE = "test"
DB_URI={}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALCT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE)
engine = create_engine(DB_URI)
Base = declarative_base(engine)
# 定义Person对象(对应数据库表)
class Person(Base):
# 定义数据表表名,如果未定义数据表名则会报错
__tablename__ = "person"
# Person对象属性(对应数据库表中的字段)
id = Column(Integer , primary_key=True , autoincrement=True)
name = Column(String(10) , nullable=False)
# 将模型映射到数据库中
Base.metadata.create_all()
注意: 运行Base.metadata.create_all()之前请确保表是否存在数据库中,如果存在则会覆盖表中之前存在的数据
执行上述代码、如果不出问题的话,我们就可以在数据库中看到我们创建的模型了。将ORM模型映射到数据库中后,我们就就可以对表进行增、删、改、查等操作。