lua簡單操作sqlite3

2021-06-23 07:53:59 字數 1908 閱讀 8052

本文源自:

luasql模組支援sqlite3,可以完成最基本的資料庫功能,不過官方文件上寫得不是很詳細。掃了下源**,外加實驗了下,得出了點經驗。

windows xp,luaforwindows

require"luasql.sqlite3"

function enum******table(t)

print"-------------------"

fork,v in pairs(t) do

print(k, " = ", v)

endprint"-------------------\n"

endfunction rows(cur)

returnfunction(cur)

localt = {}

if(nil~= cur:fetch(t, 'a')) then return t

elsereturn nil end

end,cur

endenv = assert(luasql.sqlite3())

db =assert(env:connect("test.db"))

db:setautocommit(false)

res = assert(db:execute [[create tablepeople(name text, *** text)]])

res = assert(db:execute [[insert intopeople values('程式猿','男')]])

res = assert(db:execute [[insert intopeople values('程式猿老婆', '女')]])

assert(db:commit())

res = assert(db:execute [[select * frompeople]])

colnames = res:getcolnames()

coltypes = res:getcoltypes()

enum******table(colnames)

enum******table(coltypes)

for r in rows(res) do

enum******table(r)

endres:close()

db:close()

env:close()

env = luasql.sqlite3()

close()

關閉環境。請先關閉所有connection物件。

con = env:connect(sqlite3_database_file_path)

res = execute(sql_statement)

執行sql語句

setautocommit(bauto)

commit()

提交事務

rollback()

回滾事務

close()

關閉資料庫連線,請先關閉所有的cursor物件

rowed = getlastautoid()

獲取最近一次自動生成的sqlite的rowid字段值(對應sqlite3_last_insert_rowid())

con:execute(select_sql_statement)

colnametable = getcolnames()

以table形式返回記錄集中每一列的列名

coltypetable = getcoltypes()

以table形式返回記錄集中每一列的型別

res = fetch([table[,modestring]])

獲取下乙個記錄集

res:如果未指定table,則返回記錄,如果指定了table,則返回修改後的table;如果沒有下一記錄了,則返回nil

close()

關閉cursor物件

sqlite3簡單命令操作

sqlite3簡單命令操作 sqlite3命令 在控制台中輸入sqlite3 幫助命令 help 退出命令 quit exit 建立乙個新的資料庫 sqlite3 檔案名字 在db目錄中新建乙個test.db資料庫檔案 mkdir db cd db sqlite3 test.db sqlite3 已...

使用sqlite3 模組操作sqlite3資料庫

python內建了sqlite3模組,可以操作流行的嵌入式資料庫sqlite3。如果看了我前面的使用 pymysql 操作mysql資料庫這篇文章就更簡單了。因為它們都遵循pep 249,所以操作方法幾乎相同。廢話就不多說了,直接看 吧。都差不多,首先匯入模組,然後建立連線,然後獲取游標物件,之後利...

otl 操作 sqlite3 簡單例子

我用sqlite3作為odbc,在vc6.0下試了以下程式沒有問題,可以用 define odbcver 0x0250 c c code include iostream using namespace std include stdio.h include string h include std...