ABC EN PYTHON - MYSQL

¿POR QUE ABC? Porque se refiere a las funciones básicas de las bases de datos (altas-bajas-modificaciones-consultas) y también se refiere al uso de lo esencial para conectarte a una base de datos.

Esto que se está publicando “el primer código” es lo básico o esencial, motivo por el cual no quise agregar alguna referencia ya que los que tienen nivel intermedio-avanzado saben que es básico.

Les comento que tienen que ENSEÑARSE A SER AUTODIDACTAS, LE INVESTIGAN POR SU CUENTA SI NO SABEN ALGO SOBRE COMO CREAR EL PROYECTO NUEVO, COMO INSTALAR ALGO ADICIONAL, ETC...


Orden TEMAS

- Conexión PYTHON a MYSQL
- INSERT INTO
- UPDATE
- DELETE
- SCRIPT CREAR BASE DE DATOS, TABLE Y ELIMINARLA.



Conexión a Mysql con PYTHON


Si ya sabes lo básico y quieres hacerlo con clases o funciones, revisa el tema métodos o clases:


CLASES

*Algo que se me olvidó recordarles que cuando declares los métodos, funciones tienes que hacerlo como en c antes de usarlos.


El ejemplo fue hecho con
phpmyadmin y python, el cual no requiere de mayor explicación.

Para descargar python

Para descargar el conector

Para conectarte mysql lo puedes hacer con 2 librerías (con mysql connector o con pymysql), depende de la que mejor se acomode a tus necesidades, prácticamente es lo mismo con una y otra, cambia un poquito al declarar la cadena de conexión.
*para los comentarios en PYTHON se usa: #comentario.

Aquí el código:




REGISTRO DE DATOS MYSQL con PYTHON


Hay que dejar sangría o tabulación al programar en python, es un margen de un tabulador al agregar una línea en python, para los que no lo sepan.

A continuación el código:



---------------------------------------------------------------

#Se crea una base de datos llamada productos y una tabla consolas con #Id(INT), Nombre(VARCHAR), Descripcion(VARCHAR) y Precio(INT)

#CREAR BASE DE DATOS
CREATE DATABASE productos;

#SELECCIONAR BASE DE DATOS
USE productos;

*prueben con estos 3 scripts haber cual les funciona

#CREAR TABLA CONSOLAS

CREATE TABLE consolas
(
idconsola int primary key,
nombre varchar (45),
descripcion varchar (45),
precio int
);

CREATE TABLE `productos`.`consolas` (
`idconsola` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(45) NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
`precio` INT NOT NULL,
PRIMARY KEY (`idconsola`),
UNIQUE INDEX `idconsola_UNIQUE` (`idconsola` ASC));


CREATE TABLE productos.consolas (
idconsola INT NOT NULL AUTO_INCREMENT,
nombre VARCHAR(45) NOT NULL,
descripcion VARCHAR(45) NOT NULL,
precio INT NOT NULL,
PRIMARY KEY (idconsola),
UNIQUE INDEX idconsola_UNIQUE (idconsola ASC));



#ELIMINAR tabla consolas, SI TIENEN UNA BASE DE DATOS LLAMADA #productos puedes poner DROP TABLE productos.consolas; y funciona.

DROP TABLE consolas;

---------------------------------------------------------

#comienza el código para la conexión y la inserción de datos

#se importa la librería

import mysql.connector

#se crea la cadena de conexión usando connect e inicializando una variable #llamada : conexión

conexion = mysql.connector.connect(user='root', password='', host='127.0.0.1', database='productos')

#se crea la var cur y se inicializa junto con el método cursor asignándole la #conexión

cur = conexion.cursor()

#usamos bloque try y except para el manejo de excepciones en python

try:

#se usa cur que nos va a permitir usar comandos para la base de datos y con el #execute nos permite ejecutar sentencias sql

cur.execute("INSERT INTO consolas (nombre, descripcion, precio) VALUES ('Nintendo Switch', 'Consola de Nintendo', 10000)")

#Si no les funciona el actualizar los datos en el valor del precio int con '10000' #prueben sin las comillas simples, en algunos casos funciona y en otros no, si yo #pongo esta sentencia en MYSQL WORKBENCH me lo ejecuta bien con comillas.

#como regla se usa el commit para realizar el cambio en la base de datos, soporte #o no la transacción (inv esta parte con calma)

conexion.commit()

#se imprime el siguiente mensaje si se realiza la operación correctamente

print("Datos ingresados correctamente!!")

except:

#se imprime el siguiente mensaje si hubo algún error al realizar la operación

print("Error al ingresar los datos!!")


#importante cerrar el cursor y la conexión con close()

cur.close()
conexion.close()


---------------------------------------------------------------



UPDATE - DELETE MYSQL con PYTHON


A continuación se muestra un pequeño tip o truco para hacer el update y delete, prácticamente hay que cambiar la consulta mysql para ambas y después se muestra un script de como puedes crear esta tabla con su base de datos.



UN TIP A SEGUIR


#esta es la inserción explicada en el texto anterior

cur.execute("INSERT INTO consolas (nombre, descripcion, precio) VALUES ('Nintendo Switch', 'Consola de Nintendo', 10000)")

#PARA EL UPDATE Y DELETE SOLO HAY QUE CAMBIAR LA CONSULTA #MYSQL Y AGREGARLA AL cur.execute

cur.execute("UPDATE consolas SET nombre='Nintendo Switch', descripcion='Consola de Nintendo', precio='1000' WHERE id='1';")


cur.execute("DELETE FROM consolas WHERE id='1';")

*Al actualizar los datos en el valor del precio int con '10000' prueben sin las comillas simples, en algunos casos funciona y en otros no, si yo ejecuto en MYSQL WORKBENCH esta sentencia con comitas en '10000' me funciona y en algunos casos al emplearlos en código no aplica, hay que checar de no cometer este error.





Imagen (INSERT, UPDATE, DELETE, CREATE)







*Paciencia en breve habrá más sobre python.


Blogs:

www.tododprogramacion.blogspot.mx
www.appsmusicalesomar.blogspot.mx


*Cualquier error me lo hacen saber

Comentarios

Entradas populares