Differences between revisions 1 and 45 (spanning 44 versions)
Revision 1 as of 2002-07-15 20:43:27
Size: 566
Editor: pD9EB03FC
Comment:
Revision 45 as of 2017-08-07 20:40:12
Size: 5423
Comment: Replaced some code.google.com links with current links.
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
[[TableOfContents]]
Line 4: Line 3:
== Masthead == = MySQL =
Line 7: Line 6:
  licence:: GPL
  platforms::
  license:: GPLv2
  platforms:: Unix, win32, win64, MacOS X, i5/OS

== Pros ==

 * Easy to install and administer
 * Support for many SQL Features (v5.0 and up):
  * Good compliance with SQL standards
  * Foreign Keys (using InnoDB)
  * Stored Routines
  * Views
  * Triggers
 * Subqueries (as of v4.1)
 * Partitioning (as of v5.1)
 * ACID compliant (InnoDB and NDB storage engines)
 * Character set support
 * Built-in Replication
 * Many administration tools from third parties
 * Widely deployed
 * Regarded as being fast
 * Modular storage engines and interesting clustering features

== Cons ==

 * Early versions (v4.1 and earlier) have the reputation for only basic SQL support (entry-level SQL 92) and deviations from the standards. Many interesting features (views, triggers,..) are included in the latest version (5 and above), but are missing in prior versions. Check [[http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html|SQL Modes]] for making MySQL more strict.
 * Some [[http://sql-info.de/mysql/gotchas.html|gotchas]] for MySQL v4.1 and earlier.

----
Line 12: Line 37:
=== driver name === === MySQL for Python ===
Line 14: Line 39:
  URL:: http://dustman.net/andy/python/MySQLdb/
  licence::
  platforms::
  Python versions::
  URL:: http://sourceforge.net/projects/mysql-python
  License:: GNU General Public License (GPL), Python License (CNRI Python License), Zope Public License
  Platforms:: OS Independent
  Python versions:: 2.3 - 2.6
Line 19: Line 44:
==== Extensions to DB API ==== [[http://dev.mysql.com/downloads/python.html|MySQL on-line documentation, additional forums]] (maintainer does not currently read these)
Line 21: Line 46:
==== Comments ==== === PyMySQL ===
Line 23: Line 48:
== Other Drivers ==   URL:: http://www.pymysql.org/
  License:: MIT
  Platforms:: OS Independent, CPython 2.x and 3.x, PyPy, Jython, IronPython
  Python versions:: 2.4 - 3.2
Line 25: Line 53:
=== driver name ===
Line 27: Line 54:
  URL::
  licence::
  platforms::
  Python versions::
 * Pure-Python focused on simplicity and compatibility
 * Virtually 100% compatible with MySQLdb
 * Good performance
Line 32: Line 58:
==== Programming Model ==== === mxODBC ===
Line 34: Line 60:
==== Comments ====   URL:: http://www.egenix.com/products/python/mxODBC/
  License:: eGenix Commercial License
  Platforms:: Windows, Linux, MacOS X, FreeBSD, Solaris, AIX
  Python versions:: 2.4 - 2.7

mxODBC is compatible with the MySQL ODBC driver on Windows and Unix.

=== pyodbc ===

  URL:: https://github.com/mkleehammer/pyodbc
  License:: MIT
  Platforms:: Windows, Linux, MacOS X, FreeBSD, Solaris, Any (source provided)
  Python versions:: 2.4+

Actively maintained Open Source project.

Precompiled binaries are available for Windows. Red Hat Enterprise Linux, Centos, and Fedora have precompiled RPMs available in their Extras repositories.

=== MySQL Connector/Python ===

  URL:: https://dev.mysql.com/downloads/connector/python/
  License:: GNU GPL v2 with [[http://www.mysql.com/about/legal/licensing/foss-exception.html|FOSS License Exception]]
  Platforms:: Any (presumably)
  Python versions:: v2.6, v2.7 and Python v3.1 to 3.3 (See [[http://dev.mysql.com/doc/connector-python/en/connector-python-versions.html|version overview]])

 * Implements the Python DB API 2.0 (PEP 249).
 * Pure Python implementation of the MySQL protocol.
 * Actively developed and maintained by Oracle.
 * Includes Django database backend.

=== mypysql ===

  URL:: http://sourceforge.net/projects/mypysql/
  License:: GNU GPL v3+
  Platforms:: Any (presumably)
  Python versions:: 3


 * This module provides (yet) incomplete PEP 249 functionality
 * C implementation of MySQL database connector
 * A majority of the commands are implemented
 * Still experimental but actively developed


=== PyPyODBC (Pure Python ODBC) ===

 URL::
 https://github.com/jiangwen365/pypyodbc

 License:: MIT
 Platforms:: Windows, Linux
 Python versions:: 2.4 - 3.3


[[https://code.google.com/p/pypyodbc/wiki/Enable_SQLAlchemy_on_PyPy| Run SQLAlchemy on PyPy]]

One pure Python script, runs on CPython / IronPython / PyPy , Version 3.3 / 3.2 / 3.1 / 2.4 / 2.5 / 2.6 / 2.7 , Win / Linux , 32 / 64 bit.

Similar usage as pyodbc ( can be seen as a re-implementation of pyodbc in pure Python ).

Simple - the whole module is implemented in a single python script with less than 3000 lines.


=== mxODBC Connect ===

 URL:: http://www.egenix.com/products/python/mxODBCConnect/
 License:: eGenix Commercial License 1.3.0
 Platforms:: Client: all Python platforms; Server: Windows, Linux
 Python versions:: 2.5 - 2.7

mxODBC Connect is a commercial client-server product that allows connecting Python to ODBC compatible databases running on remote servers without requiring an ODBC driver on the client side. The product uses mxODBC on the server side and provides a highly portable Python library for the client side. As such it supports all database backend that mxODBC supports, but allows connecting to these from many different Python-supported platforms.

mxODBC Connect supports asynchronous query execution via the popular [[http://www.gevent.org/|gevent package]], provides secure certificate based authentication, SSL encrypted database connections, comes with full support for stored procedures, multiple result sets, Unicode, a common interface on all platforms and implements [[http://www.egenix.com/products/python/mxODBCConnect/#Features|many other useful features]].

mxODBC Connect Server is compatible with the MySQL ODBC drivers.


----
Line 38: Line 141:
== Pros ==

== Cons ==
 * [[Zope]]
 * A MySQL driver exists for [[PyDO]] (Python Data Objects)

MySQL

URL

http://www.mysql.com/

license
GPLv2
platforms
Unix, win32, win64, MacOS X, i5/OS

Pros

  • Easy to install and administer
  • Support for many SQL Features (v5.0 and up):
    • Good compliance with SQL standards
    • Foreign Keys (using InnoDB)
    • Stored Routines
    • Views
    • Triggers
  • Subqueries (as of v4.1)
  • Partitioning (as of v5.1)
  • ACID compliant (InnoDB and NDB storage engines)
  • Character set support
  • Built-in Replication
  • Many administration tools from third parties
  • Widely deployed
  • Regarded as being fast
  • Modular storage engines and interesting clustering features

Cons

  • Early versions (v4.1 and earlier) have the reputation for only basic SQL support (entry-level SQL 92) and deviations from the standards. Many interesting features (views, triggers,..) are included in the latest version (5 and above), but are missing in prior versions. Check SQL Modes for making MySQL more strict.

  • Some gotchas for MySQL v4.1 and earlier.


DB API 2.0 Drivers

MySQL for Python

URL

http://sourceforge.net/projects/mysql-python

License
GNU General Public License (GPL), Python License (CNRI Python License), Zope Public License
Platforms
OS Independent
Python versions
2.3 - 2.6

MySQL on-line documentation, additional forums (maintainer does not currently read these)

PyMySQL

URL

http://www.pymysql.org/

License
MIT
Platforms

OS Independent, CPython 2.x and 3.x, PyPy, Jython, IronPython

Python versions
2.4 - 3.2
  • Pure-Python focused on simplicity and compatibility
  • Virtually 100% compatible with MySQLdb
  • Good performance

mxODBC

URL

http://www.egenix.com/products/python/mxODBC/

License
eGenix Commercial License
Platforms
Windows, Linux, MacOS X, FreeBSD, Solaris, AIX
Python versions
2.4 - 2.7

mxODBC is compatible with the MySQL ODBC driver on Windows and Unix.

pyodbc

URL

https://github.com/mkleehammer/pyodbc

License
MIT
Platforms
Windows, Linux, MacOS X, FreeBSD, Solaris, Any (source provided)
Python versions
2.4+

Actively maintained Open Source project.

Precompiled binaries are available for Windows. Red Hat Enterprise Linux, Centos, and Fedora have precompiled RPMs available in their Extras repositories.

MySQL Connector/Python

URL

https://dev.mysql.com/downloads/connector/python/

License

GNU GPL v2 with FOSS License Exception

Platforms
Any (presumably)
Python versions

v2.6, v2.7 and Python v3.1 to 3.3 (See version overview)

  • Implements the Python DB API 2.0 (PEP 249).
  • Pure Python implementation of the MySQL protocol.
  • Actively developed and maintained by Oracle.
  • Includes Django database backend.

mypysql

URL

http://sourceforge.net/projects/mypysql/

License
GNU GPL v3+
Platforms
Any (presumably)
Python versions
3
  • This module provides (yet) incomplete PEP 249 functionality
  • C implementation of MySQL database connector
  • A majority of the commands are implemented
  • Still experimental but actively developed

PyPyODBC (Pure Python ODBC)

URL

https://github.com/jiangwen365/pypyodbc

License
MIT
Platforms
Windows, Linux
Python versions
2.4 - 3.3

Run SQLAlchemy on PyPy

One pure Python script, runs on CPython / IronPython / PyPy , Version 3.3 / 3.2 / 3.1 / 2.4 / 2.5 / 2.6 / 2.7 , Win / Linux , 32 / 64 bit.

Similar usage as pyodbc ( can be seen as a re-implementation of pyodbc in pure Python ).

Simple - the whole module is implemented in a single python script with less than 3000 lines.

mxODBC Connect

URL

http://www.egenix.com/products/python/mxODBCConnect/

License
eGenix Commercial License 1.3.0
Platforms
Client: all Python platforms; Server: Windows, Linux
Python versions
2.5 - 2.7

mxODBC Connect is a commercial client-server product that allows connecting Python to ODBC compatible databases running on remote servers without requiring an ODBC driver on the client side. The product uses mxODBC on the server side and provides a highly portable Python library for the client side. As such it supports all database backend that mxODBC supports, but allows connecting to these from many different Python-supported platforms.

mxODBC Connect supports asynchronous query execution via the popular gevent package, provides secure certificate based authentication, SSL encrypted database connections, comes with full support for stored procedures, multiple result sets, Unicode, a common interface on all platforms and implements many other useful features.

mxODBC Connect Server is compatible with the MySQL ODBC drivers.


Supported Python Applications

  • Zope

  • A MySQL driver exists for PyDO (Python Data Objects)

MySQL (last edited 2018-05-04 13:35:05 by DavidDLowe)

Unable to edit the page? See the FrontPage for instructions.