Pouknouki

DB

Jun 2nd, 2016
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.19 KB | None | 0 0
  1. import sqlite3
  2. #( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  ( ͡° ͜ʖ ͡°)  
  3. fd = "/home/eleve/essai.s3db"
  4. db = sqlite3.connect(fd)
  5. cur = db.cursor()
  6.  
  7. def creerTable(nom, colonnes, types, cur):
  8.     sql = "CREATE TABLE " + nom + " ("
  9.     for i in range(len(colonnes)):
  10.         sql = sql + colonnes[i] + " " + types[i] + ","
  11.     sql = sql.strip(",")
  12.     sql += ")"
  13.     try:
  14.         cur.execute(sql)
  15.     except:
  16.         pass
  17.    
  18. def supprimerTable(nom):
  19.     cur.execute("DROP TABLE " + nom)
  20.    
  21.  
  22. def remplirTable():
  23.     supprimerTable("auteurs")
  24.     supprimerTable("livres")
  25.    
  26.     creerTable("auteurs", ["auteur", "naiss", "mort"], ["TEXT", "INT", "INT"], cur)
  27.     creerTable("livres", ["auteur","titre","genre"], ["TEXT","TEXT","TEXT"], cur)
  28.    
  29.     auteurs = [("Gautier",1811,1872),("De Musset",1810,1857),("Baudelaire",1821,1867),("Flaubert",1821,1880),("Verne",1828,1905),("Dumas",1802,1870),("Zola",1840,1902)]
  30.     for auteur in auteurs:
  31.         cur.execute("INSERT INTO auteurs VALUES (?,?,?)", auteur)
  32.  
  33.     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")]
  34.     for livre in livres:
  35.         cur.execute("INSERT INTO livres VALUES (?,?,?)", livre)
  36.     db.commit()
  37.    
  38. remplirTable()
  39.  
  40. ##Exercice 2
  41. def requete(fichier, commande): #lance requêtes
  42.     db2 = sqlite3.connect(fichier + ".s3db")
  43.     cur2 = db2.cursor()
  44.     try:
  45.         cur2.execute(commande)
  46.         l = list(cur2)
  47.         print(l)
  48.     except:
  49.         print("Erreur dans la requête.")
  50.  
  51. # requete("/home/eleve/essai", "SELECT * FROM livres")
  52. # l = list(cur)
  53. # print(l)
  54.  
  55. ##Exercice 3
  56.  
  57. def liste(cur, sql):
  58.     cur.execute(sql)
  59.     l = list(cur)
  60.     return l
  61.  
  62. def exo3():
  63.     db2 = sqlite3.connect("/home/eleve/essai.s3db")
  64.     cur2 = db2.cursor()
  65.    
  66.     sql = "SELECT titre FROM livres"
  67.     print(liste(cur2, sql))
  68.    
  69.     sql = "SELECT auteur FROM auteurs ORDER BY auteur"
  70.     print(liste(cur2, sql))
  71.    
  72.     sql = "SELECT COUNT(titre) FROM livres"
  73.     print(liste(cur2, sql))
  74.    
  75.     sql = "SELECT titre FROM livres WHERE genre='roman'"
  76.     print(liste(cur2, sql))
  77.    
  78.     sql = "SELECT auteur FROM auteurs WHERE naiss<1811"
  79.     print(liste(cur2, sql))
  80.    
  81.     sql = "SELECT a.auteur, a.naiss, a.mort, l.titre FROM auteurs as a JOIN livres as l ON a.auteur=l.auteur"
  82.     print(liste(cur2, sql))
  83.    
  84.     sql = "SELECT titre FROM auteurs as a JOIN livres as l ON a.auteur = l.auteur ORDER BY a.mort"
  85.     print(liste(cur2, sql))
  86.    
  87.     sql = "SELECT a.auteur FROM auteurs as a JOIN livres as l on a.auteur = l.auteur WHERE genre='poésie'"
  88.     print(liste(cur2, sql))
  89.    
  90.     sql = "SELECT auteur FROM livres WHERE genre='poésie' INTERSECT SELECT auteur FROM livres WHERE genre='théâtre'"
  91.     print(liste(cur2, sql))
  92.    
  93.     sql = "SELECT auteur FROM livres WHERE genre='poésie' UNION SELECT auteur FROM livres WHERE genre='théâtre'"
  94.     print(liste(cur2, sql))
  95. exo3()
Advertisement
Add Comment
Please, Sign In to add comment