继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【备战春招】第8天 Sequlize 插入数据 查询数据

stb烙饼
关注TA
已关注
手记 84
粉丝 2
获赞 4

课程章节:第2章 技术选型和知识点介绍(上)2-15 2-16

课程讲师双越

课程内容

插入数据

插入数据,输入IO操作,IO操作属于异步操作。传统的回调函数不太优雅,所以我们使用async/await来解决异步。

语法:

Model.create({});

例如:

const User = require('./userModel');

async function() {
    // 创建用户
    const user = await User.create({
        username: 'zhangsan',
        password: '123456'
    })
    // 底层会执行一个 SQL 语句:insert info users (...) values (...)
    console.log("user:", user.dataValues)
}

查询数据

查询数据是最频繁的操作,Sequelize 提供了几个方法:

  • 查询一条数据:Model.findOne({where: {字段: 字段值}}),会打印一条完整的记录。
  • 查询一条数据的特定列:Model.findOne({attrubutes:[’’,’’], where: {}}),只打印一条数据的某些字段
  • 查询所有数据:Model.findAll()

例如,查询用户名为 zhangsan 的记录:

const User = require('./userModel');

async function() {
    const user = await User.findOne({
      where: {
           username: 'zhangsan',
      }
    })
    
    console.log("user:", user.dataValues)
}

分页查询

分页查询要使用 limit 和 offset 属性去限制查询的数量和偏移量。例如,每页显示两条数据,跳过0条开始查询,就是从0条开始查询,即查询第一页的数据。

const User = require('./blogModel');

async function() {
    const blog = await Blog.findAll({
      limit: 2, // 限制本次查询 2 条记录
      offset: 0, // 跳过0条,即查询第一页
      order: [
          ['id', 'desc']
      ]
    })
}

查询总数

如果需要快速查询某张表中一共有多少条记录,可以使用:

Model.findAndCountAll();

图片描述

课程收获

数据库操作最基本的就是增删改查 CRUD,这节课学习了使用 Sequelize 通过 create 方法完成数据的插入和常用的查询操作。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP