第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

【呆鳥譯Py】玩轉(zhuǎn)SQLAlchemy 03 - 數(shù)據(jù)類型

標(biāo)簽:
MySQL

SQLAlchemy 主要支持以下四种数据类型:

  • SQLAlchemy 通用类型

  • SQL 标准类型

  • 数据库方言专属类型

  • 用户自定义类型

SQLAlchemy 通用类型

SQLAlchemy 从各种数据库的 SQL 数据类型中提取通用类型,并将之存储在 sqlalchemy.types 模块里,为了方便调用,sqlalchemy 模块里也存储了通用类型。

比如,布尔数据类型一般是 SQL 的 BOOLEAN 类型,不过,有些数据库不支持 BOOLEAN,用的是 SMALLINT,借助 SQLAlchemy,则大可不必再去关心这些细节,在 Python 代码里只要写 TrueFalse 就行了。

SQLAlchemy 通用类型在数据库迁移时特别实用,比如数据仓库里用 MySQL,而迁移的数据库用的是 Oracle,这时候用通用类型就不用考虑这两种数据库的数据类型区别,是不是简单多了!

通用类型、Python 与 SQL 对应的说明见下表:

SQLAlchemyPythonSQL
BigIntegerintBIGINT
BooleanboolBOOLEAN 或 SMALLINT
Datedatetime.dateDATE (SQLite: STRING)
DateTimedatetime.datetimeDATETIME (SQLite: STRING)
EnumstrENUM 或 VARCHAR
Floatfloat  或 DecimalFLOAT  或 REAL
IntegerintINTEGER
Intervaldatetime.timedeltaINTERVAL 或 DATE from epoch
LargeBinarybyteBLOB 或 BYTEA
Numericdecimal.DecimalNUMERIC 或 DECIMAL
UnicodeunicodeUNICODE 或 VARCHAR
TextstrCLOB 或 TEXT
Timedatetime.timeDATETIME

webp

提示

编写 SQLAlchemy 程序时经常会用到通用类型,一定要牢记本表的内容。

此表摘自 Essential SQLAlchemy 一书。

SQL 标准类型

SQL 标准类型存储在 sqlalchemy.types 模块里,为了区分 SQLAlchemy 通用类型,SQL 标准类型用大写字符表示。

用处理 SQLAlchemy 定义概构时,一定要精准匹配数据类型。这里特别要注意,不同数据库的 SQL 标准类型会不同,要注意这些区别。

如果数据库概构已经指定使用 SQL 的某种特定类型,就不宜再用 SQLAlchemy 的通用类型,而建议使用 SQL 标准类型,比如,CHARNVARCHAR 这两种类型。

方言专属类型

方言专属类型存储在 sqlalchemy.dialects 模块里,每种方言都有对应的子模块。为了区分 SQLAlchemy 通用类型,这些类型也用大写字符表示。比如,下列语句调用 PostgreSQL 的 JSON 字段。

from sqlalchemy.dialects.postgresql import JSON

和 SQL 标准类型一样,方言专属类型也非常实用。只是这种数据类型只能在特定数据库里生效。要想了解具体方言专属类型,请查看该方言文档或

用户自定义类型

SQLAlchemy 支持根据数据存储方式自行定义数据类型。比如,向数据库增加记录时为 VARCHAR 列的文本添加前置字符;等到从字段里提取文本时,再去除前置字符。为新系统里的老系统遗留数据添加前缀时,这种自定义类型非常实用。

了解数据类型后,下一篇文章学习怎么用元数据封装数据库概构



作者:呆鸟的简书
链接:https://www.jianshu.com/p/f1364df32652


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消