SQLAlchemy(一):SQLAlchemy去连接数据库、ORM介绍、将ORM模型映射到数据库中
SQLAlchemy01 /SQLAlchemy去连接数据库、ORM介绍、将ORM模型映射到数据库中
1、使用SQLAlchemy去连接数据库:
使用SQLALchemy去连接数据库,需要使用一些配置信息,然后将他们组合成满足条件的字符串:
HOSTNAME = ‘127.0.0.1‘ PORT = ‘3306‘ DATABASE = ‘first_sqlalchemy‘ USERNAME = ‘root‘ PASSWORD = ‘123‘ # dialect+driver://username::port/database DB_URI = "mysql+pymysql://{username}:{password}@{host}:{port}/{db}?charset=utf8".format(username=USERNAME,password=PASSWORD,host=HOSTNAME,port=PORT,db=DATABASE)
然后使用
create_engine
创建一个引擎engine
然后再调用这个引擎的
connect
方法,就可以得到这个对象然后就可以通过这个对象对数据库进行操作了
engine = create_engine(DB_URI) # 判断是否连接成功 conn = engine.connect() result = conn.execute(‘select 1‘) print(result.fetchone())
2、ORM介绍:
- ORM:Object Relationship Mapping
- 大白话:对象模型与数据库表的映射
3、将ORM模型映射到数据库中:
用
declarative_base
根据engine
创建一个ORM基类。from sqlalchemy.ext.declarative import declarative_base engine = create_engine(DB_URI) Base = declarative_base(engine)
用这个
Base
类作为基类来写自己的ORM类。要定义__tablename__
类属性,来指定这个模型映射到数据库中的表名。class Person(Base): __tablename__ = ‘person‘
创建属性来映射到表中的字段,所有需要映射到表中的属性都应该为Column类型:
class Person(Base): __tablename__ = ‘person‘ # 在这个ORM模型中创建一些属性,来跟表中的字段进行一一映射。这些属性必须是sqlalchemy给我们提供好的数据类型。 id = Column(Integer,primary_key=True,autoincrement=True) name = Column(String(50)) age = Column(Integer)
使用
Base.metadata.create_all()
来将模型映射到数据库中。Base.metadata.create_all()
一旦使用
Base.metadata.create_all()
将模型映射到数据库中后,即使改变了模型的字段,也不会重新映射了。
相关推荐
Danialzhou 2020-04-11
xiaoxiangyu 2020-02-23
liuweiq 2020-06-14
emmm00 2020-06-14
lt云飞扬gt 2020-05-29
朱建伟 2020-05-14
猛禽的编程艺术 2020-05-06
苦咖啡flask 2020-05-04
dreamhua 2020-04-30
tanrong 2020-04-30
xuanlvhaoshao 2020-04-26
tanrong 2020-04-18
happinessaflower 2020-03-01
喝绿茶的猫 2020-01-18
疯狂老司机 2020-01-10
liuyang000 2020-01-08
Lingforme 2020-01-08
阿亮 2019-12-26