Manipular SQL en Python | Cómo usar MySQL desde Python

Contenidos

Este post fue difundido como parte del Blogatón de ciencia de datos.

Introducción

Lo que usé: Símbolo del sistema Anaconda, Sublime Text Editor, SO: Windows 10, Línea de comandos SQL

Necesita configurar un entorno virtual. ¿Por qué?

  1. El entorno virtual, como su nombre indica, es distinto del entorno Python real.
  2. Para manipular SQL, deberá instalar o realizar cambios en algunos paquetes. El entorno virtual garantizará que estos cambios no afecten a otros proyectos, la instalación principal de Python o inclusive a las personas que trabajan en la misma máquina.
  3. Por eso, un entorno virtual le proporciona su copia de Python para que pueda llevar a cabo cambios, instalar o desinstalar paquetes libremente.

Creando un entorno virtual


(Ejecuté lo siguiente en el símbolo del sistema de Anaconda 🙂

conda create – nombre myenv (aquí myenv es el nombre de su entorno virtual)

Para activar este entorno, use-

conda activate myenv 
##This will create a directory namely myenv
SQL de Python: activar el entorno virtual

Nota cómo (base) cambia a (myenv) cuando activa su entorno.

De la misma forma, para desactivar este entorno, utilice

conda deactivate myenv

Instalación de paquetes requeridos:

Ejecute este comando:

pip install mysql-connector-python

El paquete requerido está instalado.

Escribiremos nuestro código Python para ejecutar consultas SQL en Sublime Text Editor. Para ejecutar archivos de Python de Sublime Text desde el símbolo del sistema, debe crear una variable de entorno. Si no sabe cómo hacerlo, puede consultar esta.

Ahora, cuando escribes subl en el símbolo del sistema, se abrirá el Sublime Text Editor desde allí. Crea un nuevo archivo de Python. He nombrado mi archivo HelloWorld.py

Ejecuta un comando de prueba imprimir («Hola mundo») para asegurarse de que su archivo se esté ejecutando.

Conectarse a MySQL

import mysql.connector
db = mysql.connector.connect(host=’localhost’,
user=’yourusername’,
passwd=’yourpass’,
database=’fifa19', 
port=’3307',
auth_plugin=’mysql_native_password’)
print(db)

Aquí,
1. escriba su nombre de usuario y contraseña de MySQL en los argumentos usuario y contraseña.
2. La base de datos tendrá el nombre de la base de datos que desea usar.
3. El puerto de MySQL es 3307. Si su puerto es 3306, no necesita especificarlo explícitamente.
4. auth_plugin = ‘mysql_native_password’: este argumento se especifica para evitar errores de autenticación.
5. pprint

Esto crea un objeto de MySQL.connector.connection

SQL desde Python - Conector MySQL

Ver datos de la base de datos

Usamos el cursor método para crear un objeto cursor que se utiliza para ejecutar declaraciones para comunicarse con bases de datos MySQL.

El siguiente código está escrito en el editor de texto.

crs = db.cursor()
crs.execute(“select * from players limit 10”)
result = crs.fetchall()
pprint(result)

Aquí,
1. crs es el nombre de mi objeto cursor.
2. ejecutar() acepta consultas SQL como parámetro y ejecuta la consulta dada.
3. La variable de resultado almacena el conjunto de resultados de fetchall () método.
4. fetchall () método devuelve el conjunto de resultados de la consulta en forma de tuplas.
5. pprint () imprime la salida de una manera más formateada y legible. [You can import pprint with: from pprint import pprint]

Guarde y ejecute el archivo a través del símbolo del sistema. La salida se verá de la próxima manera:

SQL desde Python: visualización de datos de la base de datos

Creando tabla

Escriba el siguiente código en el editor de texto:

cmd=”create table contacts(Name Varchar(255),PhoneNo int(12))”
print(cmd)
crs.execute(cmd)

Tenga en cuenta que ejecutamos todas las consultas en el objeto cursor.

Insertar consulta

El código para el comando de inserción se ve así:

insert_command= “insert into contacts(Name,PhoneNo) values(%s,%s)”
values=(“Sejal”,987654321)
crs.execute(insert_command,values)
db.commit()

Aquí, se necesita que db.commit () se ejecute cada vez que hacemos cambios en la base de datos. Este método se utiliza para garantizar que los cambios en la base de datos sean coherentes.

Ejecute el archivo y podrá ver que los datos se han incorporado a su tabla. Puede verificar esto usando la línea de comando SQL.

Mesa

Consulta de busqueda

El código para los registros de búsqueda se ve así:

crs.execute(“select Name from players where Nationality=’United States’”)
result = crs.fetchall()
pprint(result)

Aquí, estamos tratando de buscar nombres de jugadores cuya nacionalidad sea Estados Unidos.

La salida se verá de la próxima manera:

Consulta de busqueda

Borrar consulta

El código para borrar registros se ve así:

crs.execute(“delete from contacts”)
db.commit()

Recuerde, usamos db.commit () para asegurarnos de que los cambios se reflejen en la base de datos.

Después de ejecutar el archivo, puede ver que los registros se han eliminado de la base de datos.

Cometer

¡Espero que hayas aprendido algo de una manera relativamente más fácil acerca de cómo manipular SQL en Python!

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.