- 1. Databases and Python
- 2. Database
- 2.1. Relational Databases (SQL)
- 2.2. NoSQL
- 2.3. Types of NoSQL databases
- 3. SQLite Database Access
- 3.1. SQLite
- 3.2. Connecting to SQLite database
- 3.3. Connecting to in-memory SQLite database
- 3.4. Create TABLE in SQLite
- 3.5. INSERT data into SQLite database
- 3.6. SELECT data from SQLite database
- 3.7. SELECT aggregate data from SQLite database
- 3.8. SELECT data from SQLite database into dictionaries
- 3.9. UPDATE data in SQLite database
- 3.10. A counter
- 3.11. SQLite in-memory AUTOINCREMENT
- 3.12. SQLite in-memory field with DEFAULT value
- 3.13. SQLite transactions
- 4. MySQL
- 4.1. Install MySQL support
- 4.2. Create database user (manually)
- 4.3. Create database (manually)
- 4.4. Create table (manually)
- 4.5. Connect to MySQL
- 4.6. Connect to MySQL and Handle exception
- 4.7. Select data
- 4.8. Select more data
- 4.9. Select all data fetchall
- 4.10. Select some data fetchmany
- 4.11. Select some data WHERE clause
- 4.12. Select into dictionaries
- 4.13. Insert data
- 4.14. Update data
- 4.15. Delete data
- 4.16. Exercise MySQL
- 4.17. Exercise: MySQL Connection
- 4.18. Solution: MySQL Connection
- 5. PostgreSQL
- 5.1. PostgreSQL install
- 5.2. PostgreSQL with Docker compose
- 5.3. Python and Postgresql
- 5.4. PostgreSQL connect
- 5.5. PostgreSQL create table
- 5.6. INSERT
- 5.7. INSERT (from command line)
- 5.8. SELECT
- 5.9. DELETE
- 6. MongoDB
- 6.1. MongoDB CRUD
- 6.2. Install MongoDB support
- 6.3. MongoDB in Docker compose
- 6.4. Python MongoDB drop database
- 6.5. Python MongoDB insert
- 6.6. MongoDB CLI
- 6.7. Python MongoDB find
- 6.8. Python MongoDB find refine
- 6.9. Python MongoDB update
- 6.10. Python MongoDB remove (delete)
- 6.11. Python MongoDB replace
- 6.12. Python MongoDB upsert
- 6.13. Python Mongodb: TypeError: upsert must be True or False
- 6.14. Python MongoDB Async with motor - connect
- 6.15. Python MongoDB Async with motor - insert and find
- 7. Redis
- 7.1. Redis CLI
- 7.2. Redis list keys
- 7.3. Redis set get
- 7.4. Redis incr
- 7.5. Redis incrby
- 7.6. Redis setex
- 8. SQLAlchemy
- 8.1. SQLAlchemy hierarchy
- 8.2. SQLAlchemy engine
- 8.3. SQLAlchemy autocommit
- 8.4. SQLAlchemy engine CREATE TABLE
- 8.5. SQLAlchemy engine INSERT
- 8.6. SQLAlchemy engine SELECT
- 8.7. SQLAlchemy engine SELECT all
- 8.8. SQLAlchemy engine SELECT fetchall
- 8.9. SQLAlchemy engine SELECT aggregate
- 8.10. SQLAlchemy engine SELECT IN
- 8.11. SQLAlchemy engine SELECT IN with placeholders
- 8.12. SQLAlchemy engine connection
- 8.13. SQLAlchemy engine transaction
- 8.14. SQLAlchemy engine using context managers
- 8.15. Exercise: Create table
- 8.16. SQLAlchemy Metada
- 8.17. SQLAlchemy types
- 8.18. SQLAlchemy ORM - Object Relational Mapping
- 8.19. SQLAlchemy ORM create
- 8.20. SQLAlchemy ORM schema
- 8.21. SQLAlchemy ORM reflection
- 8.22. SQLAlchemy ORM INSERT after automap
- 8.23. SQLAlchemy ORM INSERT
- 8.24. SQLAlchemy ORM SELECT
- 8.25. SQLAlchemy ORM SELECT cross tables
- 8.26. SQLAlchemy ORM SELECT and INSERT
- 8.27. SQLAlchemy ORM UPDATE
- 8.28. SQLAlchemy ORM logging
- 8.29. Solution: Create table
- 8.30. Exercise: Inspector
- 8.31. SQLAlchemy CREATE and DROP
- 8.32. SQLAlchemy Notes
- 8.33. SQLAlchemy Meta SQLite CREATE
- 8.34. SQLAlchemy Meta Reflection
- 8.35. SQLAlchemy Meta INSERT
- 8.36. SQLAlchemy Meta SELECT