Skip to content

Conexion

Puedes conectarte a un servidor MySQL desde diferentes contextos y lenguajes de programación.

Bash

Si necesitas interactuar con MySQL desde la terminal puedes usar el cliente mysql que se instala junto con el servidor.

sudo mysql
mysql -u usuario -p

Si simplemente necesitas ejecutar código SQL desde la terminal:

mysql -u usuario -p -e "SELECT * FROM tabla;"
mysql -u usuario -p base_de_datos < archivo.sql

Python

Para conectarte a mySQL desde Python con la libreria mysql-connector-python:

import mysql.connector
from mysql.connector import Error

def create_connection(host_name, user_name, user_password, db_name):
    connection = None
    try:
        connection = mysql.connector.connect(
            host=host_name,
            user=user_name,
            password=user_password,
            database=db_name
        )
        print("Conexión exitosa a la base de datos")
    except Error as e:
        print(f"Error: '{e}'")

    return connection

def close_connection(connection):
    if connection.is_connected():
        connection.close()
        print("Conexión cerrada")

connection = create_connection("localhost", "datadiego", "datadiego", "test")
if connection is None:
    print("No se pudo establecer la conexión a la base de datos")
else:
    cursor = connection.cursor()
    cursor.execute("SELECT * FROM users")
    for row in cursor.fetchall():
        print(row)

Node.js (CommonJS)

Para conectarte a MySQL desde Node.js, puedes usar el paquete mysql2:

const mysql = require('mysql2');
const connection = mysql.createConnection({
    host: 'localhost',
    user: 'datadiego',
    password: 'datadiego',
    database: 'test'
});

connection.connect((err) => {
    if (err) {
        console.error('Error al conectar a la base de datos:', err);
        return;
    }
    console.log('Conexión exitosa a la base de datos');
});

const query = 'SELECT * FROM users';
connection.query(query, (error, results) => {
    if (error) {
        console.error('Error al ejecutar la consulta:', error);
        return;
    }
    console.log('Resultados:', results);
});
connection.end((err) => {
    if (err) {
        console.error('Error al cerrar la conexión:', err);
    } else {
        console.log('Conexión cerrada');
    }
});

Node.js (ESM)

Si usas módulos ES en Node.js, puedes usar mysql2/promise para trabajar con promesas, usa el mismo paquete mysql2:

import mysql from 'mysql2/promise';
const connection = await mysql.createConnection({
    host: 'localhost',
    user: 'datadiego',
    password: 'datadiego',
    database: 'test'
});
console.log('Conexión exitosa a la base de datos');
const [rows, fields] = await connection.execute('SELECT * FROM users');
console.log('Resultados:', rows);
await connection.end();
console.log('Conexión cerrada');

PHP

En PHP puedes conectarte a MySQL usando dos extensiones, mysqli o PDO.

Aquí usamos mysqli:

<?php
// Configuración de la base de datos
$servidor = "localhost";
$usuario = "datadiego";
$password = "datadiego";
$base_datos = "test";

// Crear conexión usando MySQLi
$conexion = new mysqli($servidor, $usuario, $password, $base_datos);

// Verificar la conexión
if ($conexion->connect_error) {
    die("Error de conexión: " . $conexion->connect_error);
} else {
    echo "Conexión exitosa a MySQL usando MySQLi<br>";
    echo "Servidor: " . $servidor . "<br>";
    echo "Base de datos: " . $base_datos . "<br>";
}

// Configurar charset UTF-8
$conexion->set_charset("utf8");

// Ejemplo de consulta
$sql = "SELECT VERSION() as version";
$resultado = $conexion->query($sql);

if ($resultado->num_rows > 0) {
    $fila = $resultado->fetch_assoc();
    echo "Versión de MySQL: " . $fila["version"] . "<br>";
}

// Cerrar conexión
$conexion->close();
?>

Y en este otro PDO:

<?php

// Configuración de la base de datos
$servidor = "localhost";
$usuario = "datadiego";
$password = "datadiego";
$base_datos = "test";

try {
    // Crear conexión PDO
    $dsn = "mysql:host=$servidor;dbname=$base_datos;charset=utf8";
    $pdo = new PDO($dsn, $usuario, $password);

    // Configurar PDO para mostrar errores
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    echo "Conexión exitosa a MySQL usando PDO<br>";
    echo "Servidor: " . $servidor . "<br>";
    echo "Base de datos: " . $base_datos . "<br>";

    // Ejemplo de consulta
    $stmt = $pdo->query("SELECT VERSION() as version");
    $resultado = $stmt->fetch(PDO::FETCH_ASSOC);
    echo "Versión de MySQL: " . $resultado["version"] . "<br>";

} catch (PDOException $e) {
    die("Error de conexión: " . $e->getMessage());
}

// PDO se cierra automáticamente al final del script
$pdo = null;
?>

Java

Para conectarte a MySQL desde Java, puedes usar el conector JDBC:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class MySQLConnection {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/test";
        String user = "datadiego";
        String password = "datadiego";

        try (Connection conn = DriverManager.getConnection(url, user, password);
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT * FROM users")) {

            while (rs.next()) {
                System.out.println("ID: " + rs.getInt("id"));
                System.out.println("Nombre: " + rs.getString("name"));
                System.out.println("Email: " + rs.getString("email"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}