0% encontró este documento útil (0 votos)
2 vistas5 páginas

SQLite

SQLite es un gestor de bases de datos relacional que se integra en aplicaciones y no sigue el modelo cliente-servidor. Permite crear, insertar y recuperar datos fácilmente desde Python, ya que está incluido en la biblioteca estándar. Ejemplos de uso incluyen navegadores como Firefox y Opera, así como aplicaciones móviles en Android e iOS.

Cargado por

Marcelo Romero
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)
2 vistas5 páginas

SQLite

SQLite es un gestor de bases de datos relacional que se integra en aplicaciones y no sigue el modelo cliente-servidor. Permite crear, insertar y recuperar datos fácilmente desde Python, ya que está incluido en la biblioteca estándar. Ejemplos de uso incluyen navegadores como Firefox y Opera, así como aplicaciones móviles en Android e iOS.

Cargado por

Marcelo Romero
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

SQLite : Base de datos desde Python

SQLite es un gestor de bases de datos relacional pero con objetivos muy diferentes a MySQL,
SQLServer, Oracle etc.
Este gestor de base de datos tiene por objetivo ser parte de la misma aplicación con la que colabora,
es decir no cumple los conceptos de cliente y servidor.
Para entender sus usos podemos dar algunos ejemplos donde se utiliza el gestor SQLite:
• Firefox usa SQLite para almacenar los favoritos, el historial, las cookies etc.
• También el navegador Opera usa SQLite.
• La aplicación de comunicaciones Skype de Microsoft utiliza SQLite
• Los sistemas operativos Android y iOS adoptan SQLite para permitir el almacenamiento y
recuperación de datos.
SQLite es Open Source y se ha instalado por defecto con Python, es decir forma parte de la
biblioteca estándar, no tenemos que instalar ningún módulo con pip.
Si nuestra aplicación necesita almacenar gran cantidad de información local con cierta estructura el
empleo de SQLite es nuestra principal opción.

Creación de una base de datos y tablas.


En principio no se requiere tener más que Python instalado para poder trabajar con SQLite.
Podemos desde nuestra propia aplicación crear la base de datos y sus tablas.

Programa
import sqlite3

conexion=[Link]("[Link]")
try:
[Link]("""create table articulos (
codigo integer primary key autoincrement,
descripcion text,
precio real
)""")
print("se creo la tabla articulos")
except [Link]:
print("La tabla articulos ya existe")
[Link]()

Para poder trabajar con bases de datos de tipo SQLite debemos primero importar el módulo 'sqlite3':
import sqlite3

Para crear o abrir una conexión con una base de datos existente debemos llamar a la función
'connect' del módulo 'sqlite3':
conexion=[Link]("[Link]")

La primera vez que ejecutemos este programa como no existe la base de datos '[Link]' se crea,
consiste en un único archivo que se localiza en la misma carpeta de nuestra aplicación:
Disponemos un try/except al momento de crear la tabla debido a que si ejecutamos por segunda vez
este programa se tratará de crear nuevamente la tabla 'articulos' y al ya existir se genera una
excepción de tipo 'OperationalError':
try:
[Link]("""create table articulos (
codigo integer primary key autoincrement,
descripcion text,
precio real
)""")
print("se creo la tabla articulos")
except [Link]:
print("La tabla articulos ya existe")

Si no queremos disponer la excepción 'OperationalError' podemos modificar el comando SQL de la


creación de la tabla con la sintaxis:
import sqlite3
conexion=[Link]("[Link]")
[Link]("""create table if not exists articulos (
codigo integer primary key AUTOINCREMENT,
descripcion text,
precio real
)""")
[Link]()

Insertar filas en una tabla.


Ahora implementaremos un programa que inserte un par de filas en la tabla 'articulos' de la base de
datos 'bd1' que acabamos de crear con el programa anterior.

Programa
import sqlite3
conexion=[Link]("[Link]")
[Link]("insert into articulos(descripcion,precio) values (?,?)",
("naranjas", 23.50))
[Link]("insert into articulos(descripcion,precio) values (?,?)",
("peras", 34))
[Link]("insert into articulos(descripcion,precio) values (?,?)",
("bananas", 25))
[Link]()
[Link]()

Llamamos a execute y le pasamos como primer parámetro un comando SQL 'insert' con el caracter
'?' indicamos las posiciones donde se van a sustituir. El segundo parámetro es una tupla con los
datos que se utilizarán en la sustitución:
[Link]("insert into articulos(descripcion,precio) values (?,?)",
("naranjas", 23.50))

Luego de efectuar todos los insert debemos llamar a 'commit' para que se actualicen los datos
realmente en la tabla de la base de datos:
[Link]()

Recuperar todas las filas de una tabla.


Implementaremos un programa que solicite ejecutar un 'select' en la tabla 'articulos' y nos retorne
todas sus filas.

Programa
import sqlite3

conexion=[Link]("[Link]")
cursor=[Link]("select codigo,descripcion,precio from articulos")
for fila in cursor:
print(fila)
[Link]()

Si ejecutamos este programa luego de haber cargado las tres filas del ejercicio anterior el resultado
será el siguiente:
El método execute retorna un objeto de la clase Cursor:
cursor=[Link]("select codigo,descripcion,precio from articulos")

Recuperar una fila de una tabla.


Implementaremos un programa que solicite el ingreso del código de un producto y luego nos
muestre su descripción y precio.

Programa
import sqlite3

conexion=[Link]("[Link]")
codigo=int(input("Ingrese el código de un artículo:"))
cursor=[Link]("select descripcion,precio from articulos where
codigo=?", (codigo, ))
fila=[Link]()
if fila!=None:
print(fila)
else:
print("No existe un artículo con dicho código.")
[Link]()

El resultado de este comando SQL select puede ser de una fila si existe el código de artículo
ingresado o cero filas:
cursor=[Link]("select codigo,descripcion,precio from articulos where
codigo=?", (codigo, ))
fila=[Link]()
El método fechone de la clase Cursor retorna una tupla con la fila de la tabla que coincide con el
código ingresado o retorna 'None':
fila=[Link]()
if fila!=None:
print(fila)
else:
print("No existe un artículo con dicho código.")

Recuperar varias filas de una tabla.


Implementaremos un programa que solicite el ingreso de un precio y luego nos muestre la
descripción de todos los artículos con un precio inferior al ingresado.

Programa
import sqlite3

conexion=[Link]("[Link]")
precio=float(input("Ingrese un precio:"))
cursor=[Link]("select descripcion from articulos where precio<?",
(precio, ))
filas=[Link]()
if len(filas)>0:
for fila in filas:
print(fila)
else:
print("No existen artículos con un precio menor al ingresado.")
[Link]()

En este caso el resultado del comando 'select' pueden ser muchas filas:
cursor=[Link]("select descripcion from articulos where precio<?",
(precio, ))

Llamamos al método 'fetchall' de la clase Cursor y nos retorna una lista con todas las filas de la
tabla que cumplen la condición de tener un precio inferior al ingresado:
filas=[Link]()

En el caso que la lista no esté vacía procedemos a imprimirla:


if len(filas)>0:
for fila in filas:
print(fila)
else:
print("No existen artículos con un precio menor al ingresado.")

También podría gustarte