Skip to content

Lua数据库操作

数据库连接

Lua通过LuaSQL库连接数据库。首先需要安装并导入LuaSQL库,然后创建数据库连接对象。

lua
local luasql = require "luasql.mysql"

-- 创建环境对象
local env = luasql.mysql()

-- 创建连接对象
local conn = env:connect("database_name", "username", "password", "hostname", port)

执行SQL语句

使用连接对象的execute方法执行SQL语句。

lua
-- 创建表
conn:execute("CREATE TABLE users(id INT PRIMARY KEY, name VARCHAR(255))")

-- 插入数据
conn:execute("INSERT INTO users VALUES(1, 'John')")

-- 查询数据
local cursor = conn:execute("SELECT * FROM users")

处理查询结果

使用游标对象遍历查询结果。

lua
local row = cursor:fetch({}, "a")
while row do
  print(row.id, row.name)
  row = cursor:fetch(row, "a")
end

错误处理

使用pcall捕获数据库操作中的错误。

lua
local status, err = pcall(function()
  conn:execute("INVALID SQL")
end)

if not status then
  print("SQL Error:", err)
end

关闭连接

操作完成后关闭连接。

lua
cursor:close()
conn:close()
env:close()

基于 MIT 许可发布