lua示例 - 访问数据库

-- 加载动态库
lib = assert(package.loadlib("luasql/mysql.dll","luaopen_luasql_mysql"))
lib()

-- 创建环境对象
env = assert (luasql.mysql())

-- 连接数据库
con = assert (env:connect ("test", "root", "123456", "localhost"))

-- 删除数据库中的 players 数据表
--assert (con:execute"DROP TABLE players")

-- 创建 players 数据表
assert (con:execute[[
  CREATE TABLE players(
    name  varchar(50),
    class varchar(50)
  )
]])

-- 添加一些记录
list = {
  {name="Nick Gammon", class="mage",},
  {name="David Haley", class="warrior",},
  {name="Shadowfyr", class="priest",}
}

for i, p in pairs (list) do
  assert (con:execute(string.format([[
    INSERT INTO players
    VALUES (‘%s‘, ‘%s‘)]], p.name, p.class)
  ))
end  -- for loop

-- 执行一个查询语句, 返回游标对象
cur = assert (con:execute ("SELECT * from players" ))

tt = cur:getcolnames()
cc = cur:getcoltypes()

table.foreach(tt, print)
table.foreach(cc, print)

-- 打印结果中的所有记录
t = {}
row = cur:fetch (t, "n")

while row do
  print ("\n------ 新纪录 ---------\n")
  table.foreach (row, print)
  -- 重复使用这个表, 以节省资源
  row = cur:fetch (row, "n")
end  -- while loop

-- 关闭和数据库有关的所有对象
cur:close()
con:close()
env:close()

lua示例 - 访问数据库,布布扣,bubuko.com

时间: 2024-12-27 19:18:12

lua示例 - 访问数据库的相关文章

【Cocos2d-x Lua】操作数据库封装类

Lua中操作数据库封装类 使用示例 lua代码: require("DB") -- 保存一个字符串(数据库中存储的数据都是以字符串的形式保存的) DB:getInstance():setString("level",level) -- 根据key(isOpenMusic)返回一个数字,第二个参数为默认返回值 local result = DB:getInstance():getNumber("isOpenMusic",1) -- 根据key(is

python访问数据库

1. python DB api简介 python DB api python访问数据库的统一接口规范,详细可参考https://www.python.org/dev/peps/pep-0249/ python DB api中主要包括三个重要的对象 数据库连接对象 connection,数据库交互对象 cursor和数据库异常类 exceptions 2. 使用python DB API访问数据库的流程 3. python+MYSQL开发环境的配置 python-mysql connector

ADO.NET——使用Connection连接数据库,使用DataReader访问数据库并返回多行数据

使用Connection连接数据库,使用DataReader访问数据库,并返回多行数据. 相关步骤: 需要引入两个命名空间 using System.Data; using System.Data.SqlClient; 使用DataReader访问数据库的步骤 创建SqlConnection对象,指定连接字符串 创建SqlCommand对象,指定与之相关的连接对象,以及数据库操作命令文本(CommandText) 打开连接 调用SqlCommand对象的ExecuteReader()方法,返回S

企业分布式微服务云SpringCloud SpringBoot mybatis (七)Spring Boot中使用JdbcTemplate访问数据库

本文介绍在Spring Boot基础下配置数据源和通过JdbcTemplate编写数据访问的示例. 数据源配置 在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同的数据库配置方式. 首先,为了连接数据库需要引入jdbc支持,在pom.xml中引入如下配置: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdb

javaweb三、JDBC访问数据库

JDBC是J2SE的内容,是由java提供的访问数据库的接口,但没有提供具体的实现方法,需要数据库厂商提供,就是对应的数据库驱动. 这样的好处是可以方便的更换数据库,提高了扩展性.这也是面向接口编程的一个优点. 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.ResultSet; 4 import java.sql.SQLException; 5 import java.sql.St

使用ab.exe监测100个并发/100次请求情况下同步/异步访问数据库的性能差异

ab.exe介绍 ab.exe是apache server的一个组件,用于监测并发请求,并显示监测数据 具体使用及下载地址请参考:http://www.cnblogs.com/gossip/p/4398784.html 本文的目的 通过webapi接口模拟100个并发请求下,同步和异步访问数据库的性能差异 创建数据库及数据 --创建表结构 CREATE TABLE dbo.[Cars] ( Id INT IDENTITY(1000,1) NOT NULL, Model NVARCHAR(50) 

项目小结-JDBC访问数据库的基本步骤

JDBC访问数据库的基本步骤: (1)将数据库的JDBC驱动加载到classpath中,在基于javaEE的web应用实际开发过程中, 通常把目标产品的JDBC驱动复制到WEB-INF/lib中 (2)加载JDBC驱动,将其注册到DriverManager中 //Oracle8/8i/9i(thin模式)数据库 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); //Sql server2005数据库 Clas

Cocos2d-x 3.2 Lua示例 CaptureScreen(截屏)

Cocos2d-x 3.2 Lua示例 CaptureScreen(截屏) 转载请注明:IT_xiao小巫 Cocos2d-x截屏功能是从3.2开始提供的,本篇博客就是介绍Cocos2d-x 3.2中Lua示例中的截屏功能.效果如下所示: 例子代码如下: --[[ 截屏测试 CaptureScreenTest ]]-- -- 获取屏幕大小 local winSize = cc.Director:getInstance():getWinSize() local kTagSprite = 1 loc

在nginx中使用lua直接访问mysql和memcaced达到数据接口的统一

安装nginx参见<nginx+lua+redis构建高并发应用> 让nginx 中的nginx_lua_module支持mysql 和memcache 下载 https://github.com/agentzh/lua-resty-memcached https://github.com/agentzh/lua-resty-mysql 对于访问接口的统一有很多的处理方式,这里介绍使用nginx lua 访问mysql并用memcache缓存起来. 配置如下: ... location /ge