ORM

ORM把底层的SQL数据实体转化成高层的Python对象,这样一来,是需要通过Python代码即可完成数据库的操作,ORM实现的三层映射关系:

  • 表———-类
  • 字段(列)———类属性
  • 记录(行)———类实例

使用原生SQL语句

1
2
3
4
CREATE TABLE contacts(
name varchar(100) NOT NULL,
phone_number verchar(32),
);

使用ORM

1
2
3
4
5
6
from foo_orm import Model, Column, String

class Contact(Model):
__tablename__ = 'contacts'
name = Column(String(100), nullable=False)
phone_number = Column(String(32))

使用原生SQL语句

1
2
INSERT INTO contacts(name, phone_number)
VALUES('wang', '123456789');

使用ORM

1
contact = Contact(name='wang', phone_number='123456789')

SQLAlchemy是python社区使用最广泛的ORM之一。

使用Flask-SQLAlchemy管理数据库

安装

1
pip install flask-sqlalchemy

使用

1
2
3
4
5
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
db = SQLAlchemy(app)