資料型別
你在模型中定義的每一列都必須具有資料型別. 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...