Sqlite en Python

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.

Se connecter à la base de données

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.

Exécution SQL

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).

Enregistrer les modifications dans la base de données

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()

Fermer la base de données

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

Sqlite en Python
Python en optimisation
CURL en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
Méta-analyse en Python
Unittest en Python
Comment utiliser SQLite en Python
Époque en Python
Discord en Python
Allemand en Python
DCI en Python
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
FizzBuzz en Python
Clé étrangère dans SQLite de Python [Note]
Étape AIC en Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Constante en Python
nCr en Python.
format en python
Scons en Python 3
Puyopuyo en python
python dans virtualenv
PPAP en Python
Quad-tree en Python
Réflexion en Python
Chimie avec Python
Hashable en Python
DirectLiNGAM en Python
LiNGAM en Python
Aplatir en Python
Aplatir en python
AtCoder # 36 quotidien avec Python
Texte de cluster en Python
Daily AtCoder # 32 en Python
Daily AtCoder # 6 en Python
Daily AtCoder # 18 en Python
Modifier les polices en Python
Motif singleton en Python
Opérations sur les fichiers en Python
Lire DXF avec python
Daily AtCoder # 53 en Python
Séquence de touches en Python
Utilisez config.ini avec Python
Résoudre ABC168D en Python
AtCoder # 7 tous les jours avec Python
Décomposition LU en Python
Une doublure en Python
GRPC simple en Python