• linux上lua操作MySql增删改查(centos7)


    前言

    本篇介绍,在luasql.mysql库下利用lua去操作mysql

    环境

    • lua:5.1.5

    • 外部库:luasql.mysql

    安装luasql.mysql需要用到lua包管理luarocks,luarocks的安装和luasql的安装都可以看博主前边的文章。

    操作MySql

    链接

    • 引入外部库
    local luasql = require "luasql.mysql"
    
    • 1
    • 创建实例
    local l_sql = luasql.mysql()
    
    • 1
    • 链接数据库
    local conn_sql = l_sql:connect(数据库名,账号,密码,IP,端口)
    
    -- 例
    local conn_sql = l_sql:connect("Sun","root","","localhost",3306)
    
    print(conn_sql)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    可以通过print来看是否链接成功,链接失败conn_sql返回的是个nil

    执行语句

    • lua_sql的执行语句
    status, errorString = conn_sql:execute(cmd);
    
    • 1

    luasql提供了一个简单的execute方法来执行所有的MySql命令,任意的MySql命令都可以直接执行,返回两个参数
    status:如果命令执行正确,status存在,是一个类或者具体数,执行失败返回nil
    errorString:如果命令执行正确返回nil,执行失败返回错误信息

    增删改查

    -- 增加数据
    local insertCmd = string.format("insert into %s values('%s','%s')",table_name,key,datas) 
    status,errorString = conn_sql:execute(insertCmd);
    
    • 1
    • 2
    • 3
    -- 删除数据
    local delCmd = string.format("DELETE FROM %s WHERE `id` LIKE '%s'",table_name,key) 
    status,errorString = conn_sql:execute(delCmd);
    
    • 1
    • 2
    • 3
    -- 更新数据
    local updateCmd = string.format("UPDATE %s SET `id`='%s',`data`='%s' WHERE `id` LIKE '%s'",table_name,"aaaa","bbbb",key)
    status,errorString = conn_sql:execute(updateCmd);
    
    • 1
    • 2
    • 3
    -- 查找数据
    local serchCmd = string.format("SELECT * FROM %s WHERE `id` LIKE '%s'",table_name,key) 
    status,errorString = conn_sql:execute(serchCmd);
    result = status:fetch({},key);
    print(result.id)
    print(result.data)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    推送

    • linux上lua版本的替换和luasocket的安装和使用
    https://blog.csdn.net/Mr_Sun88/article/details/126032170
    
    • 1
    • linux上手动安装luasql的包(centos7)
    https://blog.csdn.net/Mr_Sun88/article/details/126062278
    
    • 1
    • Github
    https://github.com/KingSun5
    
    • 1

    结语

    希望看到最后的同学有所收获,若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。
    QQ交流群:806091680(Chinar)
    该群为CSDN博主Chinar所创,推荐一下!我也在群里!
    本文属于原创文章,转载请著名作者出处并置顶!!

  • 相关阅读:
    经验之谈:内存泄露的原因以及分析
    爱数16周年,从数据备份到全场景数据驱动的“Data+AI”
    基于Springboot+Vue实现前后端分离商城管理系统
    elementui el-table在有summary-method时,table数据行将合计行遮挡住了
    MyBatis使用动态SQL用法以及例题
    从永远到永远-吉他和弦替代原理
    CentOS系统利用kickstart自动生成工具通过图形化配置的方式生成ks.cfg文件
    Docker之常见FAQ记录清单
    424-计算机网络(14-17)
    340页11万字智慧政务大数据资源平台大数据底座数据治理建设方案
  • 原文地址:https://blog.csdn.net/Mr_Sun88/article/details/126103782