如何从Lua内部连接和查询MySQL?

Ted*_*dyH 13 mysql lua

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

如果存在一个好的/受欢迎的图书馆,它是什么?

Sta*_*nov 6

LuaSQL的最小woking示例- 从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
Run Code Online (Sandbox Code Playgroud)

如果找不到模块luasql.mysql,则使用第1行.也可以使用环境变量LUA_CPATH.


NUL*_*ter 5

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

con = assert (env:connect("dbname","user","password","host",port))
Run Code Online (Sandbox Code Playgroud)

  • @71GA 这就是“密码”的地方 - 将其替换为您的密码。 (2认同)

Jud*_*den 4

来自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
Run Code Online (Sandbox Code Playgroud)