Lua 数据库访问 - LUA教程

Lua 数据库访问

本文主要为大家介绍 Lua 数据库的操作库: LuaSQL 。他是开源的,支持的数据库有:ODBC, ADO, Oracle, MySQL, SQLite 和 PostgreSQL。

本文为大家介绍MySQL的数据库连接。

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

LuaRocks 安装方法:

示例代码
$wgethttp://luarocks.org/releases/luarocks-2.2.1.tar.gz$tarzxpf luarocks-2.2.1.tar.gz$cdluarocks-2.2.1$ ./configure;sudomakebootstrap$sudoluarocksinstallluasocket$ luaLua 5.3.0 Copyright(C)1994-2015Lua.org, PUC-Rio>require"socket"

Window 下安装 LuaRocks: https://github.com/keplerproject/luarocks/wiki/Installation-instructions-for-Windows

安装不同数据库驱动:

示例代码
luarocksinstallluasql-sqlite3luarocksinstallluasql-postgresluarocksinstallluasql-mysqlluarocksinstallluasql-sqliteluarocksinstallluasql-odbc

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

Lua 连接MySql 数据库:

示例代码
require"luasql.mysql"--创建环境对象env=luasql.mysql()--连接数据库conn=env:connect("数据库名","用户名","密码","IP地址",端口)--设置数据库的编码格式conn:execute"SET NAMES UTF8"--执行数据库操作cur=conn:execute("select * from role")row=cur:fetch({},"a")--文件对象的创建file=io.open("role.txt","w+");whilerowdovar=string.format("%d %s\n",row.id,row.name)print(var)file:write(var)row=cur:fetch(row,"a")endfile:close()--关闭文件对象conn:close()--关闭数据库连接env:close()--关闭数据库环境