nodejs---sqlite数据库API使用及增删查改

sqlite:小巧轻型的文件数据库,无需安装,无需管理配置,无服务器,占用资源非常的低,操作简单,使用方便。

全局安装【npm install sqlite3 -g】

API使用介绍:

API

用法

功能

Database

new sqlite3.Database(filename,[mode],[callback])

返回数据库对象并且自动打开和连接数据库。它没有独立打开数据库方法

verbose

sqlite3.verbose()

集成数据库的执行模式,以便于调试,它没有重置的方法

close

 

Database#close([callback])

关闭和释放数据库对象。

all

Database#all(sql,[param,...],[callback])

返回所有查询到的语句。

运行指定参数的sql语句,完成过后调用回调函数。如果执行成功,则回调函数中的第一个参数为null,第二个参数为查询的结果集,反之,则只有一个参数,且参数的值为一个错误的对象。

each

Database#each(sql,[param,...],[callback])

逐条返回所有查询到的语句。

对于每个检索到的行,该方法都会调用一次回调。执行顺序与结果集中的行顺序完全对应。

get

Database#get(sql,[param,...],[callback])

运行指定参数的sql语句,完成过后调用回调函数。如果执行成功,则回调函数中的第一个参数为null,第二个参数为结果集中的第一行数据,反之则回调函数中只有一个参数,只参数为一个错误的对象。

prepare

prepare(sql,[param,...],[callback])

预执行绑定指定参数的sql语句,返回一个Statement对象,如果执行成功,则回调函数的第一个参数为null,反之为一个错误的对象。

run

Database#run(sql,param,...],[callback])

运行指定参数的sql语句,完成之后调用回调函数,它不返回任何数据,在回调函数里面有一个参数,sql语句执行成功,则参数的值为null,反之为一个错误的对象,它返回的是数据库的操作对象。在这个回调函数里面当中的this,里面包含有lastId(插入的ID)和change(操作影响的行数,如果执行sql语句失败,则change的值永远为0)。

增删查改操作:

(1)数据查询

数据表如下:

// const express = require("express")
const sqlite3 = require("sqlite3").verbose()
// const app = express()
// sqlites数据库地址
let sqliteDbPath = "C:\\Users\\lenovo\\Desktop\\Demo.db"
// 打开sqlites数据库
var db = new sqlite3.Database(sqliteDbPath)
// all查询所有数据
db.all(`select * from user`, function(err, row) {
    if (err) throw err
    else {
        console.log('all查询结果', row)
        // console.log(JSON.stringify(row));
    }
})

// each逐条查询数据
db.each("select * from user", function(err, row) {
    if (err) throw err
    else {
        console.log('each查询结果:', row)
    }
})

// 按条件查询
db.each("select * from user where username=?", 'miao', function(err, row) {
    if (err) throw err
    else {
        //console.log(row)
    }
})

查询结果:all和each均可查询到表中的所有数据,但是all方法是执行一次完成所有数据的查询,而each方法是逐条输出数据,对于每个检索到的行,该方法都会调用一次回调。执行顺序与结果集中的行顺序完全对应。

(2)数据增加

// 增加一条数据
var sql_add = db.prepare(`insert into user (username, password, email) values('buding', '1111', '221@sdsd.com')`)
sql_add.run()
console.log(sql_add)

(3)数据删除

// 删除数据
var sql_del = db.prepare(`delete from user where username='buding'`)
sql_del.run()

(4)数据修改

// 修改一条数据
var sql_modify = db.prepare(`update user set username='buding' where id=1`)
sql_modify.run()

 

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能