Python con MySQL: conectar, crear base de datos, tabla, insertar (ejemplos)

Para trabajar con MySQL usando Python, debe tener algunos conocimientos de SQL

Antes de sumergirnos profundo, entendamos

¿Qué es MySQL?

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

Cómo instalar MySQL

Instale MySQL en Linux / Unix:

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

En la terminal, use el siguiente comando

rpm -i 
Example rpm -i MySQL-5.0.9.0.i386.rpm

Para comprobar en Linux

mysql --version

Instalar MySQL en Windows

Descargue el exe de la base de datos MySQL del sitio oficial e instale como de costumbre la instalación normal del software en Windows. Consulte este tutorial para obtener una guía paso a paso

Instalar la biblioteca de conectores MySQL para Python

Para Python 2.7 o una instalación inferior usando pip como:

pip install mysql-connector

Para Python 3 o una versión superior, instale usando pip3 como:

pip3 install mysql-connector 

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

Para probar la conexión de la base de datos aquí, usamos el 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:

import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")

Ejemplo,

import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)

Producción:

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

Creando una base de datos en MySQL usando Python

La sintaxis para crear una nueva base de datos en SQL es

CREATE DATABASE "database_name"

Ahora creamos una base de datos usando Python en MySQL

import mysql.connectordb_connection = mysql.connector.connect(host= "localhost",user= "root",passwd= "root")# creating database_cursor to perform SQL operationdb_cursor = db_connection.cursor()# executing cursor with execute method and pass SQL querydb_cursor.execute("CREATE DATABASE my_first_db")# get list of all databasesdb_cursor.execute("SHOW DATABASES")#print all databasesfor db in db_cursor:print(db)

Producción:

Aquí la imagen de arriba muestra que se crea la base de datos my_first_db

Crea una tabla en MySQL con Python

Creemos una tabla simple "estudiante" que tiene dos columnas.

Sintaxis SQL:

CREATE TABLE student (id INT, name VARCHAR(255))

Ejemplo:

import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root",database="my_first_db")db_cursor = db_connection.cursor()#Here creating database table as student'db_cursor.execute("CREATE TABLE student (id INT, name VARCHAR(255))")#Get database table'db_cursor.execute("SHOW TABLES")for table in db_cursor:print(table)

Producción:

 ('student',) 

Crear una tabla con clave principal

Creemos una tabla de empleados con tres columnas diferentes. Agregaremos una clave principal en la columna de identificación con la restricción AUTO_INCREMENT

Sintaxis SQL,

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

Ejemplo,

import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root",database="my_first_db")db_cursor = db_connection.cursor()#Here creating database table as employee with primary keydb_cursor.execute("CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))")#Get database tabledb_cursor.execute("SHOW TABLES")for table in db_cursor:print(table)

Producción:

('employee',) ('student',)

ALTERAR tabla en MySQL con Python

El comando Alter se utiliza para modificar la estructura de la tabla en SQL. Aquí modificaremos la tabla de estudiantes y agregaremos una clave principal al campo de identificación .

Sintaxis SQL,

ALTER TABLE student MODIFY id INT PRIMARY KEY

Ejemplo,

import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root",database="my_first_db")db_cursor = db_connection.cursor()#Here we modify existing column iddb_cursor.execute("ALTER TABLE student MODIFY id INT PRIMARY KEY")

Producción:

A continuación, puede ver que la columna de identificación está modificada.

Insertar operación con MySQL en Python:

Realicemos la operación de inserción en la tabla de base de datos MySQL que ya creamos. Insertaremos datos de la tabla ESTUDIANTE y la tabla EMPLEADO.

Sintaxis SQL,

INSERT INTO student (id, name) VALUES (01, "John")INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)

Ejemplo,

import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root",database="my_first_db")db_cursor = db_connection.cursor()student_sql_query = "INSERT INTO student(id,name) VALUES(01, 'John')"employee_sql_query = " INSERT INTO employee (id, name, salary) VALUES (01, 'John', 10000)"#Execute cursor and pass query as well as student datadb_cursor.execute(student_sql_query)#Execute cursor and pass query of employee and data of employeedb_cursor.execute(employee_sql_query)db_connection.commit()print(db_cursor.rowcount, "Record Inserted")

Producción:

 2 Record Inserted 

Articulos interesantes...