================== ==================================================================================== ========================================================= =========================================================== ================================================================== ======================================================================
- task postgresql sqlite MySQL Oracle ODBC
================== ==================================================================================== ========================================================= =========================================================== ================================================================== ======================================================================
- create database createdb mydb created automatically when opened with sqlite3 created with Oracle XE install
- command-line tool psql -d mydb sqlite3 mydb.sqlite sqlplus scott/tiger@orcl
- GUI tool pgadmin3 mysql-admin
- 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
- import from psycopg2 import * from sqlite3 import * from MySQLdb import *
- connect conn = connect("dbname='testdb' user='me' host='localhost' password='mypassword'”) conn = connect('mydb.sqlite') or conn=connect(':memory:') conn=connect('scott/tiger@orcl') conn = odbc.odbc('DBALIAS') or odbc.odbc('DBALIAS/USERNAME/PASSWORD')
- get 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')
- fetch curs.fetchone(); curs.fetchall(); curs.fetchmany() curs.fetchone(); curs.fetchall(); curs.fetchmany() curs.fetchone(); curs.fetchall(); curs.fetchmany()
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})
- commit conn.commit() (required) conn.commit() (required) conn.commit() (required)