標籤:long 字元類型 let nbsp esx password 布爾 lang color
### 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 LONGTEXT10 11 from sqlalchemy.ext.declarative import declarative_base12 from sqlalchemy.orm import sessionmaker13 14 HOSTNAME = ‘127.0.0.1‘15 PORT = 330616 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=DATABASE22 )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()
【Flask】Sqlalchemy 常用資料類型