MySQL Connectors and APIs

Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

MySQL Connectors and APIs

Connectors and APIs

MySQL Connectors provide connectivity to the MySQL server for client programs and APIs provide low-level access to the MySQL protocol and resources. You can connect and execute MySQL statements from another language or environment, including ODBC, Python, Perl, Ruby, PHP, Java (JDBC), and native C and embedded MySQL instances through connectors and the APIs

What is a Driver?
A driver is a piece of software designed to communicate with a particular database server. The driver may also call a library, such as the 'MySQL Client Library' or the 'MySQL Native Driver'. These libraries implement the low-level protocol used to communicate with the database server.

What is a Connector?
A connector refers to a piece of software that allows your application to connect to the MySQL database server. MySQL provides connectors for a variety of languages, including Python, Perl, Ruby, PHP, Java (JDBC), C etc.

What is an API?
API, an abbreviation of application program interface, is a set of programming instructions (through classes, methods, functions and variables) and standards for accessing a web-based software application or web tool.
APIs can be procedural or object-oriented. With a procedural API you call functions to carry out tasks, with the object-oriented API, you instantiate classes and then call methods on the resulting objects. Of the two the second one is usually the preferred interface, as it is more modern and leads to better-organized code.

List of MySQL Connectors

  • ODBC/Connector : It provides driver support for connecting (Windows, Unix, and Mac OS X platforms.) to MySQL using the Open Database Connectivity (ODBC) API.

  • .Net/Connector : It provides support to create .NET applications that connect to MySQL.

  • J/Connector : It provides driver support for connecting to MySQL from Java applications using Java Database Connectivity (JDBC) API.

  • Python/Connector : It provides driver support for connecting to MySQL from Python applications using Python DB API version 2.0.

  • C++/Connector : is a standalone replacement for the MySQL Client Library (libMySQLclient), to be used for C applications.

Note : libMySQLclient is included in MySQL distributions and in MySQL Connector/C distributions.

List of Third-Party MySQL APIs

Language

API

Type

 

Ada

GNU Ada MySQL Bindings

libMySQLclient

 MySQL Bindings for GNU Ada

C

C API

libMySQLclient

 Section 23.8, “MySQL C API”.

C

Connector/C

Replacement forlibMySQLclient

 MySQL Connector/C Developer Guide.

C++

Connector/C++

libMySQLclient

 MySQL Connector/C++ Developer Guide.

 

MySQL++

libMySQLclient

 MySQL++ Web site.

 

MySQL wrapped

libMySQLclient

 MySQL wrapped.

Cocoa

MySQL-Cocoa

libMySQLclient

Compatible with the Objective-C Cocoa environment.  http://MySQL-cocoa.sourceforge.net/

D

MySQL for D

libMySQLclient

 MySQL for D.

Eiffel

Eiffel MySQL

libMySQLclient

 Section 23.14, “MySQL Eiffel Wrapper”.

Erlang

erlang-MySQL-driver

libMySQLclient

 erlang-MySQL-driver.

Haskell

Haskell MySQL Bindings

Native Driver

 Brian O'Sullivan's pure Haskell MySQL bindings.

 

hsql-MySQL

libMySQLclient

 MySQL driver for Haskell .

Java/JDBC

Connector/J

Native Driver

 MySQL Connector/J Developer Guide.

Kaya

MyDB

libMySQLclient

 MyDB.

Lua

LuaSQL

libMySQLclient

 LuaSQL.

.NET/Mono

Connector/Net

Native Driver

 MySQL Connector/Net Developer Guide.

Objective Caml

OBjective Caml MySQL Bindings

libMySQLclient

 MySQL Bindings for Objective Caml.

Octave

Database bindings for GNU Octave

libMySQLclient

 Database bindings for GNU Octave.

ODBC

Connector/ODBC

libMySQLclient

 MySQL Connector/ODBC Developer Guide.

Perl

DBI/DBD::MySQL

libMySQLclient

 Section 23.10, “MySQL Perl API”.

 

Net::MySQL

Native Driver

 Net::MySQL at CPAN

PHP

MySQL, ext/MySQLinterface (deprecated)

libMySQLclient

Original MySQL API (MySQL).

 

MySQLi,ext/MySQLiinterface

libMySQLclient

 MySQL Improved Extension (MySQLi).

 

PDO_MySQL

libMySQLclient

 MySQL Functions (PDO_MySQL) (MySQL (PDO)).

 

PDO MySQLnd

Native Driver

 

Python

Connector/Python

Native Driver

 MySQL Connector/Python Developer Guide.

 

MySQLdb

libMySQLclient

MySQL Python API

Ruby

MySQL/Ruby

libMySQLclient

Uses libMySQLclient.  The MySQL/Ruby API.

 

Ruby/MySQL

Native Driver

 Section 23.12.2, “The Ruby/MySQL API”.

Scheme

Myscsh

libMySQLclient

 Myscsh.

SPL

sql_MySQL

libMySQLclient

 sql_MySQL for SPL.

 

List of MySQL Connector and Server versions

Connector

Connector version

MySQL Server version

Connector/C

6.1.0 GA

5.6, 5.5, 5.1, 5.0, 4.1

Connector/C++

1.0.5 GA

5.6, 5.5, 5.1

Connector/J

5.1.8

5.6, 5.5, 5.1, 5.0, 4.1

Connector/Net

6.5

5.6, 5.5, 5.1, 5.0

Connector/Net

6.4

5.6, 5.5, 5.1, 5.0

Connector/Net

6.3

5.6, 5.5, 5.1, 5.0

Connector/Net

6.2 (No longer supported)

5.6, 5.5, 5.1, 5.0

Connector/Net

6.1 (No longer supported)

5.6, 5.5, 5.1, 5.0

Connector/Net

6.0 (No longer supported)

5.6, 5.5, 5.1, 5.0

Connector/Net

5.2 (No longer supported)

5.6, 5.5, 5.1, 5.0

Connector/Net

1.0 (No longer supported)

5.0, 4.0

Connector/ODBC

5.1

5.6, 5.5, 5.1, 5.0, 4.1.1+

Connector/ODBC

3.51 (Unicode not supported)

5.6, 5.5, 5.1, 5.0, 4.1