52 lines
1.1 KiB
Python
52 lines
1.1 KiB
Python
import sqlite3
|
|
|
|
try:
|
|
# si la base n'existe pas, elle est créee automatiquement
|
|
conn = sqlite3.connect('ma_base.db')
|
|
|
|
# travailler avec une base temporaire
|
|
#conn = sqlite3.connect(':memory:')
|
|
|
|
# créer une table
|
|
cursor = conn.cursor()
|
|
cursor.execute("""
|
|
CREATE TABLE IF NOT EXISTS users(
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
|
|
name TEXT,
|
|
age INTERGER
|
|
)
|
|
""")
|
|
conn.commit()
|
|
|
|
# ajouter des données
|
|
cursor.execute("""
|
|
INSERT INTO users(name, age) VALUES(?, ?)""", ("olivier", 30))
|
|
|
|
# ajouter des données depuis un dictionnaire
|
|
data = {"name" : "bruno", "age" : 50}
|
|
cursor.execute("""
|
|
INSERT INTO users(name, age) VALUES(:name, :age)""", data)
|
|
|
|
# ajouter des données (plusieurs insert en une seule fois)
|
|
users = []
|
|
users.append(("joe", 35))
|
|
users.append(("jean-louis", 90))
|
|
cursor.executemany("""
|
|
INSERT INTO users(name, age) VALUES(?, ?)""", users)
|
|
|
|
conn.commit()
|
|
|
|
# id de la dernière ligne
|
|
id = cursor.lastrowid
|
|
print('dernier id: %d' % id)
|
|
|
|
except sqlite3.OperationalError:
|
|
print('Erreur la table existe déjà')
|
|
except Exception as e:
|
|
print("Erreur")
|
|
conn.rollback()
|
|
# raise e
|
|
|
|
finally:
|
|
conn.close()
|