0% encontró este documento útil (0 votos)
8 vistas12 páginas

Guía Completa de SQLite en Python

Este documento proporciona un tutorial sobre cómo usar SQLite en Python. Discute cómo cargar la biblioteca de SQLite, crear y conectarse a una base de datos, generar tablas, agregar y consultar datos, y eliminar datos. Las técnicas específicas cubiertas incluyen el uso de objetos Connection y Cursor, la generación de tablas, la inserción de datos a través de consultas y ejecutemany, y la selección de datos. El objetivo es ayudar a los lectores a configurar una base de datos de muestra para practicar operaciones comunes de SQLite y SQL en Python.

Traducido por

ScribdTranslations
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas12 páginas

Guía Completa de SQLite en Python

Este documento proporciona un tutorial sobre cómo usar SQLite en Python. Discute cómo cargar la biblioteca de SQLite, crear y conectarse a una base de datos, generar tablas, agregar y consultar datos, y eliminar datos. Las técnicas específicas cubiertas incluyen el uso de objetos Connection y Cursor, la generación de tablas, la inserción de datos a través de consultas y ejecutemany, y la selección de datos. El objetivo es ayudar a los lectores a configurar una base de datos de muestra para practicar operaciones comunes de SQLite y SQL en Python.

Traducido por

ScribdTranslations
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tutorial de Python SQLite - La Guía Definitiva

[Link]/tutorial-de-sqlite-en-python-la-guía-definitiva-fdcb8d7a4f30
29 de abril de 2020

Te quedan historias solo para miembros gratuitos este mes.

¡Todo lo que necesitas para comenzar!

¡Aprendamos todo lo que necesitas para empezar con SQLite3 en Python! Fuente: Nik Piepenbreier

SQL y Python se han convertido rápidamente en habilidades esenciales para cualquier persona que asuma seriamente
¡análisis de datos! Este tutorial de Python SQLite es la única guía que necesitas para comenzar y
Ejecutando con SQLite en Python. En esta publicación, cubriremos:

Cargando la biblioteca
Creando y conectando a tu base de datos
Creando tablas de base de datos
Añadiendo datos
Consultando datos
Eliminando datos
¡Y mucho más!

1/12
SQLite3 (lo que simplemente llamaremos SQLite) es parte del paquete estándar de Python 3, así que tú
no necesitarás instalar nada. Si no estás ejecutando Python 3, consultaeste enlaceconseguir
comenzó.

Si estás buscando empezar con SQL, echa un vistazo a mi completoTutorial de SQL para principiantes,
que incluye un PDF descargable gratuito y otros obsequios.

Lo que crearás
Después de seguir este tutorial, habrás creado una base de datos en SQLite usando Python.
Específicamente, esta publicación te guiará a través de todos los pasos para crear una base de datos que
cubre la siguiente tabla, incluyendo todas las relaciones:

Una visión general de la base de datos que crearemos. Fuente: Nik


Piepenbreier

Tipos de datos disponibles en SQLite para Python


SQLite para Python ofrece menos tipos de datos que otras implementaciones de SQL. Esto puede ser
un poco restrictivo. Sin embargo, como verás, SQLite facilita muchas otras cosas. Vamos a
echa un vistazo rápido a los tipos de datos que están disponibles:

NULO— Incluye un valor NULO


ENTERO— Incluye un entero
REAL— Incluye un valor de punto flotante (decimal)
TEXTO. — Incluye texto
BLOB. — Incluye un objeto binario grande que se almacena exactamente como se ingresa

De esta lista, puede notar que faltan varios tipos de datos como las fechas.
Desafortunadamente, al usar SQLite, estás limitado a estos tipos de datos.

Introducción a SQLite en Python

2/12
¿Listo? ¡Empecemos! Fuente: Nik Piepenbreier

Comencemos el tutorial cargando la biblioteca. Podemos hacer esto usando lo siguiente


comando:

importar sqlite3

Pasemos a crear nuestra base de datos.

Crear una base de datos SQLite en Python


En esta sección del tutorial de Python SQLite, exploraremos las diferentes formas en las que
puedes crear una base de datos en Python con SQLite. Para hacer esto, crearemos un
Objeto de conexión que representará la base de datos. Este objeto se crea utilizando
La función connect() de SQLite.

Primero creemos un archivo .db, ya que esta es una forma muy estándar de mantener un SQLite
base de datos. Representaremos la conexión usando una variable llamada conn. Crearemos un archivo
3/12
[Link].

conn = [Link]('[Link]')

Con esta línea de código, hemos creado un nuevo objeto de conexión, así como un nuevo archivo llamado
[Link] el directorio en el que estás trabajando. Si quisieras especificar un específico
directorio, podrías escribir:

conn = [Link](r'RUTA-A-TU-DIRECTORIO/[Link]')

Si el archivo ya existe, la función de conexión simplemente se conectará a ese archivo.

Nota: Observe que incluimos la letra “r” antes de la cadena que contiene esta ruta.
Esto le dice a Python que estamos trabajando con una cadena sin procesar, lo que significa que el “/” no será
se puede usar para escapar caracteres. Puedes aprender más sobre cadenas sin procesar revisando esto
enlace.

La función connect crea una conexión a la base de datos SQLite y devuelve un objeto
representarlo.

Bases de datos en memoria

Otra forma de generar bases de datos utilizando SQLite en Python es crearlas en


memoria. Esta es una excelente manera de generar bases de datos que se pueden utilizar para pruebas
propósitos, ya que existen solo en RAM.

conn = [Link](:memoria:)

Sin embargo, para los propósitos de este tutorial, y para la mayoría de los casos de uso con los que te encontrarás, tú
usa el método que describimos anteriormente.

Creando un objeto Cursor


Ahora que hemos creado un objeto de conexión a la base de datos, nuestra próxima tarea es crear un
cursorobject. En términos simples, un objeto cursor nos permite ejecutar consultas SQL contra un
base de datos. Crearemos una variable para mantener nuestro objeto cursor:

cur = [Link]()

4/12
Los cursores son críticos para SQLite3 en Python. Fuente: Nik Piepenbreier

Ahora que tenemos un objeto cursor, podemos usarlo para ejecutar consultas SQL de la siguiente manera.
estilo

[Link]("SU-QUERY-SQL-AQUÍ;")

Nota que envolvimos nuestra consulta SQL entre comillas; esto es importante. No importa si
usamos comillas simples, dobles o triples. Para consultas más largas, a menudo es mejor usar triples
comillas, ya que nos permiten escribir consultas de varias líneas.

Creando nuestras tablas en SQLite para Python


En este punto del tutorial de Python SQLite, vamos a crear nuestra primera tabla utilizando SQLite en
¡Python! Ahora que tenemos un objeto de conexión (conn) y un objeto de cursor (cur), podemos
crea nuestra primera tabla. Siguiendo nuestro esquema de base de datos que mostramos anteriormente:

Comenzaremos con
las tablas de usuario.

[Link]("""CREAT
TABLA SI NO EXISTE
usuarios(
userid INT PRIMARY
CLAVE
TEXTO
TEXTO
género TEXTO);
Un recordatorio rápido de cómo se ve nuestra base de datos. Fuente: Nik
""")
[Link]() Piepenbreier

5/12
En el código anterior, estamos haciendo una serie de cosas:

1. Usando la función execute en el objeto cursor para ejecutar una consulta SQL
2. Usando SQL para generar una tabla llamada usuarios
3. El IF NOT EXISTSwill nos ayudará al reconectarnos a la base de datos. La consulta
nos permitirá verificar si la tabla existe, y si es así, no se cambia nada.
4. Creamos cuatro columnas: userid, fname, lname y gender. Se asigna userid a
ser la clave primaria.
5. Confirmamos los cambios utilizando la función commit en la conexión
objeto.

¿Listo para algunas tablas? Fuente: Nik Piepenbreier

Para crear nuestra otra tabla, podemos seguir un patrón similar y escribir lo siguiente
comandos

[Link]("""CREAR TABLA SI NO EXISTE orders(


orderid INT PRIMARY KEY
fecha
texto
texto total);
""")
[Link]()

Después de ejecutar estos dos scripts, tu base de datos tendrá dos tablas. Ahora estamos listos
¡Comenzar a agregar datos!

Agregar datos con SQLite en Python

6/12
Veamos cómo agregar datos con SQLite en Python a la base de datos que acabamos de crear.
creado. Similar a la consulta de generación de tabla, la consulta para agregar datos utiliza el cursor
objeto para ejecutar la consulta.

[Link]("""INSERTAR EN usuarios(userid, fname, lname, género) """)


VALORES('00001', 'Nik', 'Piepenbreier', 'masculino'); [Link]()

A menudo, cuando estamos trabajando dentro de Python, tendremos variables que contienen valores para nosotros.
Por ejemplo, podemos tener una tupla que contiene esa información sobre un usuario que
podría verse así:

user = ('00002', 'Lois', 'Lane', 'Female')

Si quisiéramos cargar estos datos en nuestra base de datos, usaríamos una convención diferente:

[Link]("INSERT INTO users VALUES(?, ?, ?, ?);")


[Link]()

Lo que hicimos aquí fue reemplazar todos los valores con signos de interrogación y agregar un adicional
parámetro que contiene los valores que esperamos añadir.

Es importante señalar aquí que SQLite espera que los valores estén en formato de tupla.
Sin embargo, la variable puede contener una lista, siempre que los elementos de la lista sean tuplas. Para
ejemplo, podríamos agregar más usuarios usando la variable:

more_users = [('00003', 'Peter', 'Parker', 'Male'), ('00004', 'Bruce', 'Wayne', 'male')]

En este caso, en lugar de usar la función execute, querremos usar la executemany.


función:

[Link]("INSERT INTO users VALUES(?, ?, ?, ?);") [Link]()

Si hubiéramos utilizado la función execute en el objeto cursor aquí, la función habría


suponiendo que estábamos pasando dos elementos a la tabla directamente (las dos tuplas), en lugar de
¡dos conjuntos de cuatro elementos cada uno! Afortunadamente, la función habría fallado en este caso,
¡pero ten cuidado con qué función usas!

SQLite y Prevención de Ataques de Inyección


Por cierto, usar el método (?, ?, …) que mencionamos anteriormente también ayuda a protegerse contra SQL
ataques de inyección. Debido a esto, se recomienda usar este método sobre el
método previamente mencionado. También es más fácil de escribir, ¡así que es una ganancia para ambos!

Algunos Scripts para Cargar Más Datos

Si estás siguiendo el tutorial de Python SQLite por tu cuenta, carguemos algunos


más datos para hacer que las siguientes secciones sean más significativas. A continuación se presentan algunos guiones que tú

puedes copiar y pegar para insertar algunos datos de ejemplo en ambas tablas:

7/12
Si estás siguiendo, ¡carga también estos archivos de datos! Fuente: Nik Piepenbreier

Puedes cargar estos datos utilizando las siguientes consultas:

[Link]("INSERT INTO users VALUES(?, ?, ?, ?);")


[Link]("INSERT INTO orders VALUES(?, ?, ?, ?);")
[Link]()

Seleccionando datos en SQLite con Python


A continuación, en este tutorial de Python SQLite, veremos cómo seleccionar datos con SQLite.
¡en Python! Seguiremos una estructura similar a la que usamos para ejecutar consultas arriba, pero...
agrega otro elemento a ello también.

Hay muchas formas de devolver datos. Fuente: Nik Piepenbreier

8/12
Usando fetchone() en SQLite con Python
Comencemos utilizando la función fetchone(). Creamos una variable one_result para obtener solo
resultado

[Link]("SELECCIONAR * DE usuarios;")
un_resultado = [Link]()
imprimir(un_resultado)

Esto devuelve:

[(1, 'Nik', 'Piepenbreier', 'male')]

Usando fetchmany() en SQLite con Python


Digamos que queremos devolver más de un solo resultado, podríamos usar fetchmany()
función. Vamos a ejecutar un script diferente para generar 3 resultados:

[Link]("SELECT * FROM users;")


tres_resultados = [Link](3)
imprimir(tres_resultados)

Esto devolvería lo siguiente:

[(1, 'Nik', 'Piepenbreier', 'male'), (2, 'Lois', 'Lane', 'Female'), (3, 'Peter', 'Parker', 'Male')]

Usando fetchall() en SQLite con Python


De manera similar, podríamos utilizar la función fetchall() para devolver todos los resultados. Si ejecutáramos el
a continuación, se devolverían todos los resultados:

[Link]("SELECT * FROM users;")


todos_los_resultados
imprimir(todos_los_resultados)

Eliminando datos en SQLite con Python

9/12
¡Aprendamos a eliminar datos también! Fuente: Nik Piepenbreier

Ahora, echaremos un vistazo a cómo eliminar datos utilizando SQLite en Python. Podemos lograrlo
esto utilizando una estructura similar a la anterior. Digamos que quisimos eliminar cualquier usuario con el apellido
nombre 'Parker', podríamos escribir:

[Link]("DELETE FROM users WHERE lname='Parker';")


[Link]()

Cuando ejecutamos la consulta a continuación:

[Link]("select * from users where lname='Parker'")


imprimir([Link]())

Esto imprime una lista vacía, confirmando que el registro ha sido eliminado.

Uniendo Tablas con SQLite en Python


10/12
Finalmente, echemos un vistazo a cómo unir datos con una consulta más compleja. Digamos que
quería generar una consulta que incluya el nombre y apellido de cada cliente en
cada pedido.

Para lograr esto, escribamos lo siguiente:

[Link]("""SELECT *, [Link], [Link] FROM orders """)


LEFT JOIN usuarios ON [Link]=[Link];
imprimir([Link]())

Del mismo modo, podrías aplicar algunos otros trucos de SQL. Para una introducción completa a SQL,
mira mi guía completa para principiantes aquí.

Conclusión: Tutorial de SQLite en Python


En este tutorial de SQLite en Python, exploramos todo lo que necesitas saber para comenzar.
con SQLite en Python. Comenzamos con cómo cargar la biblioteca, exploramos cómo
crear una base de datos y tablas, cómo agregar datos, cómo consultar las tablas, y cómo
eliminar datos.

¡Muchas gracias por tomarte el tiempo! ¡Eres realmente, realmente increíble! Fuente: Nik Piepenbreier

Escrito por

Nik Piepenbreier
11/12
Fundador de [Link] || autor de introducción a python para ciencia de datos
[Link]/3aErgNu || mi canal de YouTube [Link] || amante de los juegos de palabras

Hacia la Ciencia de Datos

Una publicación de Medium que comparte conceptos, ideas y códigos.

Ver respuestas (1)

Descubre Medium
Bienvenido a un lugar donde las palabras importan. En Medium, voces inteligentes e ideas originales
toma el centro del escenario - sin anuncios a la [Link]

Haz Medium tuyo


Sigue todos los temas que te importan, y te entregaremos las mejores historias para ti a tu
página de inicio y bandeja de [Link]

Hazte miembro
Obtén acceso ilimitado a las mejores historias en Medium — y apoya a los escritores mientras lo haces.
solo $5/[Link]

12/12

También podría gustarte