51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

knex.js基本使用教程

1.knex

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

1.1knex的安装

安装MySql数据库

npm install mysql

安装Knex

npm install knex

或者一起安装:

npm install mysql knex

1.2导包

//导包
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(),这两个都传入一个回调函数,

.then(result => {
         查询成功之后执行,参数result就是执行之后的结果.
}).catch(error => {
          查询失败之后执行,参数error是失败的原因
})

2.1查询所有数据

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

2.2单条件查询

//语法,紧跟在select之后
knex('表名').select().where().then().catch();
 select().orWhere('nickname', 'like', '%' + q + '%')
 最终reults返回的是一个数组

2.3多条件查询

//语法
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增加数据

// 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删除数据

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

2.6修改数据

//返回值是影响的行数,通过返回值可以对函数再作判断
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

赞(0)
未经允许不得转载:工具盒子 » knex.js基本使用教程