好久没有更新Blog了
今天来聊一聊 Python 的 ORM 框架 SQLAlchemy 有些同学已经听说过这个框架的大名了,也听说了 SQLAlchemy 没有 Django 的 Models 好用
我在这里官宣辟谣一下啊, Models 紧紧只是配置和使用比较简单(这特么就是废话),因为他是Django自带的ORM框架,也正是因为是Django原生的,所以兼容性远远不如SQLAlchemy
真正算得上全面的ORM框架必然是我们的SQLAlchemy ORM框架,它可以在任何使用SQL查询时使用
当然了,无论是使用什么ORM框架,都是为了方便不熟练数据库的同学使用的,我个人还是比较推崇原生 SQL ,也建议每位同学攻克 SQL 的难关
废话不多说,我们来看一下 SQLAlchemy 如何使用:
1.创建数据表
1 # ORM中的数据表是什么呢? 2 # Object Relation Mapping 3 # Object - Table 通过 Object 去操纵数据表 4 # 从而引出了我们的第一步创建数据表 - 创建Object 5 # 1. 创建Object 6 # class User(object): 7 # pass 8 9 # 2. 让Object与数据表产生某种关系 也就是让Object与数据表格式极度相似 10 # 导入官宣基础模型 11 from sqlalchemy.ext.declarative import declarative_base 12 # 实例化官宣模型 - Base 就是 ORM 模型 13 Base = declarative_base() 14 # 当前的这个Object继承了Base也就是代表了Object继承了ORM的模型 15 class User(Base): # 相当于 Django Models中的 Model 16 # 为Table创建名称 17 __tablename__ = "user" 18 # 创建ID数据字段 , 那么ID是不是一个数据列呢? 也就是说创建ID字段 == 创建ID数据列 19 from sqlalchemy import Column,Integer,String 20 # id = Column(数据类型,索引,主键,外键,等等) 21 # int == Integer 22 id = Column(Integer,primary_key=True,autoincrement=True) 23 # str == char(长度) == String(长度) 24 name = Column(String(32),index=True) 25 26 # 3.去数据库中创建数据表? or 先连接数据库? 27 # 3.去连接数据库 创建数据引擎 28 from sqlalchemy import create_engine 29 # 创建的数据库引擎 30 engine = create_engine("mysql+pymysql://root:DragonFire@127.0.0.1:3306/dragon?charset=utf8") 31 32 # Base 自动检索所有继承Base的ORM 对象 并且创建所有的数据表 33 Base.metadata.create_all(engine)