Une classe qui crée rapidement une base de données avec SQLite3 et insère des données

Objectif

Lorsque vous souhaitez créer une base de données comme test au travail Je l'ai fait parce que je voulais un cours que je pourrais faire tout de suite. C'est difficile de le faire à chaque fois ... Cela demande du temps et des efforts. Surtout pour moi.

Quelle est cette classe?

Nom de la base de données, nom de la table, nom de la colonne, données à insérer C'est une classe qui crée une base de données et affiche les données dès qu'elles sont prêtes.

Cliquez ici pour le code source

Create_DB.py


import sqlite3

class Create_DB(object):

	def __init__(self,db_name,tb_name,col_names):
		self.db_name = db_name
		self.tb_name = tb_name
		self.cl_name = ",".join(col_names)


	#Créez une table avec DB.
	def create_db(self):
		conn = sqlite3.connect(self.db_name)
		curs = conn.cursor()
		sql = "CREATE TABLE IF NOT EXISTS "+ self.tb_name + " ("+ self.cl_name + ")"
		curs.execute(sql)


	#Mettez les données dans le tableau.
	def insert_data(self,insert_col_names,datas):
		conn = sqlite3.connect(self.db_name)
		curs = conn.cursor()

		col_name = ",".join(insert_col_names)
		sql = "INSERT INTO "+ self.tb_name + " VALUES("+ col_name + ")" 
		curs.executemany(sql,datas)
		
		conn.commit()
		conn.close()


	#Afficher les données
	def show_all_data(self):
		conn = sqlite3.connect(self.db_name)
		curs = conn.cursor()

		sql = "SELECT * FROM " + self.tb_name 
		curs.execute(sql)

		for row in curs.fetchall():
			print(row)
		
		conn.commit()
		conn.close()

		

if __name__ == '__main__':
	db_name = "sample.db"
	tb_name = "sample_table"
	col_names = ["sample text","sample2 text"]#Dans la liste
	
	insert_col_names = [":sample",":sample2"]#Ajouter ":".
	datas = [("AIUEO",1),("Kakikukeko",2)]

	db_instance = Create_DB(db_name,tb_name,col_names) 
	db_instance.create_db()
	db_instance.insert_data(insert_col_names,datas)
	db_instance.show_all_data()

c'est tout.

Recommended Posts

Une classe qui crée rapidement une base de données avec SQLite3 et insère des données
[Python] Un programme qui crée des escaliers avec #
[Python / Tkinter] Une classe qui crée un cadre défilable
Développer une API Web qui renvoie les données stockées dans DB avec Django et SQLite
[python] J'ai créé une classe qui peut écrire rapidement une arborescence de fichiers
[Python] Hériter d'une classe avec des variables de classe
Création de Simple SQLite, une bibliothèque Python qui simplifie la création de table SQLite / l'insertion de données
Créer un décorateur de fonction Python avec Class
Classe qui atteint l'API de DMM
Enregistrer / charger la base de données en mémoire avec sqlite3 de python
Un monde typé qui commence par Python
PGM qui crée automatiquement un itinéraire à pied