Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (1 vote)
310 views

Python Cheat Sheet

This document provides an introduction to databases in Python. It discusses what databases are made of (tables and columns), how tables can be related, and how to connect to and query a database using SQLAlchemy. It also introduces SQL statements for querying databases and retrieving result sets. The goal is to teach the basics of relational databases and how to interact with them programmatically using Python and SQLAlchemy.

Uploaded by

Yuva Raj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
310 views

Python Cheat Sheet

This document provides an introduction to databases in Python. It discusses what databases are made of (tables and columns), how tables can be related, and how to connect to and query a database using SQLAlchemy. It also introduces SQL statements for querying databases and retrieving result sets. The goal is to teach the basics of relational databases and how to interact with them programmatically using Python and SQLAlchemy.

Uploaded by

Yuva Raj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

INTRODUCTION TO DATABASES IN PYTHON

Introduction to
Databases
Introduction to Databases in Python

A database consists of tables


Census State_Fact

state sex age pop2000 pop2008 name abbreviation type

New
F 0 120355 122194 New York NY state
York

New
F 1 118219 119661 Washington DC DC capitol
York

New
F 2 119577 116413 Washington WA state
York
Introduction to Databases in Python

Table consist of columns and rows


Census

state sex age pop2000 pop2008

New
F 0 120355 122194
York

New
F 1 118219 119661
York

New
F 2 119577 116413
York
Introduction to Databases in Python

Tables can be related


Census State_Fact

state sex age pop2000 pop2008 name abbreviation type

New
F 0 120355 122194 New York NY state
York

New
F 1 118219 119661 Washington DC DC capitol
York

New
F 2 119577 116413 Washington WA state
York
INTRODUCTION TO DATABASES IN PYTHON

Let’s practice!
INTRODUCTION TO DATABASES IN PYTHON

Connecting
to a
Database
Introduction to Databases in Python

Meet SQLAlchemy
● Two Main Pieces
● Core (Relational Model focused)
● ORM (User Data Model focused)
Introduction to Databases in Python

There are many types of databases


● SQLite
● PostgreSQL
● MySQL
● MS SQL
● Oracle
● Many more
Introduction to Databases in Python

Connecting to a database
In [1]: from sqlalchemy import create_engine

In [2]: engine = create_engine('sqlite:///census_nyc.sqlite')

In [3]: connection = engine.connect()

● Engine: common interface to the database from


SQLAlchemy
● Connection string: All the details required to find the
database (and login, if necessary)
Introduction to Databases in Python

A word on connection strings


● 'sqlite:///census_nyc.sqlite'
Driver+Dialect Filename
Introduction to Databases in Python

What’s in your database?


● Before querying your database, you’ll want to know what is
in it: what the tables are, for example:

In [1]: from sqlalchemy import create_engine

In [2]: engine = create_engine('sqlite:///census_nyc.sqlite')

In [3]: print(engine.table_names())
Out[3]: ['census', 'state_fact']
Introduction to Databases in Python

Reflection
● Reflection reads database and builds SQLAlchemy Table
objects
In [1]: from sqlalchemy import MetaData, Table

In [2]: metadata = MetaData()

In [3]: census = Table('census', metadata, autoload=True,


autoload_with=engine)

In [4]: print(repr(census))
Out[4]:
Table('census', MetaData(bind=None), Column('state',
VARCHAR(length=30), table=<census>), Column('sex',
VARCHAR(length=1), table=<census>), Column('age', INTEGER(),
table=<census>), Column('pop2000', INTEGER(), table=<census>),
Column('pop2008', INTEGER(), table=<census>), schema=None)
INTRODUCTION TO DATABASES IN PYTHON

Let’s practice!
INTRODUCTION TO DATABASES IN PYTHON

Introduction
to
SQL Queries
Introduction to Databases in Python

SQL Statements
● Select, Insert, Update & Delete data
● Create & Alter data
Introduction to Databases in Python

Basic SQL querying


● SELECT column_name FROM table_name
● SELECT pop2008 FROM People
● SELECT * FROM People
Introduction to Databases in Python

Basic SQL querying


In [1]: from sqlalchemy import create_engine

In [2]: engine = create_engine('sqlite:///census_nyc.sqlite')

In [3]: connection = engine.connect()

In [4]: stmt = 'SELECT * FROM people'

In [5]: result_proxy = connection.execute(stmt)

In [6] results = result_proxy.fetchall()


Introduction to Databases in Python

ResultProxy vs ResultSet
In [5]: result_proxy = connection.execute(stmt)

In [6]: results = result_proxy.fetchall()

● ResultProxy
● ResultSet
Introduction to Databases in Python

Handling ResultSets
In [1]: first_row = results[0]

In [2]: print(first_row)
Out[2]: ('Illinois', 'M', 0, 89600, 95012)

In [4]: print(first_row.keys())
Out[4]: ['state', 'sex', 'age', 'pop2000', 'pop2008']

In [6]: print(first_row.state)
Out[6]: 'Illinois'
Introduction to Databases in Python

SQLAlchemy to Build Queries


● Provides a Pythonic way to build SQL statements
● Hides differences between backend database types
Introduction to Databases in Python

SQLAlchemy querying
In [4]: from sqlalchemy import Table, MetaData

In [5]: metadata = MetaData()

In [6]: census = Table('census', metadata, autoload=True,


autoload_with=engine)

In [7]: stmt = select([census])

In [8]: results = connection.execute(stmt).fetchall()


Introduction to Databases in Python

SQLAlchemy Select Statement


● Requires a list of one or more Tables or Columns
● Using a table will select all the columns in it
In [9]: stmt = select([census])

In [10]: print(stmt)
Out[10]: 'SELECT * from CENSUS'
INTRODUCTION TO DATABASES IN PYTHON

Let’s practice!
INTRODUCTION TO DATABASES IN PYTHON

Congratulations!
Introduction to Databases in Python

You already
● Know about the relational model
● Can make basic SQL queries
Introduction to Databases in Python

Coming up next…
● Beef up your SQL querying skills
● Learn how to extract all types of useful information
from your databases using SQLAlchemy
● Learn how to create and write to relational databases
● Deep dive into the US census dataset!
INTRODUCTION TO DATABASES IN PYTHON

See you in the


next chapter!

You might also like