18 Lua 与MYSQL

本文主要为大家介绍 Lua 数据库的操作库:

LuaSQL http://luaforge.net/projects/luasql/

他是开源的,支持的数据库有:ODBC, ADO, Oracle, MySQL, SQLite 和 PostgreSQL。

LuaSQL 可以使用

LuaRocks https://luarocks.org/

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

LuaRocks 安装方法:

$ wget https://luarocks.org/releases/luarocks-2.4.1.tar.gz
$ tar zxpf luarocks-2.4.1.tar.gz
$ cd luarocks-2.4.1
$ ./configure; sudo make bootstrap
$ sudo luarocks install luasocket
$ lua
Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio
> require "socket"

通过LuaRocks安装mysql必要的驱动:

sudo luarocks install luasql-mysql MYSQL_INCDIR=/usr/include/mysql/
mysql = require "luasql.mysql"

--创建环境对象
local env = mysql.mysql()

--链接数据库
local conn = env:connect("dstorage", "root", "itcast")

print(env, conn)

print("----------")
--执行sql语句
cursor,errorString = conn:execute([[ select * from user]])

--遍历查询结果
row = cursor:fetch({}, "a")
while row do
    print(string.format("Id:%s Name:%s", row.u_id, row.u_name))
    row = cursor:fetch({}, "a")
end


--关闭链接句柄
conn:close()
env:close()

执行结果:

MySQL environment (0x16fb628)   MySQL connection (0x16fc108)
----------
Id:1 Name:ace
Id:2 Name:shit
Id:3 Name:gailun
Id:4 Name:ben
Id:5 Name:akali
Id:6 Name:marong
Id:7 Name:123
Id:9 Name:songjj
Id:10 Name:a
Id:12 Name:guanyuhan
Id:14 Name:tt-y
Id:16 Name:1234
Id:17 Name:1111
Id:18 Name:mike
Id:19 Name:pipixia
Id:21 Name:qqq
Id:22 Name:123123
Id:23 Name:1110
Id:25 Name:he

results matching ""

    No results matching ""