How To Connect and Run SQL Queries to a PostgreSQL Database from Python?


PostgreSQL is a popular open−source relational database management system known for its robustness, scalability, and advanced features. Python provides excellent support for interacting with PostgreSQL databases, allowing developers to seamlessly connect and execute SQL queries. In this article, we will explore the step−by−step process of connecting to a PostgreSQL database from Python, running SQL queries, and retrieving results. We will provide code examples, explanations, and sample outputs to help you master this essential skill.

In this article, we will learn how to connect and run SQL queries to a PostgreSQL database from Python.

Step 1: Install the psycopg2 module

The first step is to install the psycopg2 module. This module provides the Python bindings for PostgreSQL.

Consider the command shown below.

Command

pip install psycopg2

Step 2: Create a connection to the database

The next step is to create a connection to the database. This can be done using the psycopg2.connect() function.

Consider the code snippet shown below.

Code Snippet

import psycopg2

conn = psycopg2.connect(
    host="localhost",
    dbname="my_database",
    user="postgres",
    password="my_password"
)

Step 3: Create a cursor

A cursor is used to execute SQL statements against the database. To create a cursor, you can use the cursor() method of the connection object.

Consider the code snippet shown below.

Code snippet

cur = conn.cursor()

Step 4: Execute an SQL statement

Once you have a cursor, you can execute SQL statements against the database. To do this, you can use the execute() method of the cursor object.

Consider the code snippet shown below.

Code snippet

cur.execute("CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT)")

This statement creates a table called users with two columns: id and name. The id column is an integer primary key, and the name column is a text column.

Step 5: Insert data into the database

Once you have created a table, you can insert data into it. To do this, you can use the insert() method of the cursor object.

Consider the code snippet shown below.

Code snippet

cur.execute("INSERT INTO users (name) VALUES ('John Doe')")

This statement inserts a row into the users table with the name "John Doe".

Step 6: Query the database

Once you have inserted data into the database, you can query it. To do this, you can use the execute() method of the cursor object.

Consider the code snippet shown below.

Code snippet

cur.execute("SELECT * FROM users")

This statement selects all rows from the users table.

Step 7: Fetch the results

The execute() method returns a result set. To fetch the results, you can use the fetchall() method of the cursor object.

Consider the code snippet shown below.

Code snippet

results = cur.fetchall()

The results variable will contain a list of all rows in the result set.

Step 8: Close the connection

Once you are finished with the database, you should close the connection. To do this, you can use the close() method of the connection object.

Consider the code snippet shown below.

Code snippet

conn.close()

Output

The output of the code will be a list of all rows in the users table.

[(1, 'John Doe')]

Explanation

  • PostgreSQL is a popular relational database management system (RDBMS).

  • To connect to a PostgreSQL database, you can use the psycopg2 module in Python.

  • The psycopg2 module provides the Python bindings for PostgreSQL.

  • To create a connection to a PostgreSQL database, you can use the psycopg2.connect() function.

  • To create a cursor, you can use the cursor() method of the connection object.

  • To execute an SQL statement, you can use the execute() method of the cursor object.

  • To insert data into the database, you can use the insert() method of the cursor object.

  • To query the database, you can use the execute() method of the cursor object.

  • To fetch the results, you can use the fetchall() method of the cursor object.

  • To close the connection, you can use the close() method of the connection object.

Conclusion

In this article, you have learned how to connect and run SQL queries to a PostgreSQL database from Python. You can use this knowledge to store and retrieve data from PostgreSQL databases in Python.

Updated on: 07-Aug-2023

565 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements