python3使用SQLAlchemy对mysql数据类型的映射关系表
数据类型关系表
类型名 |
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 |
Text(65536) |
mediumtext |
str |
变长字符串,max16M |
Text(16777216) |
longtext |
str |
变长字符串,max32M |
LargeBinary |
blob |
str |
二进制文件,64K |
LargeBinary(65536) |
mediumblob |
str |
二进制,max16M |
LargeBinary(16777216) |
longblob |
str |
二进制,max32M |
PickleType |
blob |
任何python对象 |
自动使用Pickle序列化,只有blob,存json数据 |
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 |
一组字符串 |
字段设置对照表
属性 |
描述 |
生效值 |
primary_key |
主键 |
True |
unique |
键值唯一性 |
True |
index |
索引 |
True |
nullable |
空值 |
True |
default |
默认值 |
null |
python代码示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| 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'))
def __repr__(self): return "Data {}".format(self.id)
|