SQLite

Cómo acceder a SQLite desde Python

Cómo acceder a SQLite desde Python
Python es un lenguaje de programación popular y robusto rico en características que lo hacen utilizable en una amplia gama de casos como ciencia de datos, redes, automatización de TI, pruebas de penetración y muchos más. También tiene una sintaxis simple que permite a los desarrolladores que conocen otros lenguajes de programación adaptarse al uso de Python con facilidad.Los datos están en todas partes y una amplia gama de aplicaciones de software interactúan con los datos mediante un sistema de gestión de bases de datos. SQLite es uno de los sistemas de administración de bases de datos más populares en Python.

SQLite es un motor de base de datos simple, potente, de código abierto y relacional que admite grandes aplicaciones de software y sistemas integrados. SQLite es independiente y requiere una configuración mínima, lo que hace que sea más fácil de configurar y ejecutar con un tiempo mínimo. Por defecto, Python viene integrado con un módulo SQLite (sqlite3), un módulo muy intuitivo para trabajar con bases de datos SQLite en Python.

En este tutorial, veremos cómo usar Python para trabajar con bases de datos SQLite. Desde establecer una conexión hasta crear bases de datos, leer bases de datos, actualizar y eliminar bases de datos.

Comencemos instalando SQLite:

Instalación de SQLite y Python

Dependiendo de su distribución de Linux, puede descargar el archivo SQLite desde https: // www.sqlite.org / download.html o use el administrador de paquetes.

Para instalarlo en Debian:

sudo apt-get update
sudo apt-get install sqlite -y

A continuación, debe tener instalada la última versión de Python3. Python ya debería estar preinstalado en su distribución de forma predeterminada.

Shell de SQLite

El método predeterminado para interactuar con bases de datos SQLite es usar el shell. El shell le permite ejecutar comandos SQL en línea o una colección para realizar funciones en bases de datos.

Para iniciar el shell SQLite, use el comando:

$ sqlite

SQLite versión 2.8.17 Introduzca ".ayuda "para obtener instrucciones

sqlite>

Esto debería iniciar el shell SQLite con un mensaje que le permite ingresar comandos. Comience escribiendo el comando .ayuda para ver la ayuda de shell.

sqlite> .ayuda
.bases de datos Lista de nombres y archivos de bases de datos adjuntas
.vertedero ?MESA?… Volcar la base de datos en formato de texto
.echo ON | OFF Activa o desactiva el eco de comando
.salir Salir de este programa
.explicar ON | OFF Activa o desactiva el modo de salida adecuado para EXPLAIN.
.encabezado (s) ON | OFF Activar o desactivar la visualización de encabezados
.ayuda Mostrar este mensaje
.índices TABLE Muestra los nombres de todos los índices en TABLE
.mode MODE Establece el modo en una de "línea (s)", "columna (s)",
"insertar", "lista" o "html"
----------------------------------------------------------------------

Para salir del shell SQLite, use el .salir de comando.

sqlite> .dejar

Hay otras funciones y operaciones que puede usar dentro del shell SQLite. Por ejemplo, para ver todas las bases de datos, puede utilizar el .comando de base de datos.

Le recomiendo que experimente con el shell SQLite y se familiarice, ya que le permitirá comprender cómo usar el módulo SQLite3 en Python.

Conectarse a una base de datos

Usemos ahora módulos Python y SQLite3 para interactuar con bases de datos SQLite. Es bueno tener en cuenta que hay otros módulos de Python que puede usar para interactuar con SQLite. Sin embargo, SQLite3 es simple y viene incluido con Python.

Considere el siguiente script para conectarse a la base de datos SQLite.

importar sqlite3 desde sqlite3 error de importación
def connect_db (db_path):
conexión = Ninguno intente:
conexión = sqlite3.conectar (db_path)
imprimir ("Base de datos conectada correctamente")
excepto Error como e:
print (f "Ha ocurrido un error: e")
conexión de retorno
connect_db ("/ inicio / usuario / Escritorio / demo.sqlite ")

Empezamos importando los módulos SQLite y Error.
En la línea 3, creamos una función connect_db () que toma la ruta de la base de datos como argumento.
La siguiente parte incluye un bloque de prueba / error. La primera parte toma la ruta de la base de datos como argumento y establece una conexión. Tenga en cuenta que en SQLite, si la base de datos especificada no existe, se crea automáticamente.
El bloque de errores intenta detectar excepciones y se las imprime al usuario.
En la línea final, llamamos a la función connect_db y pasamos la ruta a la base de datos que queremos usar o crear.

NOTA: Si desea crear una base de datos de memoria en lugar de un disco, puede especificar: memoria en el objeto de conexión.

sqlite3.conectar (": memoria")

Crear tabla de SQLite

En SQLite, podemos usar el shell SQL para crear tablas usando la consulta CREATE TABLE. La sintaxis general es la siguiente:

CREATE TABLE nombre_base_datos.nombre de la tabla (
column_name tipo de datos CLAVE PRIMARIA (columna (s),
column2_name tipo de datos,
… ColumnN_name tipo de datos,
);

No me sumergiré en la creación de tablas usando SQLite shell ya que nuestro enfoque principal es Python. Considere la documentación de SQL Lite del recurso a continuación para obtener más información. Ahora, para usar los módulos Python y sqlite3 para crear tablas de base de datos, necesitamos usar el objeto cursor y ejecutar las funciones de las consultas SQL. Considere el siguiente código:

importar sqlite3 desde sqlite3 error de importación
def connect_db (db_path):
conexión = Ninguno
intentar:
conexión = sqlite3.conectar (db_path)
imprimir ("Base de datos conectada correctamente")
excepto Error como e:
print (f "Ha ocurrido un error: e")
return connection def run_query (conexión, sql_query):
cursor = conexión.cursor()
intentar:
cursor.ejecutar (sql_query)
conexión.cometer()
print ("La consulta SQL se ejecutó correctamente ... [OK]")
excepto Error como e:
print (f "Consulta fallida… e")
consulta = "" "
CREAR TABLA SI NO EXISTE muestra (
ID AUTOINCREMENTO DE LLAVE PRIMARIA INTEGER,
nombre TEXT NOT NULL,
año INTGER,
género TEXTO,
TEXTO del país
);
"" "
run_query (conexión = connect_db ("/ inicio / usuario / Escritorio / sql.sqlite "), sql_query = consulta)

Analicemos ahora lo que hace el código anterior: busque la primera función explicada anteriormente (consulte). En la segunda función, crear, pasamos la conexión y la consulta a ejecutar como parámetros. Las siguientes líneas crean un objeto de cursor que usaremos para llamar al método de ejecución. Como se mencionó anteriormente, las siguientes líneas llaman al objeto del cursor para ejecutar el método y llaman a pasar la consulta como parámetro. El bloque también imprime un mensaje sobre la ejecución exitosa de la consulta. Una vez que la consulta se ejecuta con éxito, le decimos a SQLite que use el método de confirmación para guardar los cambios en la base de datos. El bloque except detecta las excepciones e imprime el mensaje de error al usuario. Finalmente, creamos la consulta para ejecutar usando una sintaxis SQLite simple.

Registros de inserción SQLite

Para agregar datos a la base de datos SQLite, podemos sumergirnos en la función run_query () que usamos para crear, ya que puede ejecutar cualquier consulta SQLite que le pasemos. Sin embargo, usamos la consulta INSERT INTO para agregar datos a la tabla.

Considere el bloque a continuación:

add_shows = "" "
INSERTAR EN
muestra (id, nombre, año, género, país)
VALORES
("101", "Brooklyn Nine-Nine", "2013", "comedia", "EE. UU."),
("201", "Star-Trek: Descubrimiento", "2017", "Ciencia ficción", "EE. UU."),
("301", "Star-Trek: Picard", "2020", "Ciencia ficción", "EE. UU.");
"" "run_query (conexión = connect_db (" / inicio / usuario / Escritorio / sql.sqlite "), sql_query = add_shows)

Ahora necesitamos llamar a la función run_query y agregar el paso de la consulta add_shows para insertar datos en la tabla shows. Asegúrese de que la tabla en la que está insertando datos exista para evitar errores.

Eliminar registros de SQLite

También puede usar la función run_query () para eliminar registros de la tabla especificada. Todo lo que necesita es establecer la consulta como ELIMINAR DE.

Considere la siguiente subconsulta:

remove = "ELIMINAR DE muestra DONDE name = 'Brooklyn Nine-Nine'" run_query (conexión = connect_db ("/ home / user / Deskop / sql.sqlite "), sql_query = eliminar)

La consulta anterior elimina el programa "Brooklyn Nine-Nine" de la tabla de programas.

Conclusión

Este tutorial le ha enseñado cómo usar Python para acceder e interactuar con bases de datos SQLite. De lo que ha aprendido de este tutorial, ahora puede crear funciones, conectarse a bases de datos SQLite, crear tablas, insertar datos y eliminarlos. Aunque esta es una guía de inicio para trabajar con SQLite en Python, debería ayudarlo a comenzar a aprender otras tecnologías como SQLAlchemy y similares.

Los mejores juegos para jugar con el seguimiento de manos
Oculus Quest presentó recientemente la gran idea del seguimiento manual sin controladores. Con un número cada vez mayor de juegos y actividades que ej...
Cómo mostrar la superposición de OSD en aplicaciones y juegos de Linux en pantalla completa
Jugar juegos en pantalla completa o usar aplicaciones en modo de pantalla completa sin distracciones puede aislarlo de la información relevante del si...
Las 5 mejores cartas de captura de juegos
Todos hemos visto y amado la transmisión de juegos en YouTube. PewDiePie, Jakesepticye y Markiplier son solo algunos de los mejores jugadores que han ...