win 需要先安装luaforwindows
linux 需要安装 luarocks 并 luarocks install luasql-mysql

require"luasql.mysql"
 
--创建环境对象
env=luasql.mysql()
 
--连接数据库
conn=env:connect("数据库名","用户名","密码","IP地址",端口)
 
--设置数据库的编码格式
conn:execute"SET NAMES GB2312"
 
--执行数据库操作
cur=conn:execute("select * from role")
 
row=cur:fetch({},"a")
 
while row do
var=string.format("%d%s\n",row.id,row.name)
 
print(var)
 
row=cur:fetch(row,"a")
end
 
conn:close()--关闭数据库连接
env:close()--关闭数据库环境

上面是个简单的,我们再来看个稍微复杂些的例子

-- load driver 
require "luasql.mysql" 
-- create environment object 
env = assert (luasql.mysql()) 
-- connect to data source 
con = assert (env:connect("database", "usr", "password", "192.168.xx.xxx", 3306)) 
-- reset our table 
res = con:execute"DROP TABLE people"        --建立新表people 
res = assert (con:execute[[ 
CREATE TABLE people(        
  name varchar(50), 
  email varchar(50) 
) 
]]) 
-- add a few elements 
list = { 
{ name="Jose das Couves", email="jose@couves.com", }, 
{ name="Manoel Joaquim", email="manoel.joaquim@cafundo.com", }, 
{ name="Maria das Dores", email="maria@dores.com", }, 
} 
for i, p in pairs (list) do                      --加入数据到people表 
res = assert (con:execute(string.format([[ 
  INSERT INTO people                      
  VALUES ('%s', '%s')]], p.name, p.email) 
)) 
end 
-- retrieve a cursor 
cur = assert (con:execute"SELECT name, email from people")  --获取数据 
-- print all rows 
row = cur:fetch ({}, "a") -- the rows will be indexed by field names  --显示出来 
while row do 
print(string.format("Name: %s, E-mail: %s", row.name, row.email)) 
row = cur:fetch (row, "a") -- reusing the table of results 
end 
-- close everything 
cur:close() 
con:close() 
env:close() 

标签:
lua,mysql,lua操作mysql

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无争山庄资源网 Copyright www.whwtcm.com

评论“简单的Lua 连接操作mysql数据库的方法”

暂无“简单的Lua 连接操作mysql数据库的方法”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。