DB API Cheat Sheet

Legacy Wiki Page

This page was migrated from the old MoinMoin-based wiki. Information may be outdated or no longer applicable. For current documentation, see python.org.

Some quick syntax reminders for common tasks using DB-API2 modules.

task

postgresql

sqlite

MySQL

Oracle

ODBC

oursql

create database

createdb mydb

created automatically when opened with sqlite3

created with Oracle XE install

command-line tool

psql -d mydb

sqlite3 mydb.sqlite

mysql testdb

sqlplus scott/tiger

GUI tool

pgadmin3

mysql-admin

sqldeveloper

install module

easy_install psycopg2

included in Python 2.5 standard library

easy_install mysql-python or apt-get install python-mysqldb

easy_install cx_oracle (but see note)

import

from psycopg2 import *

from sqlite3 import *

from MySQLdb import *

from cx_Oracle import *

connect

conn = connect(“dbname=’testdb’ user=’me’ host=’localhost’ password=’mypassword’”)

conn = connect(‘mydb.sqlite’) or conn=connect(‘:memory:’)

conn = connect (host=”localhost”, db=”testdb”, user=”me”, passwd=”mypassword”)

conn=connect(‘scott/tiger@xe’)

conn = odbc.odbc(‘DBALIAS’) or odbc.odbc(‘DBALIAS/USERNAME/PASSWORD’)

get cursor

curs = conn.cursor()

curs = conn.cursor()

curs = conn.cursor()

curs = conn.cursor()

execute SELECT

curs.execute(‘SELECT * FROM tbl’)

curs.execute(‘SELECT * FROM tbl’)

curs.execute(‘SELECT * FROM tbl’)

curs.execute(‘SELECT * FROM tbl’)

fetch

curs.fetchone(); curs.fetchall(); curs.fetchmany()

curs.fetchone(); curs.fetchall(); curs.fetchmany()

curs.fetchone(); curs.fetchall(); curs.fetchmany()

curs.fetchone(); curs.fetchall(); curs.fetchmany(); for r in curs

use bind variables

curs.execute(‘SELECT * FROM tbl WHERE col = %(varnm)s’, {‘varnm’:22})

curs.execute(‘SELECT * FROM tbl WHERE col = ?’, [22])

curs.execute(‘SELECT * FROM tbl WHERE col = %s’, [22])

curs.execute(‘SELECT * FROM tbl WHERE col = :varnm’, {‘varnm’:22})

curs.execute(‘SELECT * FROM tbl WHERE col = ?’, (22,))

commit

conn.commit() (required)

conn.commit() (required)

conn.commit() (required)

conn.commit() (required)

See also DbApiModuleComparison, DatabaseProgramming