lua mysql insert_简单的Lua 连接操作mysql数据库的方法

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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值