Lua数据库的操作库为:LuaSQL。它是开源的,支持的数据库有:ODBC、ADO、Oracle、MySQL、SQLite和PostgreSQL。

    LuaSQL 可以使用 LuaRocks 来安装可以根据需要安装你需要的数据库驱动。LuaRocks 安装方法:

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

    Window 下安装 LuaRocks:https://github.com/keplerproject/luarocks/wiki/Installation-instructions-for-Windows
    安装不同数据库驱动:

    1. luarocks install luasql-sqlite3
    2. luarocks install luasql-postgres
    3. luarocks install luasql-mysql
    4. luarocks install luasql-sqlite
    5. luarocks install luasql-odbc

    你也可以使用源码安装方式,Lua Github 源码地址:https://github.com/keplerproject/luasql
    Lua 连接MySql 数据库:

    1. require "luasql.mysql"
    2. --创建环境对象
    3. env = luasql.mysql()
    4. --连接数据库
    5. conn = env:connect("数据库名","用户名","密码","IP地址",端口)
    6. --设置数据库的编码格式
    7. conn:execute"SET NAMES UTF8"
    8. --执行数据库操作
    9. cur = conn:execute("select * from role")
    10. row = cur:fetch({},"a")
    11. --文件对象的创建
    12. file = io.open("role.txt","w+");
    13. while row do
    14. var = string.format("%d %s\n", row.id, row.name)
    15. print(var)
    16. file:write(var)
    17. row = cur:fetch(row,"a")
    18. end
    19. file:close() --关闭文件对象
    20. conn:close() --关闭数据库连接
    21. env:close() --关闭数据库环境

    Lua 数据库访问 - 图1