sequelize v5 資料型別

2021-10-09 17:24:05 字數 4477 閱讀 7822

資料型別

你在模型中定義的每一列都必須具有資料型別. sequelize 提供很多內建資料型別. 要訪問內建資料型別,必須匯入 datatypes:

const  = require("sequelize"); // 匯入內建**資料型別**
字串

datatypes.string             // varchar(255)

datatypes.string(1234) // varchar(1234)

datatypes.string.binary // varchar binary

datatypes.text // text

datatypes.text('tiny') // tinytext

datatypes.citext // citext 僅 postgresql 和 sqlite.

布林

datatypes.boolean            // tinyint(1)
數字

datatypes.integer            // integer

datatypes.bigint // bigint

datatypes.bigint(11) // bigint(11)

datatypes.float // float

datatypes.float(11) // float(11)

datatypes.float(11, 10) // float(11,10)

datatypes.real // real 僅 postgresql.

datatypes.real(11) // real(11) 僅 postgresql.

datatypes.real(11, 12) // real(11,12) 僅 postgresql.

datatypes.double // double

datatypes.double(11) // double(11)

datatypes.double(11, 10) // double(11,10)

datatypes.decimal // decimal

datatypes.decimal(10, 2) // decimal(10,2)

無符號和零填充整數 - 僅限於mysql/mariadb

在 mysql 和 mariadb 中,可以將資料型別integer, bigint, float 和 double 設定為無符號或零填充(或兩者),如下所示:

datatypes.integer.unsigned

datatypes.integer.zerofill

datatypes.integer.unsigned.zerofill

// 你還可以指定大小,即integer(10)而不是簡單的integer

// 同樣適用於 bigint, float 和 double

日期

datatypes.date       // datetime 適用於 mysql / sqlite, 帶時區的timestamp 適用於 postgres

datatypes.date(6) // datetime(6) 適用於 mysql 5.6.4+. 支援6位精度的

小數秒

datatypes.dateonly   // 不帶時間的 date
uuid

對於 uuid,使用 datatypes.uuid. 對於 postgresql 和 sqlite,它會是 uuid 資料型別;對於 mysql,它則變成char(36). sequelize 可以自動為這些字段生成 uuid,只需使用 sequelize.uuidv1 或 sequelize.uuidv4 作為預設值即可:

資料型別對照表

model 的資料型別對應mysql中的資料型別

sequelize.string                      // varchar(255)                  型別:字串 最大值: 65535個字元

sequelize.string(1234) // varchar(1234) 型別:變長 最大值: 65535個字元

sequelize.text // text 型別:字串 最大值:65535個字元

sequelize.text('tiny') // tinytext 型別:字串 最大值:255個字元

sequelize.integer // integer 型別:整型 最大值:範圍(-2147483648~2147483647)

sequelize.bigint // bigint 型別:整型 最大值:範圍(+-9.22*10的18次方)

sequelize.bigint(11) // bigint(11) 型別:整型 最大值:範圍(+-9.22*10的18次方)

sequelize.float // float 型別:單精度浮點型 8位精度(4位元組)

sequelize.float(11) // float(11) 型別:單精度浮點型 8位精度(4位元組)

sequelize.float(11, 12) // float(11,12) 型別:精度浮點型 8位精度(4位元組) m總個數,d小數字

sequelize.double // double 型別:雙精度浮點型 16位精度(8位元組)

sequelize.double(11) // double(11) 型別:雙精度浮點型 16位精度(8位元組)

sequelize.double(11, 12) // double(11,12) 型別:雙精度浮點型 16位精度(8位元組) m總個數,d小數字

sequelize.decimal // decimal 型別:定點數型

sequelize.decimal(10, 2) // decimal(10,2) 型別:定點數型 引數m<65 是總個數,d<30且 dsequelize.date // datetime 型別:日期時間型別 範例:'2009-05-12 02:31:44'

sequelize.date(6) // datetime(6)

sequelize.dateonly // date without time.

sequelize.boolean // tinyint(1) 型別:整型 範圍(-128~127)

sequelize.enum('value 1', 'value 2') // enum 型別:列舉

sequelize.blob // blob 型別:二進位制資料

sequelize.blob('tiny') // tinyblob 型別:二進位制資料

5 資料型別

redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 1.string string是redis最基本的型別,型別的值最大能儲存512mb,可以理解成與memcached一模一樣的型別,乙個key對應乙個 value...

Python資料型別(5)

前面,我們講到了改進文字小遊戲的要求以及每乙個要求實現的具體步驟,今天,我們繼續來學習。不過今天講的東西,前面已經用到過了 python的資料型別和python的資料型別 1 python的資料型別 跟其他的語言一樣,python的資料型別也包括 整型 int 布林型別 bool 浮點型 float...

PHP 5 資料型別

php 5 資料型別 string 字串 integer 整型 float 浮點型 boolean 布林型 array 陣列 object 物件 null 空值 乙個字串是一串字元的序列,就像 hello world 你可以將任何文字放在單引號和雙引號中 x hello world echo x e...