Python + MySQL

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

MySQL-driver

Om vanuit Python met MySQL te communiceren, heb je een driver nodig.

Inventaris

  • MySQLdb - Vermoedelijk meest gebruikt, maar schijnt complicaties te geven tijdens installatie ivm. externe afhankelijkheden [1]
  • mysqlclient - Opvolger van MySQLdb. Hierdoor is MySQLdb achterhaald geworden
  • MySQL Connector/Python - Veelbelovend, 100% Python (dus bv. geen C-bibliotheken), afkomstig van MySQL, maar slechte performance, licentie-issues en mogelijk significante bugs
  • PyMySQL
  • oursql
  • SQLAlchemy - Suite of tools, wo. een driver (geloof ik)
  • Storm

Keuze (okt. 2018)

Er is een interessante discussie over wat de beste driver is. Die discussie lijkt zich toe te spitsen op Mysqlclient vs. Connector/Python [2], [3] - Ik kies deze laatste.

Installatie Connector/Python (okt. 2018)

  • Downloaden naar buroblad
  • Dubbelklikken
  • Installeren
  • Klaar.

ORM

De standaard-manier om te interacteren met een MySQL-database vanuit Python, is door SQL-commando's in strings te stoppen, en deze te executeren. Een verschrikkelijke manier: Complex, foutgevoelig en vermoedelijk lastig te debuggen. De oplossing voor dit probleem heet ORM, oftewel object-relational mappings. Hierdoor kun je rechtstreeks Python-db-gerelateerde commando's gebruiken. Dat maakt het leven een stuk eenvoudiger. Nadeel: Je moet mogelijk een nieuwe syntaxis leren.

Inventaris

Bronnen

Driver & ORM