Saltar al contenido

Python con MySQL: Conectar, Crear base de datos, Tabla, Insertar[Ejemplos]

diciembre 8, 2019

Para poder trabajar con MySQL usando Python, debe tener algún conocimiento de SQL

Antes de zambullirse en la profundidad, vamos a entender

¿Qué es MySQL?

MySQL es una base de datos de código abierto y uno de los mejores tipos de RDBMS (Relational Database Management System). El cofundador de MySQLdb es Michael Widenius, y también el nombre MySQL deriva de la hija de Michael.

Cómo instalar MySQL

Instalar MySQL en Linux/Unix:

Descargue el paquete RPM para Linux/Unix del sitio oficial: https://www.mysql.com/downloads/

En el uso del terminal, siguiendo el siguiente comando

rpm -i <Nombre_paquete>
Ejemplo rpm -i MySQL-5.0.9.0.i386.rpm

>

Para realizar el check-in en Linux

mysql --versión

Instalar MySQL en Windows

Descargue el exe de la base de datos MySQL del sitio oficial e instale como siempre la instalación normal de software en Windows. Refiérase a este tutorial, para una guía paso a paso

Instalación de la librería de conectores MySQL para Python

Para Python 2.7 o inferior, instale usando pip as:

pip install mysql-connector
>

Para Python 3 o superior, instale usando pip3 as:

pip3 instalar mysql-conector 

Probar la conexión de la base de datos MySQL con Python

Para probar la conexión de la base de datos aquí usamos un conector MySQL preinstalado y pasamos las credenciales a la función connect() como host, nombre de usuario y contraseña.

Sintaxis para acceder a MySQL con Python:

importar conector mysql.connector
db_connection = mysql.connector.connect(
host=»nombre de host»,
user=»nombre de usuario»,
passwd=»contraseña»
)
>

Ejemplo,

importar conector mysql.connector
db_connection = mysql.connector.connect(
host=»localhost»,
user=»root»,
passwd=»root»
)
print(db_connection)
>

Salida:

<mysql.connector.connection.MySQLConnection object at 0x000002338A4C6B00>

Aquí la salida muestra la conexión creada con éxito.

Creación de una base de datos en MySQL usando Python

Sintaxis para crear una nueva base de datos en SQL es

CREAR BASE DE DATOS "nombre_de_base_de_base_de_datos

>

Ahora creamos la base de datos usando Python en MySQL

importar conector mysql.connector
db_connection = mysql.connector.connect(
host= «localhost»,
user= «root»,
passwd= «root»
)
# creando un cursor_de_base de datos para realizar una operación SQL
db_cursor = db_connection.cursor()
# Ejecutar el cursor con el método de ejecución y pasar la consulta SQL
db_cursor.execute(«CREATE DATABASE my_first_db»)
# obtener una lista de todas las bases de datos
db_cursor.execute(«MOSTRAR BASE DE DATOS»)
#imprimir todas las bases de datos
para db en db_cursor:
imprimir(db)
>

Salida:

Aquí arriba la imagen muestra que la base de datos my_first_db está creada

Crear una tabla en MySQL con Python

Vamos a crear una tabla simple «estudiante» que tiene dos columnas.

Sintaxis SQL:

CREAR TABLA estudiante (id INT, nombre VARCHAR(255))

>

Ejemplo:

importar conector mysql.connector
db_connection = mysql.connector.connect(
host=»localhost»,
user=»root»,
passwd=»root»,
database=»mi_primer_db»
)
db_cursor = db_connection.cursor()
#Aquí, creando una tabla de base de datos como estudiante$0027$0027.
db_cursor.execute(«CREATE TABLE student (id INT, nombre VARCHAR(255))»)
#Get database table$0027
db_cursor.execute(«MOSTRAR TABLAS»)
para la tabla en db_cursor:
imprimir(tabla)
>

Salida:

 ($0027estudiante$0027,) 

Crear una tabla con clave primaria

Vamos a crear una tabla Empleado con tres columnas diferentes. Añadiremos una clave primaria en la columna id con la restricción AUTO_INCREMENT

Sintaxis SQL,

CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
>

Ejemplo,

importar conector mysql.connector
db_connection = mysql.connector.connect(
host=»localhost»,
user=»root»,
passwd=»root»,
database=»mi_primer_db»
)
db_cursor = db_connection.cursor()
#Aquí se crea la tabla de base de datos como empleado con la clave primaria
db_cursor.execute(«CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))»)
#Obtener tabla de base de datos
db_cursor.execute(«MOSTRAR TABLAS»)
para la tabla en db_cursor:
imprimir(tabla)
>

Salida:

($0027empleado$0027,) ($0027estudiante$0027,)

Tabla ALTER en MySQL con Python

El comando Alter se utiliza para modificar la estructura de la tabla en SQL. Aquí modificaremos la tabla Student y añadiremos una clave primaria al campo id .

Sintaxis SQL,

ALTER TABLE student MODIFY id INT PRIMARY KEY

>

Ejemplo,

importar conector mysql.connector
db_connection = mysql.connector.connect(
host=»localhost»,
user=»root»,
passwd=»root»,
database=»mi_primer_db»
)
db_cursor = db_connection.cursor()
#Aquí modificamos el id de la columna existente
db_cursor.execute(«ALTER TABLE student MODIFY id INT PRIMARY KEY»)
>

Salida:

Aquí abajo puede ver que la columna id está modificada.

Insertar Operación con MySQL en Python:

Vamos a realizar la operación de inserción en la tabla de base de datos MySQL que ya hemos creado. Insertaremos los datos de la tabla de ESTUDIANTES y la tabla de EMPLEADOS.

Sintaxis SQL,

INSERTAR EN EL ESTUDIANTE (id, nombre) VALORES (01, "John")
INSERTAR EN el empleado (id, nombre, salario) VALORES(01, "John", 10000)

>

Ejemplo,

importar conector mysql.connector
db_connection = mysql.connector.connect(
host=»localhost»,
user=»root»,
passwd=»root»,
database=»mi_primer_db»
)
db_cursor = db_connection.cursor()
student_sql_query = «INSERT INTO student(id,name) VALUES(01, `John$0027)»
employee_sql_query = » INSERTAR EN el empleado (id, nombre, salario) VALORES (01, $0027John$0027, 10000)»
#Ejecutar el cursor y pasar la consulta, así como los datos de los estudiantes
db_cursor.execute(student_sql_query)
#Ejecutar cursor y pasar consulta de empleado y datos de empleado
db_cursor.execute(employee_sql_query)
db_connection.commit()
print(db_cursor.rowcount, «Registro insertado»)
>

Salida:

 2 Registro insertado 

> Registro insertado