FlaskSqlalchemy 常用数据类型

Posted 小小易拉罐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FlaskSqlalchemy 常用数据类型相关的知识,希望对你有一定的参考价值。

### SQLAlchemy常用数据类型:
1. Integer:整形,映射到数据库中是int类型。
2. Float:浮点类型,映射到数据库中是float类型。他占据的32位。
3. Double:双精度浮点类型,映射到数据库中是double类型,占据64位。
4. String:可变字符类型,映射到数据库中是varchar类型.
5. Boolean:布尔类型,映射到数据库中的是tinyint类型。
6. DECIMAL:定点类型。是专门为了解决浮点类型精度丢失的问题的。在存储钱相关的字段的时候建议大家都使用这个数据类型。并且这个类型使用的时候需要传递两个参数,第一个参数是用来标记这个字段总能能存储多少个数字,第二个参数表示小数点后有多少位。
7. Enum:枚举类型。指定某个字段只能是枚举中指定的几个值,不能为其他值。在ORM模型中,使用Enum来作为枚举

8. Date:存储时间,只能存储年月日。映射到数据库中是date类型。在Python代码中,可以使用`datetime.date`来指定

9. DateTime:存储时间,可以存储年月日时分秒毫秒等。映射到数据库中也是datetime类型。在Python代码中,可以使用`datetime.datetime`来指定。示例代码如下:

10. Time:存储时间,可以存储时分秒。映射到数据库中也是time类型。在Python代码中,可以使用`datetime.time`来至此那个。

11. Text:存储长字符串。一般可以存储6W多个字符。如果超出了这个范围,可以使用LONGTEXT类型。映射到数据库中就是text类型。
12. LONGTEXT:长文本类型,映射到数据库中是longtext类型。

 

 1 # coding:utf-8
 2 # Author: liangjun.chen
 3 
 4 from datetime import date
 5 from datetime import datetime
 6 from datetime import time
 7 
 8 from sqlalchemy import create_engine, Column, Integer, String, Float, Boolean, DECIMAL, Enum, Date, DateTime, Time, Text
 9 from sqlalchemy.dialects.mysql import LONGTEXT
10 
11 from sqlalchemy.ext.declarative import declarative_base
12 from sqlalchemy.orm import sessionmaker
13 
14 HOSTNAME = 127.0.0.1
15 PORT = 3306
16 DATABASE = sqlalchemy_first
17 USERNAME = root
18 PASSWORD = 123456
19 
20 DB_URI = mysql+pymysql://{username}:{password}@{host}:{port}/{dbname}?charset=utf8.format(
21         username=USERNAME, password=PASSWORD, host=HOSTNAME, port=PORT, dbname=DATABASE
22 )
23 engine = create_engine(DB_URI)
24 Base = declarative_base(engine)
25 Session = sessionmaker(engine)
26 session = Session()
27 
28 
29 class Artile(Base):
30     __tablename__ = article
31     id = Column(Integer, primary_key=True, autoincrement=True)
32     price = Column(Float)
33     is_delete = Column(Boolean)
34     money = Column(DECIMAL(10, 4))
35     language = Column(Enum(python, flask))
36     create_date = Column(Date)
37     create_datetime = Column(DateTime)
38     content = Column(String(100))
39     create_time = Column(Time)
40     content_text = Column(Text)
41     long_text = Column(LONGTEXT)
42 
43 Base.metadata.drop_all()
44 Base.metadata.create_all()
45 
46 article = Artile(price=3.1415926, is_delete=True, money=10000.1234, language=flask,
47                  create_date=date(2018,3,22), create_datetime=datetime(2018,3,22,22,51,00), content=tesxxxx,
48                  create_time=time(22,57,00), content_text=text, long_text=longtext)
49 session.add(article)
50 session.commit()

 









以上是关于FlaskSqlalchemy 常用数据类型的主要内容,如果未能解决你的问题,请参考以下文章

15Java常用类(数组工具类Arrays)基本类型包装类(Integer类)正则表达式String的split(String regex)和replaceAll(String regex, (代码片

FlaskSqlalchemy group_by having

Python range 数据类型 [学习 Python 必备基础知识][看此一篇就够了][range()][range 元素元素检测元素索引查找切片负索引][检测 range 对象是否相等](代码片

Python range 数据类型 [学习 Python 必备基础知识][看此一篇就够了][range()][range 元素元素检测元素索引查找切片负索引][检测 range 对象是否相等](代码片

转载 WCDMA中码片速率符号速率bit速率 WCDMA常用概念

System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。(代码片