Junior
Koje alate ste koristili za rad sa bazama podataka?
sobes.tech АИ
Одговор од АИ
За работа с бази данни използвах следните инструменти:
- SQL клиенти:
- DBeaver
- SQL Developer
- pgAdmin
- Инструменти за команден ред:
psqlmysql
- 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()