différence entre cursor.execute("") et cursor.executescript("")
Citation de ouven le 20 août 2024, 8 h 17 minQuelle est la différence entre cursor.execute("") et cursor.executescript("") en bases de données SQLite3. Donnez svp des exemples pour comprendre!
Quelle est la différence entre cursor.execute("") et cursor.executescript("") en bases de données SQLite3. Donnez svp des exemples pour comprendre!
Citation de PythonTech le 20 août 2024, 9 h 30 minBonjour ouven,
La différence principale entre cursor.execute() et cursor.executescript() dans SQLite3 réside dans la manière dont ils exécutent les instructions SQL et dans le nombre de commandes qu'ils peuvent gérer en une seule fois.
1) - cursor.execute(): est utilisé pour exécuter une seule instruction SQL à la fois. utile pour éviter les injections SQL.
Exemple d'utilisation de cursor.execute()
import sqlite3 # Connexion à la base de données conn = sqlite3.connect('example.db') cursor = conn.cursor() # Création de la table students cursor.execute(''' CREATE TABLE IF NOT EXISTS students ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL, section TEXT NOT NULL ) ''') # Insertion d'une seule ligne de données cursor.execute(''' INSERT INTO students (name, email, section) VALUES (?, ?, ?) ''', ('Robert', 'robert@example.com', 'Mathematics')) # Sauvegarder les changements conn.commit() # Fermeture de la connexion conn.close()
2) - cursor.executescript(): est utilisé pour exécuter plusieurs instructions SQL en une seule fois. Il peut contenir plusieurs commandes SQL séparées par des points-virgules (;). Pas de protection contre les injections SQL.
Exemple d'usage de cursor.executescript()
import sqlite3 # Connexion à la base de données conn = sqlite3.connect('example.db') cursor = conn.cursor() # Utilisation de executescript pour créer la table et insérer plusieurs lignes cursor.executescript(''' CREATE TABLE IF NOT EXISTS students ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL, section TEXT NOT NULL ); INSERT INTO students (name, email, section) VALUES ('Najib', 'najib@example.com', 'Mathematics'); INSERT INTO students (name, email, section) VALUES ('Roberto', 'bob@example.com', 'Computer Science'); INSERT INTO students (name, email, section) VALUES ('Clara', 'clara@example.com', 'Physics'); ''') # Sauvegarder les changements conn.commit() # Fermeture de la connexion conn.close()
Bonjour ouven,
La différence principale entre cursor.execute() et cursor.executescript() dans SQLite3 réside dans la manière dont ils exécutent les instructions SQL et dans le nombre de commandes qu'ils peuvent gérer en une seule fois.
1) - cursor.execute(): est utilisé pour exécuter une seule instruction SQL à la fois. utile pour éviter les injections SQL.
Exemple d'utilisation de cursor.execute()
import sqlite3 # Connexion à la base de données conn = sqlite3.connect('example.db') cursor = conn.cursor() # Création de la table students cursor.execute(''' CREATE TABLE IF NOT EXISTS students ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL, section TEXT NOT NULL ) ''') # Insertion d'une seule ligne de données cursor.execute(''' INSERT INTO students (name, email, section) VALUES (?, ?, ?) ''', ('Robert', 'robert@example.com', 'Mathematics')) # Sauvegarder les changements conn.commit() # Fermeture de la connexion conn.close()
2) - cursor.executescript(): est utilisé pour exécuter plusieurs instructions SQL en une seule fois. Il peut contenir plusieurs commandes SQL séparées par des points-virgules (;). Pas de protection contre les injections SQL.
Exemple d'usage de cursor.executescript()
import sqlite3 # Connexion à la base de données conn = sqlite3.connect('example.db') cursor = conn.cursor() # Utilisation de executescript pour créer la table et insérer plusieurs lignes cursor.executescript(''' CREATE TABLE IF NOT EXISTS students ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL, section TEXT NOT NULL ); INSERT INTO students (name, email, section) VALUES ('Najib', 'najib@example.com', 'Mathematics'); INSERT INTO students (name, email, section) VALUES ('Roberto', 'bob@example.com', 'Computer Science'); INSERT INTO students (name, email, section) VALUES ('Clara', 'clara@example.com', 'Physics'); ''') # Sauvegarder les changements conn.commit() # Fermeture de la connexion conn.close()