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