SQLite3

更新时间:
2023-11-23
下载文档

SQLite3

本章主要介绍 SQLite3 的使用方法。

概述

SQLite3 是一种轻量型、进程内的关系型数据库,是 EdgerOS 内置的一种自包含的、无服务器的、零配置的事务性 SQL 数据库引擎。

使用方法

  1. 使用以下命令导入 SQLite3 数据库。

    var Sqlite3 = require("sqlite3");
    
  2. 使用以下命令建库。

    var db = Sqlite3.open(":memory:");
    
  3. 使用以下命令在数据库中建表。

    db.run("CREATE TABLE user(name text, age int);");
    

功能介绍

查询数据

请参考以下示例,该程序监听客户端发来的查询 user 数据请求, 通过 db.prepare(arg1) 执行了查询 user 表的 sql 脚本,之后遍历查询出的结果集,最后通过 stmt.finalize() 结束查询。

router.get("/list", function(req, res) {
  var data = [];
  // 查询user表的所有记录
  db.run("SELECT * FROM user;", (row) => {
    data.push(row);
  });
  res.json(data);
});

以下为前端发送查询请求示例。

getUsers: function () {
  const auth = {
  'edger-token': this.token,
  'edger-srand': this.srand
  };
  axios.get('/api/sqlite/list', {}, {headers: auth})
  .then(res => {
    // ...
  })
  .catch(function (error) {
    console.log(error);
  });
}

添加数据

请参考以下示例,该程序将前端提交的 user 数据插入到 SQLite3 数据库的 user 表中。

router.post("/add", function(req, res) {
  // 拿到提交的数据
  var user = req.body;
  // 运行sql脚本插入到数据库user表中
  db.run("INSERT INTO user VALUES(?, ?);", user.name, user.age);
  res.json({ ret: true });
});

以下为前端提交数据示例。

addUser: function () {
  const auth = {
    'edger-token': this.token,
    'edger-srand': this.srand
	};
    axios.post('/api/sqlite/add', { name: this.name, age: this.age },{headers: auth})
    .then(res => {
      // ...
	})
    .catch(function (error) {
      console.log(error);
	});
}
文档内容是否对您有所帮助?
有帮助
没帮助