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
|
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import sqlite3
##############################################################################
glaces = [[1,2,1],[2,1,5],[3,1,4]]
desc_parfums=[[1,'vanille'],[2,'choco'],[3,'fraise'],[4,'cara'],[5,'miel']]
"""
objectif:
table = [[1, 2, 1, 'vanille'], [2, 1, 5, 'miel'], [3, 1, 4, 'cara']]
"""
# ============================================================================
# creation de la base: CREATE DATABASE test
# repertoire dans lequel se trouvera la base de donnees
rep = r"C:\Python25\Pydev\test\sql\bdr\test"
# nom de la base de donnes: au depart, ce n'est qu'un simple fichier vide (0 octet)
base = r"test.bdr"
# connexion à la base de donnees
bdr = sqlite3.connect(os.path.join(rep,base))
# obtention d'un curseur
cur = bdr.cursor()
# ============================================================================
# creation de la table glaces
cur.execute('CREATE TABLE glaces(elem1 INTEGER, elem2 INTEGER, elem3 INTEGER)')
# remplissage de la table glaces à partir de la liste glaces
for i1, i2, i3 in glaces:
cur.execute('INSERT INTO glaces VALUES(' + str(i1) + ',' + str(i2) + ',' + str(i3) + ')')
# verification: affichage du contenu de la table glaces:
cur.execute('SELECT * from glaces')
print
for ligne in cur.fetchall():
print ligne
# ============================================================================
# creation de la table desc_parfums
cur.execute('CREATE TABLE desc_parfums(elem INTEGER, desc TEXT(12))')
# remplissage de la table desc_parfums à partir de la liste desc_parfums
for i, x in desc_parfums:
cur.execute('INSERT INTO desc_parfums VALUES(' + str(i) + ',"' + x + '")')
# verification: affichage du contenu de la table glaces:
cur.execute('SELECT * from desc_parfums')
print
for ligne in cur.fetchall():
print ligne
# ============================================================================
# jointure gauche entre les 2 tables
cur.execute('SELECT elem1, elem2, elem3, desc FROM glaces LEFT OUTER JOIN desc_parfums ON glaces.elem3=desc_parfums.elem')
# recuperation du resultat de la jointure:
table = cur.fetchall()
# affichage du resultat
print
for ligne in table:
print ligne
# ============================================================================
# fermeture du curseur
cur.close()
# fermeture de la base
bdr.close() |
Partager