-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathplayer_database.py
79 lines (63 loc) · 2.32 KB
/
player_database.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import sqlite3
# Connect to the SQLite database
conn = sqlite3.connect('players.db')
cursor = conn.cursor()
# Create a table to store player profiles
cursor.execute('''CREATE TABLE IF NOT EXISTS players
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
sport TEXT,
team TEXT,
performance TEXT)''')
def add_player(name, sport, team, performance):
# Insert a new player into the database
cursor.execute("INSERT INTO players (name, sport, team, performance) VALUES (?, ?, ?, ?)",
(name, sport, team, performance))
conn.commit()
def update_player(player_id, name=None, sport=None, team=None, performance=None):
# Update player information in the database
update_query = "UPDATE players SET"
update_values = []
if name:
update_query += " name = ?,"
update_values.append(name)
if sport:
update_query += " sport = ?,"
update_values.append(sport)
if team:
update_query += " team = ?,"
update_values.append(team)
if performance:
update_query += " performance = ?,"
update_values.append(performance)
# Remove the trailing comma
update_query = update_query.rstrip(',')
# Add the WHERE clause to update the specific player
update_query += " WHERE id = ?"
update_values.append(player_id)
cursor.execute(update_query, tuple(update_values))
conn.commit()
def delete_player(player_id):
# Delete a player from the database
cursor.execute("DELETE FROM players WHERE id = ?", (player_id,))
conn.commit()
def retrieve_players(criteria=None):
# Retrieve player information from the database based on criteria
if criteria:
query = "SELECT * FROM players WHERE " + criteria
else:
query = "SELECT * FROM players"
cursor.execute(query)
return cursor.fetchall()
# Example usage
task = AddPlayerTask("John Doe", "Basketball", "Team A", "Excellent performance")
task.start()
task = AddPlayerTask("Jane Smith", "Soccer", "Team B", "Average performance")
task.start()
update_player(1, name="John Doe Jr.", performance="Outstanding performance")
delete_player(2)
players = retrieve_players("sport = 'Basketball'")
for player in players:
print(player)
# Close the database connection
conn.close()