‘The Complete Python/PostgreSQL Course 2.0’ course will teach you how to work with different types of databases and help you to understand when to use each in your Python apps. User-Defined Functions, Stored Procedures, Locking, Async database connections are some of the main topics covered in this course.
By the end of this course, you will be able to structure Python apps like a professional. The course is usually available for INR 2,799 on Udemy but you can click on the link and get the ‘The Complete Python/PostgreSQL Course 2.0’ for INR 499.
Who all can opt for this course?
- Novice Python programmers who want to use databases to power the next phase of their application upgrades.
- Any Python developer who wants to thoroughly grasp their options before employing a database in their applications but is unfamiliar with databases.
- Who want to use a database to engage with or build larger apps using business analysis or data science.
Course Highlights
Key Highlights | Details |
---|---|
Registration Link | Apply Now! |
Price | INR 499 ( |
Duration | 13 Hours |
Rating | 4.6/5 |
Student Enrollment | 12,192 students |
Instructor | Codestars |
Topics Covered | Python, Postgre SQL, Python |
Course Level | Intermediate |
Total Student Reviews | 1,601 |
Learning Outcomes
- Understand how databases work and how to take advantage of their features.
- How to leverage the power of databases to upgrade your python applications.
- Master PostgreSQL.
- Produce engaging charts, graphs, and reports using database data.
- Learn how to work with dates and times effectively in Python applications.
Course Content
S.No. | Module (Duration) | Topics |
---|---|---|
1. | Introduction (03 minutes) | Welcome to this course! |
Initial setup (for newer Pythonistas) | ||
Get the complete e-book here | ||
2. | A Full Python Refresher (04 hours 44 minutes) | Introduction to this section |
Access the code for this section here | ||
Variables in Python | ||
String formatting in Python | ||
Getting user input | ||
Writing our first Python app | ||
Lists, tuples and sets | ||
Advanced set operations | ||
Booleans in Python | ||
If statements | ||
The “in” keyword in Python | ||
If statements with the “in” keyword | ||
Loops in Python | ||
List comprehensions in Python | ||
Dictionaries | ||
Destructuring variables | ||
Functions in Python | ||
Function arguments and parameters | ||
Default parameter values | ||
Functions returning values | ||
Lambda functions in Python | ||
Dictionary comprehensions | ||
Unpacking arguments | ||
Unpacking keyword arguments | ||
Object-Oriented Programming in Python | ||
Magic methods: _str_ and _repr_ | ||
@classmethod and @staticmethod | ||
Class inheritance | ||
Class composition | ||
Type hinting in Python 3.5+ | ||
Imports in Python | ||
Relative imports in Python | ||
Errors in Python | ||
Custom error classes | ||
First-class functions | ||
Simple decorators in Python | ||
The ‘at’ syntax for decorators | ||
Decorating functions with parameters | ||
Decorators with parameters | ||
Mutability in Python | ||
Mutable default parameters (and why they’re a bad idea) | ||
3. | Build a Programming Journal with Python & SQL (01 hour 29 minutes) | Overview of the project |
Creating our user menu | ||
What is SQL? | ||
Using Python lists as an in-memory database | ||
A SQLite data viewer | ||
CREATE TABLE: new tables with SQL | ||
How to write comments in SQL | ||
CREATE TABLE exercises | ||
How to connect to a SQLite database with Python | ||
Connecting to SQLite in our app | ||
What is a cursor? | ||
INSERT INTO: add data to a table | ||
INSERT INTO exercises | ||
How to insert data into SQLite with Python | ||
SELECT: retrieve data from a table | ||
SELECT exercises | ||
Retrieving results from a cursor | ||
WHERE: search with SQL | ||
WHERE exercises | ||
DROP TABLE: deleting entire tables | ||
DROP TABLE exercise | ||
What is a SQL injection attack? | ||
4. | A Movie Watchlist App with Python & SQL (01 hour 40 minutes) | Overview of the project |
Three development stages of our project | ||
Our starting code for this project | ||
Queries we’ll need for the project to begin with | ||
Write the database.py file | ||
UPDATE: changing data with SQL | ||
UPDATE exercises | ||
Write our user menu and functions | ||
Watched movies: second approach | ||
DELETE FROM: removing rows with SQL | ||
DELETE FROM exercises | ||
Stage 2: watching movies | ||
Relational data: primary and foreign keys | ||
Relational data exercise | ||
Watched movies: final approach | ||
Stage 3: adding new watched movies | ||
Auto-incrementing row IDs | ||
Auto-incrementing exercise | ||
JOIN: access two tables at once with SQL | ||
Use JOINs to retrieve the movies a user has watched | ||
Types of JOINs with examples | ||
ORDER BY: sort the returned table | ||
LIMIT: getting a certain number of rows | ||
LIKE: flexible searching | ||
What is an index in SQL? | ||
Adding an index to our table for more efficient searching | ||
5. | Introduction to PostgreSQL: Migrating our App (41 minutes) | SQLite vs. PostgreSQL |
How to install PostgreSQL | ||
How to run and access PostgreSQL | ||
psycopg2 vs psycopg2-binary | ||
How to store (and not store!) sensitive information in your code | ||
Psycopg2 cursors and query parameters | ||
Auto-incrementing columns: SEQUENCE and SERIAL in PostgreSQL | ||
Our changed code, and finding differences between files | ||
6. | Building a Poll App & Advanced SQL (01 hour 38 minutes) | Overview of the project |
What is ACID? | ||
Essential queries we’ll need for this project | ||
RETURNING data from modified rows | ||
Nested queries: getting the latest poll | ||
SQL built-in functions | ||
GROUP BY and calculating vote percentages | ||
PostgreSQL window functions | ||
PostgreSQL window functions (part 2) | ||
How to use ORDER BY with window functions | ||
How to use PARTITION with window functions | ||
SQL DISTINCT and DISTINCT ON | ||
The SQL HAVING clause | ||
SQL VIEW: virtual tables | ||
How to read the PostgreSQL documentation | ||
Adding type hinting to our application | ||
7. | Working with dates and times (01 hour 27 minutes) | How to separate our database entities into models |
Creating our Option model class | ||
Changes needed in database.py | ||
Changes needed in app.py | ||
What is connection pooling? | ||
How to create a connection pool with psycopg2 | ||
Reduce pooling duplication with context managers | ||
Reduce cursor creation duplication with context managers | ||
The Python datetime module | ||
How to calculate new dates with timedelta | ||
How to handle timezones with pytz | ||
How to save dates to PostgreSQL | ||
Add the vote date to our polling app | ||
8. | Python and Advanced PostgreSQL with psycopg2 (44 minutes) | Composite primary keys |
User-defined functions in PostgreSQL | ||
Composite types and sets in functions | ||
Stored procedures in PostgreSQL | ||
Connections vs transactions in psycopg2 | ||
Locking in PostgreSQL | ||
Asynchronous psycopg2 | ||
SQL string composition with psycopg2 | ||
9. | Charting data from our tables using matplotlib (01 hour 09 minutes) | Overview: creating graphs from poll data |
How to install matplotlib | ||
How to draw a line graph with matplotlib | ||
Matplotlib backends | ||
Matplotlib figures, axes, and plots | ||
The Object-Oriented Approach with matplotlib | ||
How to add multiple subplots to a figure | ||
How to draw a pie chart with matplotlib | ||
How to draw a bar chart with matplotlib | ||
How to adjust the size of a matplotlib plot | ||
How to adjust the x axis tick labels so they fit in the screen | ||
How to draw a stacked bar chart with matplotlib | ||
How to create a legend from your graphed data | ||
How to export an image with matplotlib | ||
How to create one document with multiple matplotlib plots | ||
How to create a custom legend with matplotlib |
Resources Required
- Given that the course is focused on using PostgreSQL with Python, foundational knowledge of Python is necessary (a refresher in Python is provided).
- An IDE or editor for Python, such as PyCharm or Visual Studio Code is required.
- As everything you accomplish in this course takes place on the cloud, you don’t need to install anything else (although guidance to do it locally is also provided).
Featured Review
Wanju Chen (5/5) : I appreciate with the course very much. Jose is a very good lecturer. He explains every concepts in a complete and detailed way, which helps me understand everything easily. I am also impressed by how he always taught us how to read documents and how to learn programming in a correct way, which changes the way I learning programming. I hope Jose to open more courses in the future. Thank you very much!
Pros
- Ghaleb Ennine (5/5) : Excellent explanation of the workflow to manage Database by python coding
- Kristofor Lawson (5/5) : Jose is one of the best teachers on Udemy and the PostgreSQL course does not disappoint.
- Regha Abraham (5/5) : Whiles every project always have room for improvement, I must say it is an excellent course as I comment below.
- Sharath kumar (5/5) : Best course for python with SQLite and PostgreSQL with hands on projects.
Cons
- A B (2/5) : thank you for watching!…” Lecturer insert practice exercises into some “db fiddle”, but those are not working! at least in my browser.
- A B (2/5) : I assume he did not make any mistakes but at least I want to see how the code is working…
- Oehmu Murcia (1/5) : This is not a PostgreSQL course just little parts of it.
- Parminder (1/5) : Such a bad course i never expected from this instructor because i already taken Two Flask course and one i already finsihed and given 5 star rating, But this one is very bad i was expecting to build project using Postgres and python but this is most copy pasted not explained, You will learn nothing new if you already know sql, And other thing this instructor waste time in python refresher in every course, Earlier i was thinking to take Tkinter course but now i have doubt.
About the Author
The instructor of this course is Codestars which is a teaching Academy for the Next Generation of Coders. With 4.5 Academy Rating and 466,225 Reviews on Udemy, Codestars offers 81 Courses and has taught 2,223,234 Students so far.
- Codestars team create courses on all the topics that students want to learn.
- Codestars courses are well-structured, super interactive, and easy to understand.
- Codestars wants to make it as easy as possible for learners of all ages and levels to build functional websites and apps.
Comparison Table
Parameters | The Complete Python/PostgreSQL Course 2.0 | Python 3: Deep Dive (Part 2 – Iteration, Generators) | Python 3: Deep Dive (Part 3 – Dictionaries, Sets, JSON) |
---|---|---|---|
Offers | INR 499 ( | INR 455 ( | INR 455 ( |
Duration | 13.5 hours | 36 hours | 22 hours |
Rating | 4.6/5 | 4.9/5 | 4.8/5 |
Student Enrollments | 12,187 | 28,674 | 22,449 |
Instructors | Codestars • over 2 million students worldwide! | Fred Baptiste | Fred Baptiste |
Register Here | Apply Now! | Apply Now! | Apply Now! |
Leave feedback about this