Base de Detos Con Python PDF
RESULTADOS DE APRENDIZAJE
Que el estudiante:
Una base de datos es el conjunto de datos informativos organizados en un mismo contexto para su uso y
vinculación.
1
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
2
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
Se le llama base de datos a los bancos de información que contienen datos relativos a diversas
temáticas y categorizados de distinta manera, pero que comparten entre sí algún tipo de vínculo o relación
que busca ordenarlos y clasificarlos en conjunto.
Una base de datos puede ser de diverso tipo, desde un pequeño fichero casero para ordenar libros y
revistas por clasificación alfabética hasta una compleja base que contenga datos de índole gubernamental
en un Estado u organismo internacional. Recientemente, el término base de datos comenzó a utilizarse casi
exclusivamente en referencia a bases construidas a partir de software informático, que permiten una más
fácil y rápida organización de los datos. Las bases de datos informáticas pueden crearse a partir de software
o incluso de forma online usando Internet. En cualquier caso, las funcionalidades disponibles son
prácticamente ilimitadas.
3
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
Las bases de datos se clasifican como estáticas - en casos en que sólo sirven para su lectura y
almacenamiento - o dinámicas - la información se modifica y puede ser actualizada -. También, según su
contenido pueden ser bibliográficas, de texto completo, directorios, o de tipo biblioteca.
4
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
Los usos de las bases de datos son tan múltiples que, por ejemplo, pueden utilizarse en una biblioteca
o archivo que guarda libros para su consulta frecuente, pero también pueden emplearse para guardar
material biológico, como un archivo genético o un banco de esperma que almacena esperma para ser
utilizado en fertilización.
Este tipo de clasificadores contribuyen, por supuesto, a labores diarias de casi todo tipo de empleos,
como registrar las comunicaciones que se sostienen con clientes, almacenar datos de proveedores, archivar
datos, números y todo tipo de información que el usuario quiera poner en relación o encontrar fácilmente
con sólo ingresar una palabra clave.
5
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales
son recolectados y explotados por los sistemas de información de una empresa o negocio en particular.
CARACTERÍSTICAS
Entre las principales características de los sistemas de base de datos podemos mencionar:
Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) son un tipo de
software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones
que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos
y de un lenguaje de consulta.
Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace
que se desperdicie espacio de almacenamiento, además de provocar la falta de consistencia de datos.
En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se almacenan
varias copias de los mismos datos. Sin embargo, en una base de datos no se puede eliminar la redundancia
completamente, ya que en ocasiones es necesaria para modelar las relaciones entre los datos.
CONSISTENCIA DE DATOS:
Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya
inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una
vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce
esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen
consistentes.
COMPARTIR DATOS:
En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los
utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser
compartida por todos los usuarios que estén autorizados.
6
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
MANTENIMIENTO DE ESTÁNDARES:
Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel
de la empresa como los nacionales e internacionales. Estos estándares pueden establecerse sobre el formato
de los datos para facilitar su intercambio, pueden ser estándares de documentación, procedimientos de
actualización y también reglas de acceso.
MEJORA EN LA SEGURIDAD:
MEJORA EN LA PRODUCTIVIDAD:
El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en un
sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de ficheros típicas de
los programas de aplicación.
MEJORA EN EL MANTENIMIENTO:
En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas
de aplicación que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su
estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en los
programas cuyos datos se ven afectados.
Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se
conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que
acceden a la base de datos.
AUMENTO DE LA CONCURRENCIA:
En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un
mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda información o se pierda
7
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
la integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no
ocurran problemas de este tipo.
Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para
proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de
seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos.
En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia de seguridad
se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza
la cantidad de trabajo perdido cuando se produce un fallo.
COMPLEJIDAD:
Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran funcionalidad.
Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos.
Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio
de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir
una máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto hará que la
implantación de un sistema de bases de datos sea más cara.
El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los
fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup).
TIPOS DE CAMPOS
Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre
los más comunes podemos nombrar:
Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin
decimales” y reales “decimales”.
Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.
Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder
ser indexados.
Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta
forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra.
Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres).
Autoincrementables: son campos numéricos enteros que incrementan en una unidad su valor para
cada registro incorporado. Su utilidad resulta: Servir de identificador ya que resultan exclusivos de
un registro.
8
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:
MySql: es una base de datos con licencia GPL PostgreSql y Oracle: Son sistemas de base de datos
basada en un servidor. Se caracteriza por su poderosos. Administra muy bien grandes cantidades
rapidez. No es recomendable usar para grandes de datos, y suelen ser utilizadas en intranets y
volúmenes de datos. sistemas de gran calibre.
Ms Access: Es una base de datos desarrollada por Microsoft SQL Server: es una base de datos más
Microsoft. Esta base de datos, debe ser creada potente que Ms Access desarrollada por Microsoft.
bajo el programa Ms Access, el cual crea un Se utiliza para manejar grandes volúmenes de
archivo .mdb con la estructura ya explicada. informaciones.
9
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
CONCEPTOS BÁSICOS
1. BASE DE DATOS:
Una base de datos es todo un conjunto de información que se organiza en tablas y además se
relaciona con un asunto o tiene una finalidad, por ejemplo, si desea llevar el control de vendedores de una
empresa o dar el seguimiento de los pedidos de clientes o también administrar el control de videos, etc.
10
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
11
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
2. TABLA:
Una tabla es un conjunto de registros que tratan sobre un tema específico, por ejemplo: una TABLA
de productos o proveedores. Las tablas organizan los datos en columnas (Denominadas campos) y filas
(Denominadas registros). Cada fila de una tabla contiene un solo registro y es único.
3. CAMPO:
Es un nombre genérico que se asigna para indicar o representar un dato o conjunto de datos. Cada
campo contiene un fragmento de información que describe una parte única de un registro.
4. REGISTRO:
Un registro es un conjunto de campos relacionados con un mismo ente de información, así por
ejemplo: los datos personales de un alumno. Los datos sobre una pieza específica en un inventario también
conforman un registro. Es decir, que se obtiene un registro cuando se han completado los datos en todos los
campos existentes en una tabla determinada.
12
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
5. DATO:
Es la unidad mínima de información que puede existir en una BASE DE DATOS. Un dato es cualquier
información particular, por ejemplo; la edad de una persona, la cantidad de artículos en un almacén, el sueldo
de un empleado, el largo de una pieza de madera, etc.
13
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
1. ACERCA DE MYSQL
MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual: Licencia
pública general/Licencia comercial por Oracle Corporation y está considerada como la base de datos de
código abierto más popular del mundo, y una de las más populares en general junto a Oracle y Microsoft SQL
Server, todo para entornos de desarrollo web.
MySQL fue inicialmente desarrollado por MySQL AB (empresa fundada por David Axmark, Allan
Larsson y Michael Widenius). MySQL AB fue adquirida por Sun Microsystems en 2008, y ésta a su vez fue
comprada por Oracle Corporation en 2010, la cual ya era dueña desde 2005 de Innobase Oy, empresa
finlandesa desarrolladora del motor InnoDB para MySQL.
Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad
pública y los derechos de autor del código están en poder del autor individual, MySQL es patrocinado por
una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el
esquema de doble licenciamiento anteriormente mencionado. La base de datos se distribuye en varias
versiones, una Community, distribuida bajo la Licencia pública general de GNU, versión 2, y varias versiones
Enterprise, para aquellas empresas que quieran incorporarlo en productos privativos. Las versiones
Enterprise incluyen productos o servicios adicionales tales como herramientas de monitorización y asistencia
técnica oficial. En 2009 se creó un fork denominado MariaDB por algunos desarrolladores (incluido algunos
desarrolladores originales de MySQL) descontentos con el modelo de desarrollo y el hecho de que una misma
empresa controle a la vez los productos MySQL y Oracle Database.
Desde: 2001-10-10
URL: [Link]
14
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
Desde: 2004-08-03
URL: [Link]
15
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
1.1.3. XAMPP
Es una distribución de Apache completamente gratuita y fácil de instalar que contiene MariaDB, PHP
y Perl. El paquete de instalación de XAMPP ha sido diseñado para ser increíblemente fácil de instalar y usar.
XAMPP tiene más de 10 años.
A pesar de ser muy administrado, no nos permite administrar PHP, sería muy bueno que se
pudieran activar o desactivar extensiones de PHP
Desventajas
mysql -u root -p
A continuación, deberás ingresar la contraseña del root de MySQL (no es la del root del SO. Es la que
hemos configurado durante la instalación de MySQL). Las -u y -p significan usuario y password
respectivamente.
mysql>
Allí podremos escribir los comandos necesarios para administrar el servidor de bases de datos.
17
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
1.3.1. COMANDOS PARA ADMINISTRAR MYSQL DEDE EL SHELL INTERACTIVO
La siguiente tabla describe los comandos de uso frecuente que necesitarás para administrar el
servidor de bases de datos desde el shell interactivo.
Es una buena idea, imprimir esta tabla para tenerla siempre a mano.
Comando Descripción
use nombre_de_la_db; Indicar que vas a comenzar a utilizar la base de datos elegida
Como todo lenguaje informático, posee su propia sintaxis, tipos de datos y elementos.
nombre_del_campo TIPO_DE_DATO,
nombre_de_otro_campo TIPO_DE_DATO
);
Ejemplo:
producto VARCHAR(125),
descripcion BLOB,
en_stock BOOL
);
Explicación:
INSERT INTO
Ejemplo:
INSERT INTO
Insertar un nuevo registro en los campos producto, precio y en_stock de la tabla productos
(INSERT INTO productos(producto, precio, en_stock)).
Con los valores Bolsa de dormir para alta montaña, 234.65 y TRUE, respectivamente en cada uno
de los campos indicados (VALUES('Bolsa de dormir para alta montaña', 234.65, TRUE);).
FROM tabla;
Ejemplo:
FROM productos;
Explicación:
UPDATE tabla
campo2 = valor,
campo10 = valor;
Ejemplo:
UPDATE productos
precio = 0;
Explicación:
Ejemplo:
20
Esta cláusula, funciona de forma similar a la comparación de expresiones en Python, utilizando los
siguientes operadores de comparación:
AND (y)
NOT (negación)
OR (o)
Veamos algunos ejemplos:
SELECT producto,
precio
FROM productos
Aumentar el 10% del precio de los productos, que actualmente se encuentren entre 150 y 200:
UPDATE productos
SELECT producto,
precio
FROM productos
Eliminar productos cuyos precios sean 100, 200 y/o 300 y además, en_stock sea falso o producto sea
nulo:
DELETE
FROM productos
OR producto IS NULL);
Modificar en_stock a verdadero donde precio sea menor que 50 y producto no sea nulo:
UPDATE productos
SELECT producto,
descripcion,
precio
FROM productos
SELECT producto,
descripcion,
precio
FROM productos
22
producto ASC;
descripcion AS Detalles,
precio AS Importe
FROM productos AS p
producto ASC;
Nota Nótese que los alias que contengan caracteres extraños, deben ser encerrados entre comillas
simples.
FROM productos;
FROM productos;
SELECT producto,
FROM productos;
Nótese que las cadenas de caracteres deben encerrarse entre comillas simples y que el operador de
concatenación para esta función, es la coma.
23
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
Convertir a minúsculas y mayúsculas: LCASE() y UCASE()
SELECT UCASE(producto),
LCASE(descripcion)
FROM productos;
FROM productos;
FROM productos;
SELECT ROUND(precio, 2)
FROM productos;
SELECT DATE(campo_datetime)
FROM tabla;
FROM tabla;
SELECT MAX(precio)
FROM productos;
SELECT MIN(precio)
FROM productos;
24
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
3. OPTIMIZACIÓN DE BASES DE DATOS
A continuación, encontrarás una lista de consejos que siempre debes seguir, al momento de crear
nuevas tablas y escribir sentencias SQL.
producto VARCHAR(125)
);
El campo id, será como cualquier otro y lo podrás seleccionar en un SELECT o utilizarlo en cualquier
cláusula WHERE.
Cuando una consulta es ejecutada, MySQL tratará de encontrar primero la respuesta en los campos
índice, y lo hará en el orden que los índices hayan sido creados.
¿Cuándo agregar índices? Cuando vayas a utilizar una combinación de campos en la cláusula WHERE.
Por ejemplo, si filtrarás a menudo, los datos de la tabla producto por su campo precio y en_stock, que precio
y en_stock sean un índice de múltiples campos:
producto VARCHAR(125),
en_stock BOOL,
descripcion BLOB,
INDEX(precio, en_stock)
);
25
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
3.3. INDICA CUÁLES CAMPOS NO PUEDEN SER NULOS
SQL te da la posibilidad de indicar qué campos no pueden estar nulos. Indicar que un campo no debe
estar nulo, te ayudará a no almacenar registros defectuosos en tu base de datos.
en_stock BOOL,
INDEX(precio, en_stock)
);
en_stock BOOL,
INDEX(precio, en_stock)
) ENGINE=InnoDB;
26
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
4. BASES DE DATOS RELACIONALES
Así como en la orientación a objetos, algunas clases se relacionan con otras, ya sea a través de la
herencia o la composición, cuando nuestros objetos deben guardar un almacén de datos, esa relación, debe
conservarse también en la base de datos de nuestra aplicación.
Si te fijas el siguiente esquema, puede entenderse como dos objetos con sus propiedades y a la vez,
como dos tablas, relacionadas entre sí:
El objeto producto, se relaciona directamente con el objeto categoría. Esto significa que nuestros
productos, pertenecen a una categoría determinada. Se relacionan a través del campo-propiedad,
categoria_id.
Una vez que tenemos los modelos, podemos pasar a crear las tablas:
CREATE TABLE categoria(
activa BOOL
) ENGINE=InnoDB;
descripcion BLOB,
REFERENCES categoria(categoria_id)
27
) ENGINE=InnoDB;
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
Nota Cuando el campo de una tabla hace referencia a la clave primaria de otra tabla, se denomina
“+clave foránea o foreign key (en inglés). Para poder utilizar claves foráneas, MySQL necesita utilizar sí o sí,
el motor InnoDB ya que es el único con soporte para éstas.
Como podrás observar, el campo de la tabla producto, que hace referencia a la clave primaria de la
tabla categoría, se llama igual (categoria_id). Podría tener un nombre diferente, pero más adelante lo
veremos. Este campo, debe ser creado en la tabla, como cualquier campo común. La principal diferencia,
radica en que debemos indicar que este campo, debe ser tratado como una clave foránea.
REFERENCES tabla_relacionada(nombre_de_la_clave_primaria)
En lenguaje humano, esto se leería como sigue: la clave foránea es FK (FOREIGN KEY (FK)) que hace
referencia a la tabla TABLA a través del campo PK (REFERENCES TABLA(PK)).
Nota FK es una Foreign Key (clave foránea) mientras que PK es una Primary Key (clave primaria).
Esto significa que siempre que debamos relacionar un campo con otro, el campo relacionado deberá
indicarse como Foreign Key mientras que el campo al cuál hace referencia, deberá indicarse como Primary
Key.
Luego, podremos obtener, desde la base de datos, el objeto producto, incluyendo los datos a los
cuáles hace referencia. Para ello, utilizaremos la siguiente consulta:
Con SELECT producto.*, categoria.* estamos seleccionando todos los campos de la tabla producto y
todos los campos de la tabla categoria. Mientras que con FROM producto INNER JOIN categoria
USING(categoria_id), estamos diciendo que: desde la tabla producto unida internamente a la tabla categoria
(FROM producto INNER JOIN categoria) utilizando el campo categoria_id (USING(categoria_id)).
Cómo comentamos anteriormente, una FK no necesariamente debe llevar el mismo nombre que la
clave primaria a la cuál hace referencia. Podríamos, por ejemplo, haber creado nuestra tabla producto de la
siguiente manera:
descripcion BLOB,
REFERENCES categoria(categoria_id)
) ENGINE=InnoDB;
28
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
Pero en este caso, deberíamos modificar la sintaxis de nuestra consulta:
ON producto.FK_categoria = categoria.categoria_id
Es decir, que ya no podemos indicarle que utilice el campo homónimo en ambas tablas, sino, que
para realizar esta unión interna se base en la condición de igualdad del valor de los mismo (campo foráneo y
primario respectivamente).
29
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
En nuestro caso particular, utilizaremos MySQL, para lo cual, vamos a trabajar con el Conector MySQL
/ Python.
MySQL Connector / Python permite que los programas Python accedan a las bases de datos MySQL,
utilizando una API que cumple con la Especificación de la API de la base de datos de Python v2.0 (PEP 249).
Nota Los resultados de una consulta de selección, se reciben en una tupla, cuyos elementos, son
otras tuplas, conteniendo el valor de cada campo seleccionado de la tabla, en el orden que han sido
30
seleccionados.
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
1.1. UNA FORMA SIMPLE DE ACCEDER A BASES DE DATOS
import [Link]
conexion = [Link](host="localhost",
user="root",
passwd="root_007",
database="compras")
cursor = [Link]()
[Link]("select curdate()")
resultado = [Link]()
print(resultado)
[Link]()
[Link]()
31
[Link]()
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
1.1.1. INSERTAR DATOS
import [Link]
conexion = [Link](host="localhost",
user="root",
passwd="root_007",
database="compras")
cursor = [Link]()
dato = ['','','']
dato[0] = input("Ingrese ID Categoria: ")
dato[1] = input("Ingrese Descripcion de Categoria: ")
dato[2] = input("Ingrese estado de Categoria: ")
[Link](sql,dato)
[Link]()
print([Link], "Registro(s) insertados.")
[Link]()
32
[Link]()
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
1.1.2. SELECCIONAR TODOS LOS REGISTROS
import [Link]
conexion = [Link](
host="localhost",
user="root",
password="root_007",
database="compras")
mycursor = [Link]()
myresult = [Link]()
for x in myresult:
print(x)
[Link]()
[Link]()
33
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
1.1.3. SELECCIONAR SOLO REGISTROS COINCIDENTES
import [Link]
conexion = [Link](
host="localhost",
user="root",
password="root_007",
database="compras")
cursor = [Link]()
criterio = ['']
criterio[0] = input("Ingrese criterio de ID categoria: ")
[Link](sql,criterio)
myresult = [Link]()
for x in myresult:
print(x)
34
[Link]()
[Link]()
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
1.1.4. ELIMINAR REGISTROS
import [Link]
conexion = [Link](
host="localhost",
user="root",
password="root_007",
database="compras")
cursor = [Link]()
criterio = ['']
criterio[0] = input("Ingrese criterio de ID categoria: ")
[Link](sql,criterio)
[Link]()
[Link]()
35
[Link]()
GUÍA N° 16 BASES DE DATOS CON PYTHON MÉTODOS NUMÉRICOS
1.1.5. ACTUALIZAR DATOS
import [Link]
conexion = [Link](
host="localhost",
user="root",
password="root_007",
database="compras")
cursor = [Link]()
criterio = ['','']
criterio[1] = input("Ingrese ID: ")
criterio[0] = input("Ingrese nueva descripcion de catagoria: ")
[Link]()
[Link]()









