import sqlite3
class mySQLite:
conn=None
def create_connection(self, db_file):
""" create a database connection to a SQLite database """
try:
self.conn = sqlite3.connect(db_file)
return True
except sqlite3.Error as e:
print(e)
return False
def query(self, query, params="", returnRows=False):
"""
Funcion que ejecuta la query
query = cadena sql
params = una tupla con los valores si son necesarios
returnRows = determina si devuelve el resultado
"""
if not self.conn:
return False
try:
c=self.conn.cursor()
c.execute(query, params) if params else c.execute(query)
if returnRows==True:
# devolvemos los registros devueltos por la consulta
return c.fetchall()
self.conn.commit()
# devolvemos los registros afectados
return c.rowcount
except sqlite3.Error as e:
print(e)
return False
def create_table(self, query):
return self.query(query)
def insert_row(self, query, params):
return self.query(query, params)
def update_row(self, query, params):
return self.query(query, params)
def delete_row(self, query, params):
return self.query(query, params)
def get_rows(self, query, params=""):
return self.query(query, params, True)
if __name__ == '__main__':
mysqlite=mySQLite()
# conectamos con la base de datos
if mysqlite.create_connection(r"C:\sqlite\db\test.db"):
print("conectado con la base de datos")
else:
print("No se ha podido crear o conectar con la base de datos")
# creamos la tabla si no existe
if mysqlite.create_table("""CREATE TABLE IF NOT EXISTS test (
id integer PRIMARY KEY,
name text
);"""):
print("Creada la tabla")
else:
print("No se ha podido crear la tabla")
# insertamos un registro
query="INSERT INTO test (id, Name) VALUES (?,?);"
params=(1, "Jose")
result=mysqlite.insert_row(query, params)
if result:
print(f"Insertado {result} registro")
else:
print("No se ha podido añadir un registro")
# actualizamos un registro
query="UPDATE test SET Name=? WHERE id=?"
params=("Juan", 1)
result=mysqlite.update_row(query, params)
if result:
print(f"Modificado {result} registro")
else:
print("No se ha podido modificar un registro")
# mostramos los registros de la base de datos
query="SELECT * FROM test"
rows=mysqlite.get_rows(query)
if rows:
for row in rows:
print(row)
# eliminamos un registro
query="DELETE FROM test WHERE id=?"
params=(1,)
result=mysqlite.delete_row(query, params)
if result:
print(f"Eliminado {result} registro")
else:
print("No se ha podido eliminar un registro")
Comentarios sobre la versión: Versión 1 (1)
sql hacia una base datos