# Lua 數據庫訪問
本文主要為大家介紹 Lua 數據庫的操作庫:[LuaSQL](http://luaforge.net/projects/luasql/)。他是開源的,支持的數據庫有:ODBC, ADO, Oracle, MySQL, SQLite 和 PostgreSQL。
本文為大家介紹MySQL的數據庫連接。
LuaSQL 可以使用 [LuaRocks](https://luarocks.org/) 來安裝可以根據需要安裝你需要的數據庫驅動。
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)[https://github.com/keplerproject/luarocks/wiki/Installation-instructions-for-Windows](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)[https://github.com/keplerproject/luasql](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()???--關閉數據庫環境
~~~
~~~
</stdin:1></stdin:1></p這里注意對返回值的邏輯判斷:
- Lua 簡介
- Lua 環境安裝
- Lua 數據類型
- Lua 變量
- Lua 循環
- Lua while 循環
- Lua for 循環
- Lua repeat...until 循環
- Lua 循環嵌套
- Lua break 語句
- Lua 流程控制
- Lua if 語句
- Lua if...else 語句
- Lua if 嵌套語句
- Lua 函數
- Lua 運算符
- Lua 字符串
- Lua 數組
- Lua 迭代器
- Lua table(表)
- Lua 模塊與包
- Lua 元表(Metatable)
- Lua 協同程序(coroutine)
- Lua 文件 I/O
- Lua 錯誤處理
- Lua 調試(Debug)
- Lua 垃圾回收
- Lua 面向對象
- Lua 數據庫訪問
- CoverPage