Prólogo

MySQL MySQL es una marca registrada por MySQL AB. Parte del material que se expone aquí, concretamente las referencias de funciones del API de MySQL y de la sintaxis de SQL, son traducciones del manual original de MySQL que se puede encontrar en inglés en www.mysql.com.

Este sitio está desarrollado exclusivamente por los componentes de Con Clase, cualquier error en la presente documentación es sólo culpa nuestra.

Introducción

El presente manual trata sobre la integración de bases de datos MySQL dentro de aplicaciones C y C++. Para ello nos limitaremos a explicar algunas de las funciones y estructuras del API de MySQL y al modo en que estas se combinan para crear programas que trabajen con bases de datos.

Se supone que el lector de este documento ya tiene conocimientos sobre diseño de bases de datos y sobre el lenguaje de consulta SQL. De todos modos, en Con Clase también se incluye un curso sobre estos temas, al que se puede acceder desde MySQL con Clase.

También supondremos que trabajamos en un sistema que tiene instalado el servidor MySQL. Se puede consultar la documentación en la página de MySQL para obtener detalles sobre el modo de instalar este servidor en distintos sistemas operativos.

Instalación de bibliotecas para Dev-C++

Lo que sí necesitamos es, por supuesto, un compilador de C/C++. Los ejemplos que aparecen en este curso están escritos en C++, pero usaremos el API C, de modo que las estructuras de los programas deben ser fácilmente adaptables a código C.

Nota: Aunque existe un API C++, que encapsula el API C de MySQL, de momento no se incluye documentación sobre él en este curso.

Siguiendo lo que ya es una tradición en Con Clase usaremos el compilador Mingw y el entorno de desarrollo Dev-C++ para crear nuestros programas de ejemplo. En este entorno se puede descargar un paquete para usar el API de MySQL. Veamos cómo hacerlo paso a paso:

  1. Usar la opción Ayuda->Sobre..., se mostrará este cuadro de diálogo:
  2. Diálogo sobre
    Diálogo sobre

  3. Pulsar el botón "Buscar actualizaciones", se mostrará el cuadro de diálogo de actualizaciones:
  4. Diálogo de actualización
    Diálogo de actualización

  5. Pulsar el botón "Check for updates". Se leerá una lista de los paquetes disponibles.
  6. Seleccionar el paquete MySQL y pulsar el botón "Download selected":
  7. Opción de MySQL
    Activar opción MySQL

  8. Se descargará el paquete desde Internet, y aparecerá este mensaje: "The updates you selected have been downloaded. Now they will be installed.", es decir, que se han descargado las actualizaciones y se procederá a instalarlas. Pulsamos "Ok".
  9. Se abrirá otra ventana, con el "Installation Wizard", pulsamos "Install>":
  10. Installation Wizard
    Installation Wizard

  11. Cuando termine la instalación pulsamos "Finish", y se cerrará el "Installation Wizard".

Ahora tendremos un subdirectorio MySQL bajo el directorio include de Dev-C++, que contendrá los ficheros de cabecera ".h". En el directorio lib de Dev-C++ se habrán copiado los ficheros "libmySQL.a" y "libmySQL.def". Y en el directorio de examples de Dev-C++ habrá una carpeta con un proyecto de ejemplo MySQLClientTest, (que no funcionará :-), aunque esto no debe preocuparnos, ya que tampoco lo vamos a necesitar).

Comentarios de los usuarios (3)

Jose
2011-05-05 19:34:47

Saludos, lamentablemente la actualizacion de la libreria de mysql no funciona, no la puedo instalar.

Verifique y tengo la misma version del programa(4.9.9.2), busco las actualizaciones aparece es mysql++, cuando la selecciono y le doy a descargar dice que no existe el paquete

Salvador Pozo
2011-05-07 12:05:37

Lamentablemente Dev-C++ es un proyecto abandonado, y probablemente algunos paquetes estén desactualizados o hayan desaparecido.

Te recomiendo que apliques el método de la sección siguiente:

http://c.conclase.net/mysql/index.php?cap=000b#inicio

Es algo más laborioso, pero funciona siempre.

Suerte.

Marco Camarena
2015-10-12 08:59:59

Para realizar el enlace con MySQL se puede descargar el conector desde aquí: http://dev.mysql.com/downloads/connector/c/

Copia el archivo libmysql.lib y libmysql.dll (en la carpeta lib) a la carpeta de tu código fuente. En las opciones de tu compilador en "Linker settings" agrega el archivo libmysql.lib (Link libraries), de esta forma tendrás acceso a las funciones de MySQL desde el IDE.

Para incluir las librerías, agrega la carpeta include en Search Directories o Include Directories dentro de tu compilador.

Toma en cuenta que el Connector de la descarga no incluye el servidor web, que deberás instalarlo aparte.

Una vez hecho eso, podrás incluir el conector de MySQL

#include <iostream>
#include <mysql.h>
using namespace std;

MYSQL *conn;

int main() {
    conn = mysql_init(NULL);
    mysql_real_connect(conn, "localhost", "rootuser", "rootpass", "base_prueba", MYSQL_PORT, NULL, 0); // MYSQL_PORT = Puerto 3306
    version = mysql_get_server_version(conn);
    cout << endl << "MySQL Version = " << version << endl;
    mysql_close(conn);
    return 0;
}

Si el código anterior te funciona, significa que ya puedes seguir adelante con los ejemplos. Utilicé Code::Blocks 13.12 con el compilador GCC, las opciones están en el menú Settings -> Compiler -> Global compiler settings.