Sobes.tech
Junior

Jakimi narzędziami pracowałeś z bazami danych?

sobes.tech AI

Odpowiedź od AI

Aby pracować z bazami danych, używałem następujących narzędzi:

  • Klienci SQL:
    • DBeaver
    • SQL Developer
    • pgAdmin
  • Narzędzia wiersza poleceń:
    • psql
    • mysql
  • Frameworki i biblioteki do automatyzacji testów:
    • JDBC (dla Java)
    • psycopg2 (dla Pythona, PostgreSQL)
    • mysql-connector-python (dla Pythona, MySQL)

Najczęściej korzystałem z klientów SQL do ręcznego badania danych, pisania i wykonywania zapytań, a także z narzędzi wiersza poleceń i bibliotek do automatyzacji sprawdzania danych na poziomie API lub testów integracyjnych.

Przykłady zastosowania w automatyzacji:

// Sprawdzanie liczby rekordów w tabeli
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(); // Logowanie błędów
    }
    return 0;
}
# Sprawdzanie wartości pola w rekordzie
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("Błąd podczas pobierania danych z PostgreSQL", error) # Logowanie błędów
        return None
    finally:
        if cursor:
            cursor.close()
        if conn:
            conn.close()