环境方面Python版本3.72,虚拟环境virtualenvwrapper,Flask版本1.1.1,Flask-SQLAlchemy 2.4.1
首先进入你的虚拟环境,安装相应的库,推荐使用豆瓣源安装,不过多解释
pip install flask
pip install flask-sqlalchemy
from flask_sqlalchemy import SQLAlchemy
步骤3 - 现在创建一个Flask应用程序对象并为要使用的数据库设置URI。
app = Flask( __name__)
app. config[ 'SQLALCHEMY_DATABASE_URI' ] = 'sqlite:///students.sqlite3'
app. config[ 'SQLALCHEMY_DATABASE_URI' ] = 'mysql+pymysql://root:[email protected] :3306/test?charset=utf8'
app. config[ 'SQLALCHEMY_DATABASE_URI' ] = 'postgresql://username:password@host/database'
db = SQLAlchemy( app)
class User ( db. Model) :
id = db. Column( 'uid' , db. Integer, primary_key = True )
name = db. Column( db. String( 100 ) )
city = db. Column( db. String( 50 ) )
addr = db. Column( db. String( 200 ) )
def __init__ ( self, name, city, addr) :
self. name = name
self. city = city
self. addr = addr
配置
说明
默认值
autoincrement
是否自增
False
primary_key
主键
False
indexE
索引
False
unique
是否唯一
False
nullable
允许字段为空
False
default
是否自增
类型
描述
对应mysql
Integer
32位整型
int
SmallInteger
32位 整型
smallint
BigInteger
精度不受限整型
bigint
Float
浮点型
float
Numeric
定点数
numeric
String
可变长度字符串
varchar
Text
文本
text
Unicode
可变长度Unicode字符串
Boolean
布尔值
Date
日期
Time
时间
DateTime
文本
Interval
时间间隔
Enum
枚举
LargeBinary
二进制
create_user = User( name= '张三' , city= '广州市猎德村' )
db. session. add( create_user)
db. session. commit( )
User. query. all ( )
User. query. filter_by( name= '张三' ) . first( )
User. query. order_by( User. id ) . all ( )
User. query. limit( 1 ) . all ( )
User. query. get( id = 1 )
getuser = User. query. get( 1 )
getuser. name = "李四"
db. session. commit( )
user = User. query. get( 1 )
db. session. delete( user)
db. session. commit( )
User. query. filter_by( city = "广州" ) . count( )
from sqlalchemy import func
User. query. with_entities( func. sum ( User. id ) ) . filter ( User. id > 1 ) . scalar( )
User. query. paginate( )