Exercice 4
- Ecrire un programme Python qui crée une base de données SQLite vide 'mydatabase.db' et connectez-vous à celle-ci à l'aide de Python.
- Ecrire un programme Python qui crée une table nommée "users" contenant des colonnes "id", "username" et "password".
- Insérez des données dans la table "users".
- Affichez tous les enregistrements de la table "users".
- Affichez tous les enregistrements de la table "users" dont le nom d'utilisateur est "john".
- Mettez à jour le mot de passe de l'utilisateur dont l'ID est 1.
- Supprimez l'utilisateur dont l'ID est 2.
- Créez une autre table nommée "posts" contenant des colonnes "id", "user_id" et "content".
- Insérez des données dans la table "posts".
- Affichez tous les enregistrements de la table "posts" liés à l'utilisateur dont l'ID est 1.
Solution
Etape1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import sqlite3 #------------ # Question 1 #------------ conn = sqlite3.connect('mydatabase.db') cur = conn.cursor() #------------ # Question 2 #------------ cur.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, username TEXT NOT NULL, password TEXT NOT NULL);''') #------------ # Question 3 #------------ cur.execute("INSERT INTO users ( username, password) VALUES ( 'john', 'password123')") cur.execute("INSERT INTO users ( username, password) VALUES ( 'jane', 'password456')") conn.commit() conn.close() |
Etape2:
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 |
import sqlite3 conn = sqlite3.connect('mydatabase.db') cur = conn.cursor() #------------ # Question 4 #------------ result = cur.execute("SELECT * FROM users") for row in result: print(row) print('---------------------------') #------------ # Question 5 #------------ result2 = cur.execute("SELECT * FROM users WHERE username='john'") for row in result2: print(row) #------------ # Question 6 #------------ cur.execute("UPDATE users SET password='newpassword' WHERE id=1") #------------ # Question 7 #------------ cur.execute("DELETE FROM users WHERE id=2") #------------ # Question 8 #------------ cur.execute('''CREATE TABLE IF NOT EXISTS posts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER NOT NULL, content TEXT NOT NULL, FOREIGN KEY(user_id) REFERENCES users(id));''') conn.commit() conn.close() |
Etape3:
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 |
import sqlite3 #------------ # Question 1 #------------ conn = sqlite3.connect('mydatabase.db') cur = conn.cursor() cur.execute('''CREATE TABLE IF NOT EXISTS posts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER NOT NULL, content TEXT NOT NULL, FOREIGN KEY(user_id) REFERENCES users(id));''') #------------ # Question 9 #------------ cur.execute("INSERT INTO posts (user_id, content) VALUES ( 1, 'This is a post by John')") cur.execute("INSERT INTO posts (user_id, content) VALUES ( 1, 'This is another post by John')") cur.execute("INSERT INTO posts ( user_id, content) VALUES ( 2, 'This is a post by Jane')") conn.commit() #------------ # Question 10 #------------ result = cur.execute("SELECT * FROM posts WHERE user_id=1") for row in result: print(row) conn.close() |
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 4: manipulation des bases de données SQLite en python”