sql 数据表操作
2022-12-22 14:26:23 最后更新
用法:

--创建数据表
local table = "_id integer primary key,url text, filename text,status interger,createTime datetime"
local b = i:sql(data, "info", "add", table)

--判断数据表是否存在
local b = i:sql(data, "info", "ip")
syso(b)

--删除数据表
local b = i:sql(data, "info", "del")
syso(b)

--添加数据表一条数据
local table = "url,filename,status,createTime"
local value = "'http://abc.com/abc.apk', 'abc.apk', 1, '" .. i:time(0) .. "'"
local b = i:sql(data, "info", "add", table, value)
syso(b)

--修改数据表的数据,若不需要设置条件(status=2)可设为 nil 视为适用于执行所以数据
local b = i:sql(sss.data, "info", "up", "status=2", "_id=1")
syso(b)

--删除数据表的数据,若不需要设置条件(_id=1)可设为 nil 视为适用于执行所以数据
local b = i:sql(sss.data, "info", "del", "_id=1")
syso(b)

--查询,若不需要设置条件(status=1 order by _id desc LIMIT 0,1)可设为 nil 视为适用于执行所以数据

-- LIMIT <跳过的数据数目>, <取数据数目>
local table = "_id,url,filename,status,createTime"
local sqlx = "status=1 order by _id desc LIMIT 0,1"
local da = i:sql(sss.data, "info", "sele", table, sqlx)

--自定义sql查询
--local sqlx = "select _id,url,filename,status,createTime from info where status=1 order by _id desc LIMIT 0,1"
--local da = i:sql(data, sqlx)

--光标对象移到下一条数据
local ee = i:sqlsele(da, "next")
while ee do

--获取光标对象的第一列数据
local e = i:sqlsele(data, 0)
syso(e)

--获取光标对象的第二列数据
local e = i:sqlsele(data, 1)
syso(e)

--光标对象移到下一条数据
ee = i:sqlsele(data, "next")
end

--自定义的sql执行,需要对sql语法了解才能灵活运用
local sqlx = "insert into info (url,filename,status,createTime) values ('http://abc.com/abc.apk', 'abc.apk', 1, '2016-7-31 10:31:21')"
i:sql(sqlx, data)

说明:
数据表的操作。

注意:
在执行sql语句的时候,需要注意你的字符串的特殊字符的转义。
     /   ->    //
     '   ->    ''
     [   ->    /[
     ]   ->    /]
     %   ->    /%
     &   ->    /&
     _   ->    /_
     (   ->    /(
     )   ->    /)