hand
_1_1_18
4
python3.X - Web - Flask1.1.1
共46篇
python3.X - Web - Flask1.1.1
返回栏目
0k
0.3k
1k
6k
0.6k
0.8k
0.3k
0.1k
0.2k
0.8k
0.6k
0.6k
0.1k
0.5k
0.2k
2k
0.3k
5k
2k
2k
1k
0.3k
1k
0.1k
1k
1k
0.5k
2k
2k
0.7k
1k
2k
0.1k
1k
0.1k
2k
2k
0.9k
5k
4k
1k
1k
3k
1k
0k
0k
返回python3.X - Web - Flask1.1.1栏目
作者:
贺及楼
成为作者
更新日期:2024-12-21 19:43:36
pip install flask-sqlalchemy
连接mysql:
pip install flask-mysqldb
安装了这个就可以在pip看见Flask-MySQLdb
,可以导入import pymysql
,create_app()
就可以使用db.init_app(app)
,就可以使用mysql了,如果没有安装会报ModuleNotFoundError: No module named 'MySQLdb'
这里超级超级无敌坑
pip install flask-sqlalchemy
连接mysql:
pip install flask-pymysql
flask_sqlalchemy和sqlalchemy的区别有哪些?
SQLAlchemy是python社区使用最广泛的ORM之一,SQL-Alchmy直译过来就是SQL炼金术。
Flask-SQLAlchemy集成了SQLAlchemy
from flask.ext.sqlalchemy impot SQLAlchemy
from flask_sqlalchemy import SQLAlchemy
类型名 | MySQL类型 | python类型 | 描述 |
---|---|---|---|
SmallInteger | smallint | int | 取值范围较小,一般为16位 |
Integer | int | int | 普通整数,一般32位 |
BigInteger | bigint | int/long | 不限精度的整数 |
Float | float | float | 浮点数 |
Numeric | decimal | decimal.Decimal | 定点数 |
String | varchar | str | 变长字符串 |
Text | tinytext | str | 变长字符串,64K,2 16 − 1 2^{16}-12 16 −1=65535bytes |
Text(65536) | mediumtext | str | 变长字符串,max16M,2 24 − 1 2^{24}-12 24 −1=16777215bytes |
Text(16777216) | longtext | str | 变长字符串,max32M,2 32 − 1 2^{32}-12 32 −1=4294967295bytes |
LargeBinary | blob | str | 二进制文件,64K |
LargeBinary(65536) | mediumblob | str | 二进制,max16M |
LargeBinary(16777216) | longblob | str | 二进制,max32M |
PickleType | blob | 任何python对象 | 自动使用Pickle序列化,只有blob |
Unicode | varchar | unicode | 变长字符串 |
UnicodeText | text | unicode | 变长字符串,64K |
Boolean | tinyint | bool | 布尔值 |
Date | date | datetime.date | 日期 |
Time | time | date.time | 时间 |
DateTime | datetime | datetime.datetime | 日期和时间 |
Interval | datetime | datetime.timedelta | 时间间隔 |
Enum | enum | str | 一组字符串 |
from sqlalchemy.dialects.postgresql import JSON
class Data(db.Model):
__tablename__ = "datas"
id = db.Column(db.Integer, primary_key=True)
smallInteger = db.Column(db.SmallInteger)
bigInteger = db.Column(db.BigInteger)
floatData = db.Column(db.Float(10))
numericData = db.Column(db.Numeric(10))
stringData = db.Column(db.String(250))
textData = db.Column(db.Text(200))
mediumText = db.Column(db.Text(65536))
longText = db.Column(db.Text(16777216))
largeBinary = db.Column(db.LargeBinary(300))
mediumBlob = db.Column(db.LargeBinary(65536))
longBlob = db.Column(db.LargeBinary(16777216))
pickle = db.Column(db.PickleType)
mediumPickle = db.Column(db.PickleType(65536))
longPickle = db.Column(db.PickleType(16777216))
unicodeData = db.Column(db.Unicode(10))
unicodeText = db.Column(db.UnicodeText)
booleanData = db.Column(db.Boolean(0))
dateData = db.Column(db.Date)
timeData = db.Column(db.Time)
dateTime = db.Column(db.DateTime)
interval = db.Column(db.Interval)
enumData = db.Column(db.Enum('father', 'mother'))
tags = db.Column(JSON) # 对应mysql是JSON,查出来是dict直接用不需要json.loads()
def __repr__(self):
return "Data {}".format(self.id)
python3.X - Web - Flask1.1.1
整章节共46节
快分享给你的小伙伴吧 ~