Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sqlite3
- #( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°)
- fd = "/home/eleve/essai.s3db"
- db = sqlite3.connect(fd)
- cur = db.cursor()
- def creerTable(nom, colonnes, types, cur):
- sql = "CREATE TABLE " + nom + " ("
- for i in range(len(colonnes)):
- sql = sql + colonnes[i] + " " + types[i] + ","
- sql = sql.strip(",")
- sql += ")"
- try:
- cur.execute(sql)
- except:
- pass
- def supprimerTable(nom):
- cur.execute("DROP TABLE " + nom)
- def remplirTable():
- supprimerTable("auteurs")
- supprimerTable("livres")
- creerTable("auteurs", ["auteur", "naiss", "mort"], ["TEXT", "INT", "INT"], cur)
- creerTable("livres", ["auteur","titre","genre"], ["TEXT","TEXT","TEXT"], cur)
- auteurs = [("Gautier",1811,1872),("De Musset",1810,1857),("Baudelaire",1821,1867),("Flaubert",1821,1880),("Verne",1828,1905),("Dumas",1802,1870),("Zola",1840,1902)]
- for auteur in auteurs:
- cur.execute("INSERT INTO auteurs VALUES (?,?,?)", auteur)
- livres = [("Gautier","Le Capitaine Fracasse", "roman"),("Gautier","Emaux et camées","poésie"),("De Musset", "Les Caprices de Marianne", "théâtre"),("De Musset", "Nuit de Mai","poésie"),("Baudelaire", "Les fleurs du Mal", "poésie"),("Flaubert","Madame Bovary","roman"),("Flaubert","L'éducation sentimentale","roman"),("Verne","Michel Strogoff","roman"),("Verne","Monna Lisa","théâtre"),("Dumas","La Chasse et l'Amour","théâtre"),("Dumas","Le Comte de Monte-Cristo","roman"),("Zola", "Les Rougon-Macquart","roman"),("Zola", "Madelaine","théâtre"),("Zola","A mon ami Paul","poésie")]
- for livre in livres:
- cur.execute("INSERT INTO livres VALUES (?,?,?)", livre)
- db.commit()
- remplirTable()
- ##Exercice 2
- def requete(fichier, commande): #lance requêtes
- db2 = sqlite3.connect(fichier + ".s3db")
- cur2 = db2.cursor()
- try:
- cur2.execute(commande)
- l = list(cur2)
- print(l)
- except:
- print("Erreur dans la requête.")
- # requete("/home/eleve/essai", "SELECT * FROM livres")
- # l = list(cur)
- # print(l)
- ##Exercice 3
- def liste(cur, sql):
- cur.execute(sql)
- l = list(cur)
- return l
- def exo3():
- db2 = sqlite3.connect("/home/eleve/essai.s3db")
- cur2 = db2.cursor()
- sql = "SELECT titre FROM livres"
- print(liste(cur2, sql))
- sql = "SELECT auteur FROM auteurs ORDER BY auteur"
- print(liste(cur2, sql))
- sql = "SELECT COUNT(titre) FROM livres"
- print(liste(cur2, sql))
- sql = "SELECT titre FROM livres WHERE genre='roman'"
- print(liste(cur2, sql))
- sql = "SELECT auteur FROM auteurs WHERE naiss<1811"
- print(liste(cur2, sql))
- sql = "SELECT a.auteur, a.naiss, a.mort, l.titre FROM auteurs as a JOIN livres as l ON a.auteur=l.auteur"
- print(liste(cur2, sql))
- sql = "SELECT titre FROM auteurs as a JOIN livres as l ON a.auteur = l.auteur ORDER BY a.mort"
- print(liste(cur2, sql))
- sql = "SELECT a.auteur FROM auteurs as a JOIN livres as l on a.auteur = l.auteur WHERE genre='poésie'"
- print(liste(cur2, sql))
- sql = "SELECT auteur FROM livres WHERE genre='poésie' INTERSECT SELECT auteur FROM livres WHERE genre='théâtre'"
- print(liste(cur2, sql))
- sql = "SELECT auteur FROM livres WHERE genre='poésie' UNION SELECT auteur FROM livres WHERE genre='théâtre'"
- print(liste(cur2, sql))
- exo3()
Advertisement
Add Comment
Please, Sign In to add comment