Skip to main content

SQLite3 Manager

License

Este proyecto proporciona una librería para gestionar bases de datos SQLite3 de manera sencilla y estandarizada. Incluye funcionalidades útiles para manejar bases de datos SQLite.

Características

  • Conexión y desconexión a bases de datos SQLite.
  • Listar tablas y columnas de una base de datos.
  • Ejecutar consultas personalizadas.
  • Insertar, actualizar y eliminar registros.
  • Crear y modificar tablas dinámicamente.
  • Soporte para Python 3.10 en adelante.

Requisitos

  • Python 3.10 o superior.
  • SQLite3 instalado en el sistema.

Instalación

Puedes instalar la librería directamente desde PyPI utilizando pip:

pip install sqlite3-manager

Si deseas clonar el repositorio y usar la versión de desarrollo:

git clone https://github.com/SurivZ/sqlite3-manager.git
cd sqlite3-manager
pip install .

Uso

Ejemplo detallado con explicación

  1. Crear una instancia y conectarse a la base de datos
    Usamos el método connect() para establecer una conexión con la base de datos.

    from sqlite3manager import Connect
    conn = Connect('mi_base_de_datos.db')
    conn.connect()
    
  2. Crear una tabla
    Creamos una tabla llamada users con campos para ID, nombre, edad y correo electrónico usando create_table().

    conn.create_table('users', {
        'id': 'INTEGER PRIMARY KEY',
        'name': 'TEXT',
        'age': 'INTEGER',
        'email': 'TEXT'
    })
    
  3. Insertar datos
    Usamos el método insert() para insertar un solo registro:

    conn.insert('users', {'name': 'John Doe', 'age': 30, 'email': 'john@example.com'})
    

    También podemos insertar múltiples registros a la vez con bulk_insert():

    conn.bulk_insert('users', [
        {'name': 'Jane Doe', 'age': 25, 'email': 'jane@example.com'},
        {'name': 'Alice', 'age': 28, 'email': 'alice@example.com'}
    ])
    
  4. Leer todos los registros de la tabla
    Leemos todos los registros de la tabla users con el método read_table():

    users = conn.read_table('users')
    print(users) # [(1, 'John Doe', 30, 'john@example.com'), (2, 'Jane Doe', 25, 'jane@example.com'), (3, 'Alice', 28, 'alice@example.com')]
    
  5. Buscar registros
    Buscamos registros que cumplan con una condición específica usando el método search():

    search_result = conn.search('users', {'name': 'Alice'})
    print(search_result) # [(3, 'Alice', 28, 'alice@example.com')]
    
  6. Actualizar un registro
    Modificamos el correo electrónico de un usuario utilizando update():

    conn.update('users', {'email': 'john.new@example.com'}, {'name': 'John Doe'})
    
  7. Listar tablas y columnas
    Obtenemos una lista de las tablas disponibles en la base de datos con list_table_names():

    tables = conn.list_table_names()
    print(tables)  # ['users']
    

    También podemos obtener los nombres de las columnas de una tabla usando get_column_names():

    columns = conn.get_column_names('users')
    print(columns)  # ['id', 'name', 'age', 'email']
    
  8. Modificar la estructura de la tabla
    Añadimos una columna nueva a la tabla users con add_column():

    conn.add_column('users', 'created_at', 'TEXT')
    

    Y podemos eliminar una columna de la tabla con drop_column():

    conn.drop_column('users', 'created_at')
    
  9. Eliminar registros
    Podemos borrar registros que cumplan con una condición usando delete():

    conn.delete('users', {'name': 'Alice'})
    
  10. Ejecutar una consulta personalizada
    Ejecutamos una consulta SQL personalizada con el método custom_query():

    custom_query_result = conn.custom_query('SELECT * FROM users WHERE age > 25')
    print(custom_query_result)  # [(1, 'John Doe', 30, 'john.new@example.com')]
    
  11. Eliminar una tabla
    Si necesitamos eliminar una tabla por completo, podemos hacerlo con drop_table():

    conn.drop_table('users')
    
  12. Cerrar la conexión
    Finalmente, cerramos la conexión con el método close():

    conn.close()
    

Este ejemplo muestra cómo puedes gestionar una base de datos SQLite utilizando todos los métodos de la clase Connect.

Instrucciones para contribuciones

Si deseas contribuir a este proyecto, sigue los pasos a continuación:

  1. Haz un fork del repositorio.
  2. Clona tu fork localmente:
    git clone https://github.com/tu-usuario/sqlite3-manager.git
    
  3. Crea una rama para tu contribución:
    git checkout -b nombre-de-tu-rama
    
  4. Realiza tus cambios y haz un commit con un buen mensaje descriptivo:
    git commit -m "Descripción de los cambios"
    
  5. Haz push de tus cambios a tu fork:
    git push origin nombre-de-tu-rama
    
  6. Crea un pull request en el repositorio original.

Contacto

Si tienes preguntas o sugerencias, siéntete libre de abrir un issue o contactarme a través de franklinserrano23@email.com.


Licencia: Este proyecto está licenciado bajo la licencia BSD.

Metadata

Release files for sqlite3-manager 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sqlite3-manager 1.1.0
File Size Uploaded
sqlite3_manager-1.1.0.tar.gz 7.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sqlite3-manager 1.1.0
File Interpreter ABI Platform
sqlite3_manager-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.5 kB

Release files / sqlite3_manager-1.1.0.tar.gz

Download URL sqlite3_manager-1.1.0.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
965128e8909682d881b2bd5c1f27c2e1729bb42e3db01a4b59a5f20d31e29417
BLAKE2b-256 checksum
How to use checksums
7f4e2ad4b681b202140383f6504fd8b6cd942f683f15e306a69d6e51776c7ba8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / sqlite3_manager-1.1.0-py3-none-any.whl

Download URL sqlite3_manager-1.1.0-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c1d2bbcf666f93d808a75b3710213a288017d0cc3ec6268af0b26932ee771669
BLAKE2b-256 checksum
How to use checksums
7ff52d5456f0814166bb3beebc10b8a85483dd70d59316cf0930260cf5c37567
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page