一般并不会用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找到mysqlinclude路径;然后配置自己查到的mysql.h 所在路径给MYSQL_INCDIR:这样执行:

**<font style="color:#DF2A3F;">luarocks install luasql-mysql MYSQL_INCDIR=/usr/include/mysql</font>**,安装完毕。

:::

安装参考:luasql安装

luasql使用

  1. --[[
  2. 安装
  3. luasql https://luarocks.org/
  4. brew install luarocks
  5. luarocks install luasql-mysql 注意此处,如果你是 mariadb,然后要求指定 MYSQL_DIR 参数的时候,
  6. 千万不要指到 mariadb 的安装目录,而是要指到一个真正的mysql 安将目录
  7. 那是不是不能用 mariadb 呢,也不是,要手动安装一遍
  8. luarocks install luasql-sqlite3
  9. luarocks install luasql-postgres
  10. luarocks install luasql-mysql
  11. luarocks install luasql-sqlite
  12. luarocks install luasql-odbc
  13. ]]--
  14. local luasql = require("luasql.mysql"); -- 引包
  15. client = luasql.mysql(); -- 创建mysql客户端
  16. --创建连接
  17. conn=client:connect("lua-test","root","12345678","127.0.0.1",3306); --数据库名,用户名,密码,IP,端口
  18. if conn == nil then
  19. print("连接失败");
  20. os.exit();
  21. end
  22. -- 连接成功
  23. -- select
  24. rs=conn:execute("select * from user_list order by id desc");
  25. row = rs:fetch({},"a"); -- 取出rs中的数据的一行存储到{}中, 执行完这句话后,将{}内容赋值给row
  26. while row do -- row不为空就循环执行
  27. print(row.id,row.name,row.age); -- 打印row中的内容
  28. row = rs:fetch(row,"a"); -- 取下一行,当结束时,rownil跳出循环
  29. end
  30. --insert 插入操作
  31. --rs=conn:execute("insert into user_list (name,age)values('def',456)");
  32. --print(rs);
  33. --update 更新操作
  34. rs=conn:execute("update user_list set name='DEF',age=789 where id<=4");
  35. print(rs);
  36. --delete 删除操作
  37. rs=conn:execute("delete from user_list where id=4");
  38. print(rs);
  39. conn:close(); -- 关闭连接
  40. client:close(); -- 关闭客户端