Database:query(sql)method
Executes a SQL statement and returns an iterator function to iterate over each row (represented as a Lua table with column names as keys).
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
--! luart-extensions
import 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