Sobes.tech
Junior

Koje alate ste koristili za rad sa bazama podataka?

sobes.tech АИ

Одговор од АИ

За работа с бази данни използвах следните инструменти:

  • SQL клиенти:
    • DBeaver
    • SQL Developer
    • pgAdmin
  • Инструменти за команден ред:
    • psql
    • mysql
  • Frameworks и библиотеки за автоматизация на тестове:
    • JDBC (за Java)
    • psycopg2 (за Python, PostgreSQL)
    • mysql-connector-python (за Python, MySQL)

Обикновено използвах SQL клиентите за ръчно изследване на данните, писане и изпълнение на заявки, както и инструменти за команден ред и библиотеки за автоматизация на проверки на данните на ниво API или интеграционни тестове.

Примери за използване в автоматизация:

// Проверка на броя записи в таблица
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(); // Логване на грешки
    }
    return 0;
}
# Проверка на стойността на поле в запис

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("Грешка при извличане на данни от PostgreSQL", error) # Логване на грешки
        return None
    finally:
        if cursor:
            cursor.close()
        if conn:
            conn.close()