Sobes.tech
Junior

¿Qué herramientas ha utilizado para trabajar con bases de datos?

sobes.tech AI

Respuesta de la IA

Para trabajar con bases de datos, utilicé las siguientes herramientas:

  • Clientes SQL:
    • DBeaver
    • SQL Developer
    • pgAdmin
  • Herramientas de línea de comandos:
    • psql
    • mysql
  • Frameworks y bibliotecas para automatización de pruebas:
    • JDBC (para Java)
    • psycopg2 (para Python, PostgreSQL)
    • mysql-connector-python (para Python, MySQL)

La mayoría de las veces, usaba clientes SQL para explorar datos manualmente, escribir y ejecutar consultas, así como herramientas de línea de comandos y bibliotecas para automatizar verificaciones de datos a nivel de API o pruebas de integración.

Ejemplos de uso en automatización:

// Verificación de la cantidad de registros en una tabla
public int getCountOfUsers(String username) {
    String sql = "SELECT COUNT(*) FROM users WHERE username = ?";
    try (Connection conn = DriverManager.getConnection(url, user, password);
         PreparedStatement pstmt = conn.prepareStatement(sql)) {
        pstmt.setString(1, username);
        try (ResultSet rs = pstmt.executeQuery()) {
            if (rs.next()) {
                return rs.getInt(1);
            }
        }
    } catch (SQLException e) {
        e.printStackTrace(); // Registro de errores
    }
    return 0;
}
# Verificación del valor de un campo en un registro
def get_user_status(user_id):
    conn = None
    cursor = None
    try:
        conn = psycopg2.connect(database="mydatabase", user="myuser", password="mypassword", host="localhost")
        cursor = conn.cursor()
        cursor.execute("SELECT status FROM users WHERE id = %s", (user_id,))
        result = cursor.fetchone()
        if result:
            return result[0]
        return None
    except (Exception, psycopg2.Error) as error:
        print("Error al obtener datos de PostgreSQL", error) # Registro de errores
        return None
    finally:
        if cursor:
            cursor.close()
        if conn:
            conn.close()