zoukankan      html  css  js  c++  java
  • Sequelize入门一

    最近刚开始接触Sequelize,当中遇到不少坑,所以想写篇Sequelize入门和大家分享,避免有道友和我一样爬坑。 学习sequelize的初衷是想解决SQL注入,它支持MySQL, SQLite, MariaDB and MSSQL,文中以MySQL举例。

    第一步:实例化sequelize数据库连接

    var Sequelize = require('sequelize');
    var sequelize = new Sequelize('database','user','password',{host : 'XXX', port : 'XXX', dialect : 'mysql'});

    当然,我只是用了最简单的连接方式,具体的参数详见http://www.nodeclass.com/api/sequelize.html

    第二步:定义Model,通俗来说就是将你的表结构定义出来。

    var a= sequelize.define('a', {
            id: {type: Sequelize.STRING, max: 20},
            Typess: {type: Sequelize.STRING, max: 20},
            startStation: {type: Sequelize.STRING, max: 20},
            endStation: {type: Sequelize.STRING, max: 20},
            R_Date: {type: Sequelize.STRING, max: 20},
            Distance: {type: Sequelize.STRING, max: 20}
        },{ freezeTableName: true,
            timestamps: false})

    define里面的第一个参数是表名;第二个参数是定义字段,这里我只是最简单的定义了类型、长度,类如是否允许为空,default值等等就需要大家参考文档了; 第三个参数不填的话会使用默认定义选项提供给Sequelize构造函数。此处让我爬坑爬了许久...

    简单介绍下其中的两个参数:

    freezeTableName: 默认为false,当为false时,如果你数据库中已有表a的话,sequelize会修改你的表名,我测试的结果是帮我的表名"a" 加了个s,导致我查询表a的数据时,总会报不存在该表。

    timestamps: 默认为true,它会为你的表添加两个额外的字段“createdAt”、"updatedAt"。

  • 相关阅读:
    python第一个项目:爬取一个网站的所有图片
    python学习笔记(3)
    python学习笔记(3)
    python学习笔记(2)
    python学习笔记(2)
    机器学习入门(1)
    centos7安装google-chrome
    linux 系统监控命令之 top-(转自 Howie的专栏)
    linux 磁盘管理命令之df-(转自 Howie的专栏)
    sizeof()用法汇总-(转自风雷)
  • 原文地址:https://www.cnblogs.com/showtime813/p/4512699.html
Copyright © 2011-2022 走看看