Database.query(sql)


Execute the provided SQL statement and return an iterator function, to iterate over results.

Parameters

sql

A string that contains a SQL statement.

Return value

Returns the result of the SQL statement as an iterator function to iterate over each row (represented as a Lua table with column names as keys).

Example

local sqlite = require "sqlite" -- Create an in-:memory: database local db = sqlite.Database(":memory:") -- Create a new table "users" db:exec([[CREATE TABLE users ( id integer PRIMARY KEY, name text NOT NULL, age integer)]]) -- Insert new rows db:exec("INSERT INTO users (name, age) VALUES('John', 32)") db:exec("INSERT INTO users (name, age) VALUES('Jane', 36)") db:exec("INSERT INTO users (name, age) VALUES('Marc', 25)") -- print all the users, row by row for user in db:query("SELECT * FROM users") do print(user.name, user.age) end