Acceso a bases de datos Lua

Este artículo presenta principalmente la biblioteca de operaciones de bases de datos de Lua:LuaSQLEs de código abierto, y las bases de datos compatibles incluyen: ODBC, ADO, Oracle, MySQL, SQLite y PostgreSQL.

Este artículo presenta la conexión a la base de datos MySQL.

LuaSQL se puedeLuaRocksinstalar; según sea necesario, se pueden instalar los controladores de base de datos que necesites.

Método de instalación de LuaRocks:

$ wget http://luarocks.org/releases/luarocks-2.2.1.tar.gz
$ tar zxpf luarocks-2.2.1.tar.gz
$ cd luarocks-2.2.1
$ ./configure; sudo make bootstrap
$ sudo luarocks install luasocket
$ lua
Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio
> require "socket"

Instalación de LuaRocks en Windows:https://github.com/keplerproject/luarocks/wiki/Installation-instructions-for-Windows

Instalar diferentes controladores de base de datos:

luarocks install luasql-sqlite3
luarocks install luasql-postgres
luarocks install luasql-mysql
luarocks install luasql-sqlite
luarocks install luasql-odbc

También puedes utilizar la instalación desde el código fuente; la dirección del código fuente de Lua en Github:https://github.com/keplerproject/luasql

Conexión de Lua a la base de datos MySQL:

Ejemplo

require "luasql.mysql"

-- Crear objeto de entorno
env = luasql.mysql()

-- Conectar a la base de datos
conn = env:connect("nombre de la base de datos","usuario","contraseña","dirección IP",puerto)

-- Establecer el formato de codificación de la base de datos
conn:execute"SET NAMES UTF8"

-- Ejecutar operaciones de base de datos
cur = conn:execute("select * from role")

row = cur:fetch({},"a")

-- Crear el objeto de archivo
file = io.open("role.txt","w+");

while row do
    var = string.format("%d %s\n", row.id, row.name)

    print(var)

    file:write(var)

    row = cur:fetch(row,"a")
end


file:close()  -- Cerrar el objeto de archivo
conn:close()  -- Cerrar la conexión de base de datos
env:close()   -- Cerrar el entorno de base de datos
Otras extensiones