Skip to main content

Run SQL

To edit data from inside your projects, you can run SQL from your code. Just import the run_sql function and write plain SQL.

    from abstra.tables import run_sql
from abstra.forms import display, read

all_users = run_sql('SELECT * FROM "users"')
all_users # [{"id": 1, "email": "michael.scott@dundermiflin.com", "name": "Michael Scott"}, {"id": 2, "email": "dwight.schrute@dundermiflin.com", "name": "Dwight Schrute"}]
display_pandas(all_users, label="All Users")

id = read("What is your ID?")
data = run_sql('SELECT * FROM "users" WHERE id = $1', [id])
data # [{"id": 1, "email": "michael.scott@dundermiflin.com", "name": "Michael Scott"}]
display(data)

    from abstra.tables import run_sql
from abstra.forms import read, read_email, read_phone

name = read("What is your name?")
email = read_email("What is your email?")
phone = read_phone("What is your phone number?")

run_sql('INSERT INTO "users" (name, email, phone) VALUES ($1, $2, $3)', params=[name, email, phone])

Query DF

Using query_df instead of run_sql returns a pandas DataFrame:

from abstra.tables import query_df

query_df("select * from users")