skynet与mysql数据库的链接与基本交互

博客介绍了Ubuntu系统下安装MySQL及设置远程访问的方法,还提及MySQL默认端口为3306,同时包含连接MySQL的相关内容。

1.远程连接

Ubuntu安装mysql及设置远程访问方法

默认端口3306

2.连接mysql

local skynet = require "skynet"
local mysql = require "skynet.db.mysql"
​
local function dump(res, tab)
    tab = tab or 0
    if(tab == 0) then
        skynet.error("............dump...........")
    end
​
    
    if type(res) == "table" then
        skynet.error(string.rep("\t", tab).."{")
        for k,v in pairs(res) do
            if type(v) == "table" then
                dump(v, tab + 1)
             else
                skynet.error(string.rep("\t", tab), k, "=", v, ",")
            end
        end
        skynet.error(string.rep("\t", tab).."}")
    else
        skynet.error(string.rep("\t", tab) , res)
    end
end
​
​
​
skynet.start(function()
    local function on_connect(db)
        skynet.error("on_connect")
    end
    local db=mysql.connect({
        host="127.0.0.1",
        port=3306,
        database="skynet",
        user="root",
        password="123456",
        max_packet_size = 1024 * 1024,
        on_connect = on_connect
    })
    if not db then
        skynet.error("failed to connect")
        skynet.exit()
    else
        skynet.error("success to connect to mysql server")    
    end
    
    --设置utf8字符集
    local res = db:query("set charset utf8");
    dump(res) 
        
    --删除数据表
    res = db:query("drop table if exists dogs") 
    dump(res)
    --创建数据表
    res = db:query("create table dogs (id int primary key,name varchar(10))")
    dump(res)
       
    --插入数据
    res = db:query("insert into dogs values (1, \'black\'), (2, \'red\')")
    dump(res)
​
    --查询数据
    res = db:query("select * from dogs")
    dump(res)
​
    --多条语句查询
    res = db:query("select * from dogs; select * from dogs")
    dump(res)
​
    --查询错误
    res = db:query("select * from noexist;")
    dump(res)
          
    db:disconnect() --关闭连接
    skynet.exit()
end)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值