Accès aux bases de données Lua

Cet article présente principalement la bibliothèque d'opérations de bases de données Lua :LuaSQLElle est open source, et les bases de données prises en charge incluent : ODBC, ADO, Oracle, MySQL, SQLite et PostgreSQL.

Cet article présente la connexion à la base de données MySQL.

LuaSQL peut être utilisé avecLuaRockspour installer ; vous pouvez installer le pilote de base de données dont vous avez besoin selon vos besoins.

Méthode d'installation 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"

Installation de LuaRocks sous Windows :https://github.com/keplerproject/luarocks/wiki/Installation-instructions-for-Windows

Installation de différents pilotes de bases de données :

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

Vous pouvez également utiliser l'installation à partir du code source. Adresse du code source de Lua sur Github :https://github.com/keplerproject/luasql

Connexion de Lua à une base de données MySQL :

Exemple

require "luasql.mysql"

--Créer un objet d'environnement
env = luasql.mysql()

--Se connecter à la base de données
conn = env:connect("nom de la base de données","nom d'utilisateur","mot de passe","adresse IP",port)

--Définir le format d'encodage de la base de données
conn:execute"SET NAMES UTF8"

--Effectuer des opérations sur la base de données
cur = conn:execute("select * from role")

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

--Créer un objet fichier
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()  --Fermer l'objet fichier
conn:close()  --Fermer la connexion à la base de données
env:close()   --Fermer l'environnement de base de données
Autres extensions