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 Luatable
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