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.
*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.
*Paciencia en breve habrá más sobre python.
www.tododprogramacion.blogspot.mx
www.appsmusicalesomar.blogspot.mx
*Cualquier error me lo hacen saber
Comentarios
Publicar un comentario