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
|
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
# import de SQLITE
import sqlite3,os,os.path
if os.path.exists('test.db') : os.remove('test.db')
connection = sqlite3.connect('test.db') #Création d'un objet connection à la BDD, connection ou création si pas d'existence
cursor = connection.cursor() #Création de l'objet curseur
# Création de la table
cursor.execute('CREATE TABLE names (id INTEGER PRIMARY KEY,name VARCHAR(50), email VARCHAR(50))')
# Entrée directe d'enregistrement
cursor.execute('INSERT INTO names VALUES (null, "jean dupont","jdupont@jdupont.ll")')
cursor.execute('INSERT INTO names VALUES (null, "patrice martin","pmartin@pmartin.yy")')
print "dernière ligne rentrée=",cursor.lastrowid
# Entrée indirecte d'enregistrement
name = "pascal durand"
email ="p@durand.ll"
cursor.execute('INSERT INTO names VALUES (null, ?, ?)',(name, email))
connection.commit()
# Annulation de modification de la base
cursor.execute('INSERT INTO names VALUES (null, "rene core", "rene@core.rr")')
connection.rollback()
# Affichage des enregistrements
print
print
print "A] Parcours direct du curseur avec une boucle for"
cursor.execute('SELECT * FROM names')
for row in cursor :
for r in row:
print r,
print
print
print "B] avec fetchall"
cursor.execute('SELECT * FROM names')
print cursor.fetchall()
print
print "C] avec fetchmany 2 enregistrements"
cursor.execute('SELECT * FROM names')
print cursor.fetchmany(2)
print
print "D] avec fetchone et une boucle while true"
cursor.execute('SELECT * FROM names')
while True:
a=cursor.fetchone()
if a==None : break
print a, a[0],a[1],a[2]
print
print "Strucuture de la base :"
cursor.execute('select * from sqlite_master')
while True:
a=cursor.fetchone()
if a==None : break
print a
print cursor
cursor.close()
connection.close() |
Partager