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))
相关推荐
不是株5 小时前
AI Agent 记忆系统全解:从 Markdown、SQLite、向量检索到 GraphRAG
sqlite·知识图谱·agent·memory·graphrag·harness
触底反弹8 小时前
面试被问到 Text2SQL,我用 DeepSeek 自己实现了一个
python·sqlite
susplus8 小时前
【linux应用软件编程】数据库sqlite3
linux·数据库·sqlite
玖玥拾10 小时前
Lua 基础语法(二)
开发语言·unity·lua
玖玥拾15 小时前
Lua 基础语法(三) 元表 metatable、元方法、模拟面向对象
开发语言·unity·lua
小诗懂技术16 小时前
【sqlite3数据库】一站式学会 增删改查 以及数据库c接口编程
数据库·sqlite
盟道科技2 天前
Redis+Lua 实现滑动窗口限流:从固定窗口踩坑到生产可用的完整方案
redis·junit·lua
张人玉2 天前
基于 C# WinForms + .NET 8 + SQLite + TCP Socket 的多连接通讯调试工具——TCP通讯助手(TcpAssistant)
tcp/ip·sqlite·c#·.net
一直C3 天前
Linux应用软件编程|嵌入式轻量级数据库SQLite3完整学习笔记(命令行+C语言API)
linux·sqlite
Discipline~Hai3 天前
Linux网络编程05-sqlite3数据库
linux·c语言·网络·数据库·sqlite·linux应用软件编程