Fastweb - Lua操作SQLite数据库

本文演示FastWeb网站开发中处理SQLite数据库

示例演示如何创建、查询、删除与更新,SQL在文章底部。

Lua 复制代码
local dkjson = require("dkjson")
local db = sqlite_db.new()
-- 清空示例
function sqlite_delete()
    -- 清空数据
    local ppst = db:setsql("DELETE FROM users")
    ppst:update()
end
-- 插入数据
function sqlite_insert()
    local ppst = db:setsql("INSERT INTO users(username,password)VALUES(?,?)")
    -- 文本
    ppst:set_str(1,"fastweb")
    ppst:set_str(2,"123456")
    ppst:update()
end
-- 更新数据
function sqlite_update()
    local ppst = db:setsql("UPDATE users SET password = ? WHERE username = ?")
    ppst:set_str(1,"666666")
    ppst:set_str(2,"fastweb")
    ppst:update()
end
-- 查询数据
function sqlite_select()
    local ppst = db:setsql("SELECT * FROM users WHERE id > 0")
    ppst:set_i32(1,0)
    -- 查询结果
    local result = ppst:query();

    local users = {}
    while result:next() do
        local user = {
            username = result:get("username"),
            password = result:get("password"),
        }
        table.insert(users,user)
    end
    return users;
end


-- 打开
if db:open("data.db") == false then
	response:send("sqlite open failed,"..db:last_error())
	return
end
-- 创建表
local ppst = db:setsql("CREATE TABLE users(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, username TEXT, password TEXT );")
if ppst ~= nil then
	ppst:update()
end

--sqlite_delete()
sqlite_insert()
sqlite_update()
sqlite_select()
local users =sqlite_select()
response:send(dkjson.encode(users))
相关推荐
百锦再9 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
kangzerun9 天前
SQLiteManager:一个优雅的Qt SQLite数据库操作类
数据库·qt·sqlite
用户5757303346249 天前
AIGC 时代数据库革命:告别手写 SQL,用自然语言驾驭 SQLite
sqlite
GDAL10 天前
better-sqlite3 深度教程:为什么它比 node‑sqlite3 更好、怎么用、什么时候不该用
sqlite·better-sqlite3
GDAL10 天前
SQLite 与 MySQL 性能深度对比:场景决定最优解
数据库·mysql·sqlite
钟智强11 天前
CVE-2025-49844高危预警:Redis Lua脚本引擎UAF漏洞深度剖析与POC实战
数据库·redis·web安全·junit·lua
钱彬 (Qian Bin)11 天前
FastAPI的Alembic踩坑记录:缺失历史迁移脚本如何保留数据重建版本控制
sqlite·fastapi·数据库迁移·alembic
闲人编程11 天前
聚合管道与复杂查询
开发语言·oracle·lua·match·查询·聚合·lookup
qq_4542450312 天前
GraphMindStudio 数据操作层解析:基于 SQLite 的封装与自动化存储
sqlite·c#
喵手12 天前
Python爬虫实战:Boss直聘职位数据采集实战 - Playwright + 结构化解析完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·sqlite·爬虫实战·playwright·boss直聘职位数据采集·结构化解析