首先扫个盲:SQL是结构化查询语言(Structured Query Language)三个单词的首字母缩写。
数据库就是按照一定规则保存的程序数据,程序发起查询可以取回查询到的数据。Web程序最常用基于关系模型的数据库,这种数据库也称为SQL数据库。
关系型数据库把数据存储在表中,表模拟程序中不同的实体。表的列数是固定的,行数是可变的。列定义表所表示的实体的数据属性。如,customers表中可能有name、address、phone等列。表中的行定义各列对应的真实数据。
表中有个特殊的列,称为主键,其值为表中各行的唯一标识符。表中还可以有成为外键的列,引用同一个表或不同表中某行的主键。行之间的这种联系称为关系(relationships),这是关系型数据库模型的基础。
不遵循关系型模型的数据库统称为NoSQL(Not only SQL)数据库,一般使用集合代替表,使用文档代替记录。NoSQL数据库采用的设计方式使联结(什么鬼?)变得困难,所以大多数数据库根本不支持这种操作。NoSQL数据库擅于用高效且紧凑的形式存储结构化数据,与关系型数据库相比,它减少了表的数量,但是增加了数据的重复量。
这本教程中选用的是Flask-SQLAlchemy数据库框架,它支持很多关系型的数据库引擎,包括流行的MySQL、Postgres、SQLite。
像之前一样,用pip安装:
pip install flask-sqlalchemy
在SQLAlchemy中,数