Sequelize 傻瓜式操作

心不动则不痛 提交于 2019-12-01 05:22:34

(对于我这种前端不精,后端菜鸡的noder的mysql增删改查的教程。。。。)

模型创建,对数据的操作都建立在模型的基础上

const Sequelize = require('sequelize');
const sequelize  = new Sequelize(database,username,password,{
    host:host,
    dialect:'mysql',
});

const User = sequelize.define('userinfo',{
        id: {
        type: Sequelize.STRING(50),
        primaryKey: true//主键
    },
    username: Sequelize.STRING,//用户名
    password: Sequelize.STRING,//密码 字符串
    role: Sequelize.INTEGER,//权限 整数
},{freezeTableName: true,timestamps: false});//timestamp字段表示数据库中是否会自动更新createdAt和updatedAt字段,false表示不会增加这个字段。freezeTableName为false表示该模型对应的表明就为userinfo表,默认时为true,对应表名为userinfos

增加数据

            User.create({username, password, role})//username role password对应相应的字段名
              .then(ok => res.json({status: 'ok'}))
              .catch(e => res.json({status: 'error', message: e}));//异常捕获

删除数据

 User.destroy({where: {username}})//where是指定查询条件
        .then(ok =>console.log('ok'))//删除成功的回调
        .catch(e => res.json({status: 'error', message: e}));

修改数据

      User.update({
        password: newpassword//修改的字段对应的内容
      }, {
          where: {
            username: username//查询条件
          }
        })
        .then(ok => console.log('ok'))
        .catch(e => res.json({status: 'error', message: e}));

数据查询

模型的all方法,返回表中的所有数据

User
.findOne({//还有find、findAll等方法
where: {
username: username//查询条件
}
}).then(result=>{
console.log(result)//空时为null
})

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!