You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.2 KiB

Python + SQL

Lessons

  1. Install a Python virtual environment
  2. Install psychopg2-binary
  3. Connect to Postgres via Python
  4. Running Queries with Python
  5. Migrating data to a SQLite
  6. Exporting data to CSV
  7. Create an API with Flask
  8. Create a web UI to customize automation

Install a Python virtual environment

python3 -m venv ~/my-env
source ~/my-env/bin/activate

Install psychopg2-binary

python -m pip install psycopg2-binary

Connect to Postgres via Python

import psycopg2
conn = psycopg2.connect(
    database="my_db"
)

# close connection
conn.close()

Running Queries with Python

Select many

cursor = conn.cursor()

cursor.execute("SELECT * FROM people")
print(cursor.fetchall())

# close connection
cursor.close()

Select one

cursor.execute("SELECT * FROM people WHERE id = 12")
print(cursor.fetchone())

Insert

cursor.execute("INSERT INTO people (name, age) VALUES (%s, %s)", ['Matt', 43])
conn.commit()

Delete

cursor.execute("DELETE FROM people WHERE id = 12");
conn.commit()

Update

cursor.execute("UPDATE people SET name = %s, age = %s WHERE id = %s", ['Matt', 43, 20])
conn.commit()