如何在Lua中连接和查询MySQL?

如何使用Lua编程语言连接到MySQL数据库?

如果存在一个好的/流行的库,它是什么?

原文链接 https://stackoverflow.com/questions/3432864

点赞
stackoverflow用户1491
stackoverflow用户1491

LuaSQL - Lua编程语言的数据库连接性

require "luasql.mysql"
env = assert (luasql.mysql())
con = assert (env:connect"my_db")
for id, name, address in rows (con, "select * from contacts") do
  print (string.format ("%s: %s", name, address))
end

要求“luasql.mysql”库,创建一个环境并连接到“my_db”数据库。通过在“contacts”表中选择所有行,将属性id,name和address的值作为行元素遍历并打印。

2010-08-09 13:52:21
stackoverflow用户4265407
stackoverflow用户4265407

LuaSQL 的最小工作示例

这是一个从 Lua 到 DBMS 的简单接口。

package.cpath = package.cpath .. ";/usr/lib/i386-linux-gnu/lua/5.1/?.so"

luasql = require "luasql.mysql"

env = assert (luasql.mysql())
con = assert (env:connect("dbname","user","password"))
cur = assert (con:execute("SHOW TABLES"))

row = cur:fetch ({}, "a")
while row do
  print(string.format("Name: %s", row.Tables_in_dbname))
  row = cur:fetch (row, "a")
end

如果在线路 1 中无法找到 luasql.mysql 模块,则使用。(也可以使用环境变量 LUA_CPATH。)

2014-11-18 12:15:50
stackoverflow用户1978448
stackoverflow用户1978448

如果你的 mysql 数据库是远程的,你可以将主机添加为另一个可选参数进行连接。端口也可以跟随主机:

con = assert (env:connect("dbname","user","password","host",port))
2015-06-25 05:33:37