python mysql – Part 7

Python MySQL Connector es un controlador de Python que ayuda a integrar Python y MySQL. Esta biblioteca Python MySQL permite la conversión entre tipos de datos Python y MySQL. La API de MySQL Connector se implementa utilizando Python puro y no requiere ninguna biblioteca de terceros. 

python mysql tutorial

Este tutorial de Python MySQL le ayudará a aprender a usar MySQL con Python desde lo básico hasta lo avanzado, incluidas todas las funciones y consultas necesarias explicadas en detalle con la ayuda de buenos ejemplos de Python MySQL. Entonces empecemos.

Instalación

Para instalar el módulo Python-mysql-connector , uno debe tener Python y PIP preinstalados en su sistema. Si Python y pip ya están instalados, escriba el siguiente comando en la terminal.

pip3 install mysql-connector-python

Nota: Si Python no está presente, consulte ¿Cómo instalar Python en Windows y Linux ? y siga las instrucciones proporcionadas.

python mysql connector install

Conexión al servidor MySQL

Podemos conectarnos al servidor MySQL usando el método connect(). 

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password"
)
 
print(dataBase)
  
# Disconnecting from the server
dataBase.close()

Producción:

<objeto mysql.connector.connection_cext.CMySQLConnection en 0x7f73f0191d00>

Nota: Para obtener más información, consulte Conexión de la base de datos MySQL mediante MySQL-Connector Python .

Crear base de datos

Después de conectarnos al servidor MySQL, veamos cómo crear una base de datos MySQL usando Python. Para esto, primero crearemos un objeto cursor() y luego pasaremos el comando SQL como una string al método execute(). El comando SQL para crear una base de datos es: 

CREATE DATABASE DATABASE_NAME

Ejemplo: Creación de una base de datos MySQL con Python

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
 
# creating database
cursorObject.execute("CREATE DATABASE gfg")

Producción:

Pyhton mysql create database

Creación de tablas

Para crear tablas , seguiremos un enfoque similar de escribir los comandos SQL como strings y luego pasarlo al método de ejecución() del objeto del cursor. El comando SQL para crear una tabla es: 

CREATE TABLE
(
    column_name_1 column_Data_type,
    column_name_2 column_Data_type,
    :
    :
    column_name_n column_Data_type
);

Ejemplo: Crear una tabla MySQL usando Python

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
# creating table
studentRecord = """CREATE TABLE STUDENT (
                   NAME  VARCHAR(20) NOT NULL,
                   BRANCH VARCHAR(50),
                   ROLL INT NOT NULL,
                   SECTION VARCHAR(5),
                   AGE INT
                   )"""
  
# table created
cursorObject.execute(studentRecord)
  
# disconnecting from server
dataBase.close()

Producción:

create table python mysql

Insertar datos en tablas

Para insertar datos en la tabla MySQL se utiliza Insertar en consulta. 

Sintaxis:

INSERT INTO table_name (column_names) VALUES (data)

Ejemplo 1: Inserción de una sola fila

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
sql = "INSERT INTO STUDENT (NAME, BRANCH, ROLL, SECTION, AGE)\
VALUES (%s, %s, %s, %s, %s)"
val = ("Ram", "CSE", "85", "B", "19")
   
cursorObject.execute(sql, val)
dataBase.commit()
   
# disconnecting from server
dataBase.close()

Producción:

insert 1 row in mysql database using Python

Ejemplo 2: Inserción de varias filas

Para insertar varios valores a la vez, se utiliza el método executemany(). Este método itera a través de la secuencia de parámetros, pasando el parámetro actual al método de ejecución.

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
sql = "INSERT INTO STUDENT (NAME, BRANCH, ROLL, SECTION, AGE)\
VALUES (%s, %s, %s, %s, %s)"
val = [("Nikhil", "CSE", "98", "A", "18"),
       ("Nisha", "CSE", "99", "A", "18"),
       ("Rohan", "MAE", "43", "B", "20"),
       ("Amit", "ECE", "24", "A", "21"),
       ("Anil", "MAE", "45", "B", "20"),
       ("Megha", "ECE", "55", "A", "22"),
       ("Sita", "CSE", "95", "A", "19")]
   
cursorObject.executemany(sql, val)
dataBase.commit()
   
# disconnecting from server
dataBase.close()

Producción:

python mysql insert many rows

Recuperacion de datos

Podemos usar la consulta de selección en las tablas de MySQL de las siguientes maneras:

  • Para seleccionar columnas de atributos particulares de una tabla, escribimos los nombres de los atributos.
SELECT attr1, attr2 FROM table_name
  • Para seleccionar todas las columnas de atributos de una tabla, usamos el símbolo de asterisco ‘*’.
SELECT * FROM table_name

Ejemplo: Seleccionar datos de la tabla MySQL usando Python

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "SELECT NAME, ROLL FROM STUDENT"
cursorObject.execute(query)
   
myresult = cursorObject.fetchall()
   
for x in myresult:
    print(x)
 
# disconnecting from server
dataBase.close()

Producción:

python mysql select query

Dónde cláusula

La cláusula Where se usa en la base de datos MySQL para filtrar los datos según la condición requerida. Puede obtener, eliminar o actualizar un conjunto particular de datos en la base de datos MySQL utilizando la cláusula where.

Sintaxis:

SELECCIONE columna1, columna2, …. columnaN DE [NOMBRE DE LA TABLA] DONDE [CONDICIÓN];

Ejemplo: cláusula Where en MySQL usando Python

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "SELECT * FROM STUDENT where AGE >=20"
cursorObject.execute(query)
   
myresult = cursorObject.fetchall()
   
for x in myresult:
    print(x)
 
# disconnecting from server
dataBase.close()

Producción:

('Rohan', 'MAE', 43, 'B', 20)
('Amit', 'ECE', 24, 'A', 21)
('Anil', 'MAE', 45, 'B', 20)
('Megha', 'ECE', 55, 'A', 22)

Ordenar por cláusula

OrderBy se utiliza para organizar el conjunto de resultados en orden ascendente o descendente. De forma predeterminada, siempre está en orden ascendente a menos que se mencione «DESC», que lo organiza en orden descendente. «ASC» también se puede usar para organizarlo explícitamente en orden ascendente. Pero, por lo general, no se hace de esta manera, ya que el valor predeterminado ya lo hace.

Sintaxis:

SELECT column1, column2
FROM table_name
ORDER BY column_name ASC|DESC;

Ejemplo: Cláusula Order By en MySQL usando Python

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "SELECT * FROM STUDENT ORDER BY NAME DESC"
cursorObject.execute(query)
   
myresult = cursorObject.fetchall()
   
for x in myresult:
    print(x)
 
# disconnecting from server
dataBase.close()

Producción:

python mysql ordery by

Cláusula de límite

La cláusula Limit se usa en SQL para controlar o limitar el número de registros en el conjunto de resultados devuelto por la consulta generada. De forma predeterminada, SQL proporciona la cantidad requerida de registros comenzando desde arriba, pero permite el uso de la palabra clave OFFSET. OFFSET le permite comenzar desde una fila personalizada y obtener el número requerido de filas de resultados.

Sintaxis:

SELECT * FROM tablename LIMIT limit;
SELECT * FROM tablename LIMIT limit OFFSET offset;

Ejemplo: cláusula de límite en MySQL usando Python

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "SELECT * FROM STUDENT LIMIT 2 OFFSET 1"
cursorObject.execute(query)
   
myresult = cursorObject.fetchall()
   
for x in myresult:
    print(x)
 
# disconnecting from server
dataBase.close()

Producción:

('Nikhil', 'CSE', 98, 'A', 18)
('Nisha', 'CSE', 99, 'A', 18)

Actualizar datos

La consulta de actualización se utiliza para cambiar los valores existentes en una base de datos. Al usar actualizar, se puede corregir o actualizar un valor específico. Solo afecta a los datos y no a la estructura de la tabla. La ventaja básica proporcionada por este comando es que mantiene la precisión de la tabla.

Sintaxis:

UPDATE tablename
SET ="new value"
WHERE ="old value";

Ejemplo: actualizar la tabla MySQL usando Python

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "UPDATE STUDENT SET AGE = 23 WHERE Name ='Ram'"
cursorObject.execute(query)
dataBase.commit()
 
# disconnecting from server
dataBase.close()

Producción:

python mysql update table

Eliminar datos de la tabla

Podemos usar la consulta Eliminar para eliminar datos de la tabla en MySQL.

Sintaxis:

DELETE FROM TABLE_NAME WHERE ATTRIBUTE_NAME = ATTRIBUTE_VALUE

Ejemplo: eliminar datos de la tabla MySQL usando Python

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "DELETE FROM STUDENT WHERE NAME = 'Ram'"
cursorObject.execute(query)
dataBase.commit()
 
# disconnecting from server
dataBase.close()

Producción:

python mySQL delete from table

Tablas desplegables

El comando Soltar afecta a la estructura de la tabla y no a los datos. Se utiliza para eliminar una tabla ya existente. Para los casos en los que no está seguro de si la tabla que se va a eliminar existe o no, se utiliza el comando DROP TABLE IF EXISTS. Ambos casos se tratarán en los siguientes ejemplos.

Sintaxis:

DROP TABLE tablename;
DROP TABLE IF EXISTS tablename;

Primero, veamos la lista de tablas en nuestra base de datos.

python mysql drop tables

Podemos ver que hay dos mesas para estudiantes, así que dejemos la segunda mesa.

Ejemplo 1: Drop Table en MySQL usando Python

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query ="DROP TABLE Student;"
 
cursorObject.execute(query)
dataBase.commit()
 
# disconnecting from server
dataBase.close()

Producción:

python mysql drop tables

Ejemplo 2: tabla desplegable si existe

Python3

# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query ="Drop Table if exists Employee;"
 
cursorObject.execute(query)
dataBase.commit()
 
# disconnecting from server
dataBase.close()

El ejemplo anterior no creará ningún error ni generará ningún resultado porque hemos utilizado la consulta Drop Table si existe. Si simplemente usamos la tabla Drop Employee, entonces se genera el error de programación: 1051 (42S02): la tabla desconocida ‘gfg.Employee’ .

Ejercicios Python MySQL

Trabajar con tablas

Trabajando en Columnas

Aplicaciones y proyectos Python MySQL

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *