Lua-Datenbankzugriff

Dieser Artikel stellt hauptsächlich die Lua-Bibliothek für Datenbankoperationen vor:LuaSQLSie ist quelloffen, und die unterstützten Datenbanken umfassen: ODBC, ADO, Oracle, MySQL, SQLite und PostgreSQL.

Dieser Artikel behandelt die Verbindung zur MySQL-Datenbank.

LuaSQL kann mitLuaRocksinstalliert werden; Sie können den benötigten Datenbanktreiber nach Bedarf installieren.

LuaRocks-Installationsmethode:

$ 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"

LuaRocks unter Windows installieren:https://github.com/keplerproject/luarocks/wiki/Installation-instructions-for-Windows

Installation verschiedener Datenbanktreiber:

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

Sie können auch die Installation aus dem Quellcode verwenden. Adresse des Lua-GitHub-Quellcodes:https://github.com/keplerproject/luasql

Lua verbindet sich mit einer MySQL-Datenbank:

Beispiel

require "luasql.mysql"

--Umgebungsobjekt erstellen
env = luasql.mysql()

--Mit Datenbank verbinden
conn = env:connect("Datenbankname","Benutzername","Passwort","IP-Adresse",port)

--Datenbankkodierung festlegen
conn:execute"SET NAMES UTF8"

--Datenbankoperationen ausführen
cur = conn:execute("select * from role")

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

--Dateiobjekt erstellen
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()  --Dateiobjekt schließen
conn:close()  --Datenbankverbindung schließen
env:close()   --Datenbankumgebung schließen
Weitere Erweiterungen