SQL in Python: SQLAlchemy Installation and Basics Guide

Online Python Trainer for Beginners

Learn Python easily without overwhelming theory. Solve practical tasks with automatic checking, get hints in Russian, and write code directly in your browser — no installation required.

Start Course

Getting Started with SQL in Python: Installing and Using SQLAlchemy

Working with databases is an essential part of modern software development. Whether you're building a web application, creating data analysis scripts, or developing backend services, knowing how to manage data with SQL is a critical skill.

In this article, we'll take a deep dive into using SQL in Python with the powerful SQLAlchemy library. You'll learn how to install the library, configure connections to different databases, and perform basic data operations.

What is SQLAlchemy?

SQLAlchemy is one of the most popular and feature-rich Python libraries for working with relational databases. It provides a simple and flexible way to interact with various database management systems directly from Python code.

SQLAlchemy supports the following database systems:

  • MySQL
  • PostgreSQL
  • SQLite
  • Oracle
  • Microsoft SQL Server

Key Features of SQLAlchemy

SQLAlchemy offers developers a wide range of capabilities:

  • Direct SQL query support for maximum flexibility
  • ORM (Object-Relational Mapping) for working with databases through Python classes
  • Unified API for different database management systems
  • High performance and clean code structure
  • Automatic database connection management
  • Built-in protection against SQL injection attacks
  • Transaction and connection pool support

Installing SQLAlchemy in Python

Basic Installation

Installing SQLAlchemy is straightforward using the pip package manager:

pip install SQLAlchemy

Installation in Jupyter Notebook

To install SQLAlchemy inside a Jupyter Notebook, use this command:

!pip install SQLAlchemy

Installing Additional Database Drivers

You may need additional drivers to connect to specific databases:

pip install pymysql      # for MySQL
pip install psycopg2     # for PostgreSQL  
pip install cx_Oracle    # for Oracle
pip install pyodbc       # for SQL Server

Verifying Your Installation

After installation, check your SQLAlchemy version:

import sqlalchemy
print(sqlalchemy.__version__)

Quick Start with SQLAlchemy

Importing Required Modules

To get started, import the core modules:

from sqlalchemy import create_engine, Column, Integer, String, DateTime
from sqlalchemy.orm import declarative_base, sessionmaker
from datetime import datetime

Setting Up a Database Connection

For this demo, we'll use SQLite — a lightweight database built into Python:

engine = create_engine('sqlite:///example.db', echo=True)

The echo=True parameter lets you see all SQL queries executed by SQLAlchemy. This is great for debugging and understanding how the ORM works.

Creating Models with ORM

Creating data models is the foundation of working with SQLAlchemy's ORM:

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'
    
    id = Column(Integer, primary_key=True)
    name = Column(String, nullable=False)
    age = Column(Integer)
    created_at = Column(DateTime, default=datetime.utcnow)
    
    def __repr__(self):
        return f"<User(name='{self.name}', age={self.age})>"

Creating

Blogs

Book Recommendations