本文主要为大家介绍 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() --关闭数据库环境