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"
창 아래에 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() --关闭数据库环境