zoukankan      html  css  js  c++  java
  • sequelize 数据类型 model

    数据类型
    你在模型中定义的每一列都必须具有数据类型. Sequelize 提供很多内置数据类型. 要访问内置数据类型,必须导入 DataTypes:

    const { DataTypes } = require("sequelize"); // 导入内置**数据类型**
    1
    字符串

    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 作为默认值即可:

    {
    type: DataTypes.UUID,
    defaultValue: Sequelize.UUIDV4 // 或 Sequelize.UUIDV1
    }
    

      



    数据类型对照表
    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且 d<m 是小数位
    
    Sequelize.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 类型:二进制数据
    

      

  • 相关阅读:
    Mysql简单使用
    yum与rpm常用选项
    vim常用配置
    Python模块安装方式
    VirtualBox新建虚拟机常用配置
    Linux中单引号与双引号区别
    etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc等配置文件区别
    virtualenv简单使用
    SqlDataSource学习笔记20091111:ConflictDetection属性
    TreeView学习笔记20091114:遍历树(叶子节点设置多选框)并设置展开级别
  • 原文地址:https://www.cnblogs.com/ygunoil/p/14998852.html
Copyright © 2011-2022 走看看