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.
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.
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:
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:
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:
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:
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:
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:
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:
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:
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.
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:
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
- ¿Cómo insertar valores en la tabla del servidor MySQL usando Python?
- ¿Cómo mostrar todas las tablas en MySQL usando Python?
- ¿Cómo obtener el tamaño de una tabla en MySQL usando Python?
- ¿Cómo cambiar el nombre de una tabla MySQL en Python?
- ¿Cómo copiar una tabla en MySQL usando Python?
- ¿Cómo copiar una definición de tabla en MySQL usando Python?
- Obtenga la identificación después de INSERTAR en la base de datos MySQL usando Python
- Cómo usar la declaración IF en MySQL usando Python
- Eliminar elemento de la tabla en MySql usando Python
- Otorgar permisos de tabla y columna de MySQL usando Python
Trabajando en Columnas
- ¿Cómo contar el número de filas en una tabla MySQL en Python?
- Contar la columna de la tabla SQL usando Python
- ¿Cómo agregar una columna a una tabla MySQL en Python?
- ¿Cómo obtener el valor mínimo y máximo de una columna de una tabla MySQL usando Python?
- ¿Cómo realizar aritmética en columnas de una tabla MySQL usando Python?
- ¿Cómo concatenar valores de columna de una tabla MySQL usando Python?
- Agregar comentario a la columna en MySQL usando Python
- Otorgar permisos de tabla y columna de MySQL usando Python
Aplicaciones y proyectos Python MySQL
- Cree la página de inicio de sesión de la base de datos MySQL en Python usando Tkinter
- Extraiga datos de la base de datos usando MySQL-Connector y XAMPP en Python
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