首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >knex.js基本使用教程

knex.js基本使用教程

作者头像
岳泽以
发布2022-11-28 16:20:15
发布2022-11-28 16:20:15
3K00
代码可运行
举报
文章被收录于专栏:岳泽以博客岳泽以博客
运行总次数:0
代码可运行

1.knex

knex框架是一个ORM框架,使用knex可以用JavaScript语法指令来操作SQL语句,这大大降低了前端工程师操作进行数据库操作的难度,但是需要注意的是knex最终还是会生成SQL语句和数据库进行交互

1.1knex的安装

安装MySql数据库

代码语言:javascript
代码运行次数:0
运行
复制
npm install mysql

安装Knex

代码语言:javascript
代码运行次数:0
运行
复制
npm install knex

或者一起安装:

代码语言:javascript
代码运行次数:0
运行
复制
npm install mysql knex

1.2导包

代码语言:javascript
代码运行次数:0
运行
复制
//导包
const knex = require('knex')({
  client: 'mysql', //指定knex要操作的数据库为MySQL
  connection: {
    host : '127.0.0.1', //数据库地址
    user : 'your_database_user', //数据库登录名
    password : 'your_database_password',//数据库登录密码
    database : 'mydata' //要操作的库名称
  }
});

2.使用knex操作数据库

特性:可以使用链式语法,因为knex使用的Promise,所以最后需要一个then()和catch(),这两个都传入一个回调函数,

代码语言:javascript
代码运行次数:0
运行
复制
.then(result => {
         查询成功之后执行,参数result就是执行之后的结果.
}).catch(error => {
          查询失败之后执行,参数error是失败的原因
})

2.1查询所有数据

代码语言:javascript
代码运行次数:0
运行
复制
//语法
knex('表名').select().then(result => {
  
}).catch(error => {
  
})
//1.表名:你需要操作的表名称
//2.select方法传入需要查询的字段名,如果不传,代表全部字段查询.
//3.查询成功后,会调用then中的回调.参数result就是查询的结果.
//4.当查询失败时,就会调用catch中的回调.  error就是失败的信息.

2.2单条件查询

代码语言:javascript
代码运行次数:0
运行
复制
//语法,紧跟在select之后
knex('表名').select().where().then().catch();
 select().orWhere('nickname', 'like', '%' + q + '%')
 最终reults返回的是一个数组

2.3多条件查询

代码语言:javascript
代码运行次数:0
运行
复制
//语法
knex('表名').select().where().andWhere();
knex('表名').select().where().orWhere();

knex('student')
    .select()
    .where('name','like', '%花%')
    .orWhere('nickname','like', '%花%')
    .andWhere({isDel: 0})
    .then(result=>{
        console.log(result)
    })
    .catch(reason => {
        console.log(reason)
    })
最终reults返回的是一个数组

2.4增加数据

代码语言:javascript
代码运行次数:0
运行
复制
// insert方法传1个对象,对象的属性和数据库的字段对应.
knex('表名').insert(obj)

knex('student').insert({
    name: "王侃侃",
    nickname: "豆豆",
    gender: "男",
    age: 6,
    score: 99,
    className: "阳光幼儿园大班",
    avator: "default_avator.png"
}).then(result=>{
    console.log(result)
}).catch(reason => {
        console.log(reason)
})
//result返回值是新增的数据的id

2.5删除数据

代码语言:javascript
代码运行次数:0
运行
复制
//返回值是影响的行数,通过返回值可以对函数再作判断
knex('student').delete()
    .where({id: 14})
    .then(result => {
        console.log(result)
    })
    .catch(reason => {
        console.log(reason)
})

2.6修改数据

代码语言:javascript
代码运行次数:0
运行
复制
//返回值是影响的行数,通过返回值可以对函数再作判断
knex('student').update({
    name: "李逵"
}).where({id: 12}).then(result => {
    console.log(result)
}).catch(reason => {
    console.log(reason)
})

原文地址https://www.cnblogs.com/Code-Is-Fun/p/14819771.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022 年 11 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.knex
    • 1.1knex的安装
    • 1.2导包
  • 2.使用knex操作数据库
    • 2.1查询所有数据
    • 2.2单条件查询
    • 2.3多条件查询
    • 2.4增加数据
    • 2.5删除数据
    • 2.6修改数据
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档