Je voulais utiliser une base de données avec Python, j'ai donc touché le module sqlite3 inclus dans la bibliothèque standard.
Cliquez ici pour un exemple de code.
# -*- coding: utf-8 -*-
import sqlite3
from contextlib import closing
dbname = 'database.db'
with closing(sqlite3.connect(dbname)) as conn:
c = conn.cursor()
#Exécuter une instruction SQL avec la méthode execute
create_table = '''create table users (id int, name varchar(64),
age int, gender varchar(32))'''
c.execute(create_table)
#Lors de la définition d'une valeur dans une instruction SQL, n'utilisez pas la méthode de format Python, etc.
#Où vous voulez définir?Dans le deuxième argument de la méthode execute?La valeur qui s'applique à
#Passez par taple.
sql = 'insert into users (id, name, age, gender) values (?,?,?,?)'
user = (1, 'Taro', 20, 'male')
c.execute(sql, user)
#Si vous souhaitez exécuter plusieurs instructions SQL à la fois, créez une liste de taples, puis
#exécuter De nombreuses méthodes sont exécutées
insert_sql = 'insert into users (id, name, age, gender) values (?,?,?,?)'
users = [
(2, 'Shota', 54, 'male'),
(3, 'Nana', 40, 'female'),
(4, 'Tooru', 78, 'male'),
(5, 'Saki', 31, 'female')
]
c.executemany(insert_sql, users)
conn.commit()
select_sql = 'select * from users'
for row in c.execute(select_sql):
print(row)
Vous trouverez ci-dessous une brève explication de l'exemple de code.
Pour vous connecter à la base de données, utilisez la méthode sqlite3.connect ()
.
conn = sqlite3.connect(dbname)
La méthode sqlite3.connect ()
crée un objet Connection.
Pour exécuter l'instruction SQL, il est nécessaire de créer un autre objet Cursor à partir de l'objet Connection.
c = conn.cursor()
Diverses commandes peuvent être exécutées sur la base de données à l'aide de cet objet Cursor.
Pour exécuter une instruction SQL, utilisez la méthode ʻexecute () `de l'objet Cursor.
c.execute(sql[, parameters])
Quand? La valeur à définir est-elle incorporée dans l'instruction SQL du premier argument? Est passée sous forme de taple dans le deuxième argument.
Example
user = (1, 'Taro', 20, 'male')
c.execute('insert into users (id, name, age, gender) values (?,?,?,?)', user)
En faisant cela, les valeurs de la taple sont appliquées à la partie? De SQL, et finalement l'instruction SQL suivante est exécutée.
insert into users (id, name, age, gender) values (1, 'Taro', 20, 'male')
Si vous voulez exécuter plusieurs SQL à la fois, utilisez la méthode ʻexecutemany () `et passez la liste des taples comme deuxième argument (voir exemple de code).
Appelez toujours la méthode commit ()
après avoir ajouté ou supprimé la base de données avec la méthode ʻexecute () ou la méthode ʻexecute many ()
. Si vous fermez la base de données sans appeler cette méthode, vos modifications ne seront pas enregistrées.
conn.commit()
N'oubliez pas de fermer la connexion à la base de données à la fin du programme. Utilisez la méthode close ()
pour cela. ** Notez que cette méthode n'appelle pas automatiquement commit ()
. ** **
conn.close()
Recommended Posts