一般并不会用lua操作数据库的。
luasql-mysql安装流程
:::color3 ubuntu存在lua,mysql环境下,安装luasql-mysql;
1、<font style="color:rgb(77, 77, 77);">apt install luarocks</font>
:安装<font style="color:rgb(77, 77, 77);">luarocks</font>
;
2、**<font style="color:#DF2A3F;">luarocks install luasql-mysql</font>**
:安装luasql-mysql,对于使用其他数据库,可执行下面的:
luarocks install luasql-sqlite3;
luarocks install luasql-postgres;
luarocks install luasql-mysql;
luarocks install luasql-sqlite;
luarocks install luasql-odbc;
3、只执行**<font style="color:#DF2A3F;">luarocks install luasql-mysql</font>**
应该会报错,按照提示,先在终端执行whereis mysql
找到mysql
的include
路径;然后配置自己查到的mysql.h 所在路径给MYSQL_INCDIR
:这样执行:
**<font style="color:#DF2A3F;">luarocks install luasql-mysql MYSQL_INCDIR=/usr/include/mysql</font>**
,安装完毕。
:::
安装参考:luasql安装
luasql使用
--[[
安装
luasql https://luarocks.org/
brew install luarocks
luarocks install luasql-mysql 注意此处,如果你是 mariadb,然后要求指定 MYSQL_DIR 参数的时候,
千万不要指到 mariadb 的安装目录,而是要指到一个真正的mysql 安将目录
那是不是不能用 mariadb 呢,也不是,要手动安装一遍
luarocks install luasql-sqlite3
luarocks install luasql-postgres
luarocks install luasql-mysql
luarocks install luasql-sqlite
luarocks install luasql-odbc
]]--
local luasql = require("luasql.mysql"); -- 引包
client = luasql.mysql(); -- 创建mysql客户端
--创建连接
conn=client:connect("lua-test","root","12345678","127.0.0.1",3306); --数据库名,用户名,密码,IP,端口
if conn == nil then
print("连接失败");
os.exit();
end
-- 连接成功
-- select
rs=conn:execute("select * from user_list order by id desc");
row = rs:fetch({},"a"); -- 取出rs中的数据的一行存储到{}中, 执行完这句话后,将{}内容赋值给row
while row do -- row不为空就循环执行
print(row.id,row.name,row.age); -- 打印row中的内容
row = rs:fetch(row,"a"); -- 取下一行,当结束时,row为nil跳出循环
end
--insert 插入操作
--rs=conn:execute("insert into user_list (name,age)values('def',456)");
--print(rs);
--update 更新操作
rs=conn:execute("update user_list set name='DEF',age=789 where id<=4");
print(rs);
--delete 删除操作
rs=conn:execute("delete from user_list where id=4");
print(rs);
conn:close(); -- 关闭连接
client:close(); -- 关闭客户端