0% ont trouvé ce document utile (0 vote)
3 vues25 pages

Introduction à SQL et SQLite3 avec Python

Le document présente le langage SQL et son utilisation avec SQLite3 en Python, en détaillant les langages de définition et de manipulation de données. Il explique comment créer, modifier et supprimer des tables, ainsi que l'insertion, la mise à jour et la suppression de données. Des exemples pratiques illustrent les commandes SQL et les fonctions du module SQLite3.

Transféré par

omorad531
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues25 pages

Introduction à SQL et SQLite3 avec Python

Le document présente le langage SQL et son utilisation avec SQLite3 en Python, en détaillant les langages de définition et de manipulation de données. Il explique comment créer, modifier et supprimer des tables, ainsi que l'insertion, la mise à jour et la suppression de données. Des exemples pratiques illustrent les commandes SQL et les fonctions du module SQLite3.

Transféré par

omorad531
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Langage de définition de données Langage de manipulation de données Module SQlite3 de python

SQL cont. et SQLite3 avec Python

Kossale Youssef

[Link]@[Link]
CPGE Mohammed V Casablanca

Kossale Youssef SQL cont. et SQLite3 avec Python 1 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

1 Langage de définition de données

2 Langage de manipulation de données

3 Module SQlite3 de python

Kossale Youssef SQL cont. et SQLite3 avec Python 2 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de définition de données

Définition
Le langage de définition de données permet la modification du schéma d’une base de
données. il propose trois opérations : la création d’une table avec la commande
(CREATE), la suppression avec la commande (DROP) et la modification avec la
commande (ALTER).

Kossale Youssef SQL cont. et SQLite3 avec Python 3 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de définition de données

Créer une table


La commande CREATE TABLE permet de créer une table dans la base de données
courante.
Syntaxe:
CREATE TABLE nomTable(
colonne1 type1 [contraintes1],
colonne2 type2 [contraintes2],
...
colonneN typeN [contraintesN],
[containtesAdditionnelles]
);

Kossale Youssef SQL cont. et SQLite3 avec Python 4 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de définition de données

Dans la syntaxe précedente on définit pour chaque attribut 3 choses :


• Nom d’attribut ou colonne
• Son type
• des containtes d’intégrité si besoin

Kossale Youssef SQL cont. et SQLite3 avec Python 5 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de définition de données

Types de données en SQL

Kossale Youssef SQL cont. et SQLite3 avec Python 6 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de définition de données

Contraintes d’intégrité
Une contrainte d’intégrité est une régle qui permet de controler la valeur d’une colonne
ou d’un ensemble de colonnes.

Kossale Youssef SQL cont. et SQLite3 avec Python 7 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de définition de données

Exemple
Création de la table Pilote:
CREATE TABLE Pilote(
numPilote INTEGER PRIMARY KEY AUTOINCREMENT,
nomPilote TEXT,
adress TEXT,
salaire INTEGER,
Check (salaire > 10000)
);

Kossale Youssef SQL cont. et SQLite3 avec Python 8 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de définition de données

Exemple
Création des tables Vol et Avion:
Avion(numAvion, nomAvion, Capacité, localisation)
• numAvion est la clé primaire, la capacité doit être supérieure a 0 et la localisation
doit être soit Agadir, Marrakech, Rabat, Tanger ou Casablanca.
Vol(numVol, villDep,villeArr,heureDep, heureArr, numPilote, numAvion)
• numVol est la clé primaire, alors que numAvion et numPilote sont des clés
étrangères des tables avion et pilote respectivement.

Kossale Youssef SQL cont. et SQLite3 avec Python 9 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de définition de données

Exemple
Création de la table Avion:
CREATE TABLE Avion(
numAvion INTEGER PRIMARY KEY AUTOINCREMENT,
nomAvion TEXT,
capacite INTEGER,
localisation TEXT,
CHECK (capacite > 0),
CHECK (localisation in ("Agadir", "Tanger", "Marrakech", "Rabat", "Casablanca")) );

Kossale Youssef SQL cont. et SQLite3 avec Python 10 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de définition de données

Exemple
Création de la table Vol:
CREATE TABLE Vol(
numVol INTEGER PRIMARY KEY AUTOINCREMENT,
villDep TEXT,
villArr TEXT,
heureDep INTEGER,
heureArr INTEGER,
numAvion INTEGER NOT NULL,
numPilote INTEGER NOT NULL,
FOREIGN KEY (numAvion) REFERENCES Avion(numAvion) ON DELETE CASCADE,
FOREIGN KEY (numPilote) REFERENCES Pilote(numPilote) ON DELETE CASCADE
);

Kossale Youssef SQL cont. et SQLite3 avec Python 11 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de définition de données

Suppression d’une table


La commande Drop Table nom_table permet de supprimer définitivement une table
d’une base de données.
Remarque:
Si on veut supprimer une table qui est reliée à d’autre tables par des clés étrangères, il
est recommandé de les supprimer avant de supprimer la table concernée.
Exemple: DROP TABLE Vol

Kossale Youssef SQL cont. et SQLite3 avec Python 12 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de définition de données

Modification d’une table


En utilisant la commande ALTER TABLE, on peut modifier le schéma d’une table
existante.
Syntaxe:
ALTER TABLE nom_table
instruction;
Une instruction peut etre l’une des commandes suivantes:
• ADD nomColonne type : ajoute une nouvelle colonne
• DROP nomColonne: supprime une colonne existante
• MODIFY nomColonne type: modifie le type d’une colonne existante.
Remarque:
La commande ADD Constraint n’est pas supportée par SQLite.
Exemple: Ajouter la colonne dateFabrication au table Avion.

Kossale Youssef SQL cont. et SQLite3 avec Python 13 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de manipulation de données

Insertion des données


Syntaxe:
• Version 1:
INSERT INTO nom_table VALUES (V1, V2,..., Vn);
Dans cette version il est obligatoire de donner pour chaque colonne une valeur et
de respecter l’ordre dans la table.
• Version 2:
INSERT INTO nom_table (col1, col2, ..., coln) VALUES (V1, V2,..., Vn);
Dans cette version il suffit de spécifier les colonnes qu’on souhaite inserer.
Exemples:
Inserer dans la table pilote les enregistrement suivants :
• Ahmed,Hay zerktouni Nr 365 Marrakech, 15000.
• Yassine, Hay oulfa Nr 12, Casablanca, 23000.

Kossale Youssef SQL cont. et SQLite3 avec Python 14 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de manipulation de données

Mise à jour des données


Syntaxe:
Update nom_table
SET col1 = v1,
col2 = v2,
...
coln = vn,
WHERE condition;
Exemples:
Modifier le salaire de ahmed de 15000 à 20000.

Kossale Youssef SQL cont. et SQLite3 avec Python 15 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Langage de manipulation de données

Suppression des données


Syntaxe:
DELETE FROM nom_table
WHERE condition;
Exemples:
Supprimer les avions où le nom commence par "Air".

Kossale Youssef SQL cont. et SQLite3 avec Python 16 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Les fonctions du module SQlite

Kossale Youssef SQL cont. et SQLite3 avec Python 17 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Les fonctions du module SQlite

Exemple:
Connexion à la base de données:
import sqlite3
biblioDB = "Emplacement de votre fichier .sqlite sur disque"
conn = [Link](biblioDB)

[Link]("PRAGMA foreign_keys = ON;")

Kossale Youssef SQL cont. et SQLite3 avec Python 18 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Les fonctions du module SQlite

Exemple:
Creation de la table livre
curseur = [Link]()
[Link](""" CREATE TABLE Livre(
idLivre TEXT PRIMARY KEY,
titre TEXT,
anneeEdition INTEGER,
nbrPages INTEGER);
""")
[Link]()

Kossale Youssef SQL cont. et SQLite3 avec Python 19 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Les fonctions du module SQlite

Exemple:
Insertion de données avec execute()
[Link](""" INSERT INTO Livre VALUES ("1200", "Programmer en python",
2019, 700); """)
[Link](""" INSERT INTO Livre VALUES ("1210", "Algorithmes", 2013, 240); """)
[Link]()

Kossale Youssef SQL cont. et SQLite3 avec Python 20 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Les fonctions du module SQlite

Exemple:
Insertion de données avec execute() paramétrée
Données = [
("1200", "Programmer en python", 2019, 700),
("1210", "Algorithmes", 2013, 240)
]
requete = "INSERT INTO Livre VALUES (?,?,?,?)"
for d in Données :
[Link](requete,d)
[Link]()

Kossale Youssef SQL cont. et SQLite3 avec Python 21 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Les fonctions du module SQlite

Exemple:
Insertion de données avec executemany() paramétrée
Données = [
("1200", "Programmer en python", 2019, 700),
("1210", "Algorithmes", 2013, 240)
]
requete = "INSERT INTO Livre VALUES (?,?,?,?)"
[Link](requete,Données)
[Link]()

Kossale Youssef SQL cont. et SQLite3 avec Python 22 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Les fonctions du module SQlite

Exemple:
Récuperation d’une seule ligne avec fetchone()
[Link]("""SELECT * FROM LIVRE""")
Row = [Link]()
print(Row)
[Link]()
Remarque :Row ne contient que la premiére ligne de la table livre.

Kossale Youssef SQL cont. et SQLite3 avec Python 23 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Les fonctions du module SQlite

Exemple:
Récuperation de plusieurs lignes avec fetchall()
[Link]("""SELECT * FROM LIVRE""")
Rows = [Link]()
print(Rows)
[Link]()

Kossale Youssef SQL cont. et SQLite3 avec Python 24 / 26


Langage de définition de données Langage de manipulation de données Module SQlite3 de python

Les fonctions du module SQlite

Exemple:
Fermeture de la connexion
Pour fermer la connexion avec la base de données on utilise la synatxe suivante:
[Link]()

Kossale Youssef SQL cont. et SQLite3 avec Python 25 / 26

Vous aimerez peut-être aussi