4️Lua--MYSQL模块

导入模块

local mysql = require("mysql")

建立链接

MYSQL_IP = "127.0.0.1"
MYSQL_PORT = 3306

function GetConn()
    c = mysql.new()--注意这个c是全局变量 当然也可以设置成局部变量并返回 local c = mysql.new()
    ok, err = c:connect({host = MYSQL_IP, port = MYSQL_PORT, database = "MYDB", user = "root", password = "123456"})
    if err ~= nil then
        log.error("mysql err %v", err)
        return 1
    end
end

查询语句 增删改查

--查询
function GetCodeBySymbol(c, symbol)
    sqlstr = string.format([[select * from coin_symbol where `symbol`= "%s"]], symbol)
    res, err = c:query(sqlstr) 
    if #res ~= 0 then --存在
        return res
    end -- 不存在
    return nil
end
--新增
function GetInsertSymbol(c, code, symbol)
    local sqlstr = string.format([[INSERT INTO `coin_symbol` (code,symbol)VALUES ("%s","%s")]], code, symbol)
    res, err = c:query(sqlstr)  
    --log.info("mysql info %s", err)
    if #res ~= 0 then --存在
        return res
    end -- 不存在
    return nil
end
--更新
function GetUpdateSymbol(c, code, symbol)
    local sqlstr = string.format([[UPDATE `coin_symbol` SET `symbol` = "%s"  WHERE `code` = "%s"]], symbol, code)
    res, err = c:query(sqlstr)  
    --log.info("mysql info %s", err)
    if #res ~= 0 then --存在
        return res
    end -- 不存在
    return nil
end


--说明  SQL语句要完整 res, err = c:query(sqlstr) 其中res的数据类型是Table数组 如果res的长度大于1说明数据存在res[1].字段名即可 查询完后记得释放mysql链接
--c:close() 不然容易数据库链接数量过多导致无法查询

Last updated