The Basics

  • Python is the language you use to define how to solve a problem

  • In solving the problem, it is very common to need to access a database

  • SQL is the language that we use to define the database problem that needs solving

  • Python and most other languages provide modules to allow you to issue SQL commands to a database and read the results back

  • This means having one source file with two programming languages in it (Python and SQL)

  • Python supports many DBMS

Some examples include:

  • SQLite
    • Very basic, single access, limited data types. Included with Python.
  • MySQL
    • Very popular, very sophisticated DBMS. Free and used on lots of web servers.
  • MS SQL
    • Very popular, very sophisticated. Has a free express version. Used by many businesses and some webservers. Produced by Microsoft.
  • Access
    • A graphical database system produced by Microsoft. Highly unrecommended for most use cases. Does not stick to Microsoft standards.

Connecting to a database with Python

  • Connect to the DBMS

  • Issue SQL commands or queries

  • Read and process results

    • You only need to do this for commands that return a result
  • Disconnect from the DBMS

  • In some instances it might be more efficient to connect once do lots of commands and then disconnect.