Lua 数据库访问

本页内容
上一节: Lua_面向对象

Lua 数据库访问

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

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

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

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"

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

安装不同数据库驱动:


示例

luarocks install luasql-sqlite3

luarocks install luasql-postgres

luarocks install luasql-mysql

luarocks install luasql-sqlite

luarocks install luasql-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+");

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()  --关闭文件对象

conn:close()  --关闭数据库连接

env:close()   --关闭数据库环境
上一节: Lua_面向对象
此页面最后编辑于2022年8月17日 (星期三) 17:43。