MySQL es una de las bases de datos relacionales más populares. Le permite almacenar datos en tablas y crear relaciones entre esas tablas. Para usar MySQL, que se ejecuta como un servidor de base de datos, deberá escribir un código para conectarse a él.
La mayoría de los lenguajes de programación como Python brindan soporte para esto. De hecho, en Python, hay varios enfoques que puede tomar, cada uno con sus propias ventajas.
Prepare su configuración de MySQL
Para conectarse a la base de datos, necesita los siguientes valores:
- Host: la ubicación del servidor MySQL, localhost si lo está ejecutando en la misma computadora.
- Usuario: el nombre de usuario de MySQL.
- Contraseña: la contraseña de MySQL.
- Nombre de la base de datos: el nombre de la base de datos a la que desea conectarse.
Antes de conectarse a la base de datos MySQL, cree un nuevo directorio:
mkdir python-mysql
Configurar un entorno virtual de Python
Un entorno virtual de Python le permite instalar paquetes y ejecutar scripts en un entorno aislado. Cuando usted
crear un entorno virtual, luego puede instalar versiones de Python y dependencias de Python dentro de él. De esta forma, aíslas diferentes versiones y evitas problemas de compatibilidad.Conéctese a MySQL usando mysqlclient
los cliente mysql El controlador es una interfaz para el servidor de base de datos MySQL que proporciona la API del servidor de base de datos de Python. Está escrito en C.
Ejecute el siguiente comando en el entorno virtual para instalar mysqlclient:
pepita Instalar en pc cliente mysql
Si está en una máquina Linux, primero instale los encabezados y bibliotecas de desarrollo de Python 3 y MySQL.
#Debian/Ubuntu
sudo apt-get Instalar en pc python3-dev defecto-libmysqlclient-dev construir-básico
#RedHat/CentOS
sudo mmm Instalar en pc python3-devel mysql-devel
En Windows, puede instalar mysqlclient usando un archivo de rueda binaria. Descargue el archivo mysqlclient que sea compatible con su plataforma desde La colección no oficial de Christoph Gohlke. Luego puede usar el archivo de rueda descargado con pip para instalar mysqlclient de esta manera:
pepitaInstalar en pcC:\\cliente mysql‑1.3.13‑cp36‑cp36m‑ganar_amd64.whl
Use el siguiente código de conexión para conectarse a la base de datos MySQL una vez que se complete la instalación:
importar MySQLdb
conexión = MySQLdb.connect(
host="servidor local",
usuario="<usuario_mysql>",
contraseña="<mysql_contraseña>",
db="<nombre de la base de datos>"
)cursor = conexión.cursor()
cursor.ejecutar("Seleccionebase de datos();")
db = cursor.buscar()
si db:
impresión("Tú'reconectado a la base de datos: ", base de datos)
más:
impresión('No conectado.')
En este programa tienes:
- Cliente mysql importado.
- Creó un objeto de conexión usando MySQLdb.connect().
- Pasó los detalles de configuración de la base de datos a MySQLdb.connect().
- Creó un objeto de cursor para interactuar con MySQL.
- Usó el objeto de cursor para obtener la versión de la base de datos MySQL conectada.
Recuerde cambiar los detalles de la base de datos con los suyos propios.
Conéctese a MySQL usando mysql-connector-python
mysql-conector-python es el controlador de conexión oficial compatible con Oracle. También está escrito en Python puro.
Instálelo a través de pip para comenzar a usarlo.
pepita Instalar en pc mysql-conector-python
Conéctese a MySQL usando el siguiente código de conexión.
importar mysql.conector
de mysql.conector importarErrorconexión = mysql.conector.conectar (host="servidor local",
usuario="<usuario_mysql>",
contraseña="<mysql_contraseña>",
db="<nombre de la base de datos>")
probar:
siconexión.está conectado():
cursor = conexión.cursor()
cursor.ejecutar("Seleccionebase de datos();")
db = cursor.buscar()
impresión("Tú'reconectado a la base de datos: ", base de datos)
excepto Errorcomo mi:
impresión("Errortiempo conectarse a MySQL", e)
finalmente:
siconexión.está conectado():
cursor.cerca()
conexión.cerca()
imprimir("Conexion mysql es cerrado")
El código de conexión anterior hace lo mismo que el código de conexión de mysqclient.
Una vez que crea el objeto de conexión, puede crear un cursor, que luego puede usar para ejecutar consultas en la base de datos.
Este programa de conexión también utiliza el trata de atraparlo bloquear. La clase Error, de mysql.conector, le permite detectar las excepciones generadas al conectarse a la base de datos. Esto debería simplificar la depuración y la resolución de problemas.
Conectarse a MySQL usando PyMySQL
los PyMySQL El controlador de conexión es un reemplazo para MySQLdb. Para usarlo, debe ejecutar Python 3.7 o posterior y su servidor MySQL debe ser la versión 5. 7, o más reciente. Si usa MariaDB, debe ser la versión 10.2 o superior. Puede encontrar estos requisitos en el Página PyMySQL Github.
Para instalar PyMySQL, ejecute el siguiente comando.
pepita Instalar en pc PyMySQL
Conéctese a MySQL usando PyMySQL usando este código.
importar pymysql
conexión = pymysql.connect (host="servidor local",
usuario="<usuario_mysql>",
contraseña="<mysql_contraseña>",
base de datos="<nombre de la base de datos>")
probar:
cursor = conexión.cursor()
cursor.ejecutar("Seleccionebase de datos();")
db = cursor.buscar()
impresión("Tú'reconectado a la base de datos: ", base de datos)
excepto pymysql. Error como mi:
impresión("Errortiempo conectarse a MySQL", e)
finalmente:
cursor.cerca()
conexión.cerca()
imprimir("Conexion mysql es cerrado")
Una vez que haya realizado la conexión y creado el objeto de cursor, puede comenzar a hacer Consultas SQL.
Conectarse a MySQL usando aiomysql
los aiomysql El controlador de conexión es como la versión asíncrona de PyMySQL. Proporciona acceso a una base de datos MySQL desde el marco asyncio.
Para usar aiomysql, necesita Python 3.7+ y PyMySQL instalados en su entorno de desarrollo.
Ejecute el siguiente comando para instalar asyncio y aiomysql.
pepita Instalar en pc asíncio
pepita Instalar en pc aiomysql
Con aiomysql, puede conectar Python a MySQL usando un objeto de conexión básico y usando un grupo de conexiones.
Aquí hay un ejemplo que muestra cómo conectarse a la base de datos MySQL usando un objeto de conexión.
importar asíncio
importar aiomysql
bucle = asincio.get_event_loop()asíncronodefinitivamentepython_mysql():
conexión = esperar aiomysql.connect (host="servidor local",
usuario="<usuario_mysql>",
contraseña="<mysql_contraseña>",
base de datos="<nombre de la base de datos>")cur = esperar conexión.cursor()
esperar cur.ejecutar("Seleccionebase de datos();")
db = esperar cur.buscar()
impresión("Tú'reconectado a la base de datos: ", base de datos)
esperar cur.cerrar()
conexión.cerca()
círculo.ejecutar_hasta_completar(python_mysql())
A diferencia de un objeto de conexión de base de datos, un grupo de conexiones le permite reutilizar las conexiones de base de datos. Lo hace manteniendo un grupo de conexiones abiertas y asignándolas a pedido. Cuando un cliente solicita una conexión, se le asigna una del grupo. Una vez que el cliente cierra la conexión, la conexión vuelve al grupo.
El código básico para conectarse a través de un grupo es el siguiente:
importar asíncio
importar aiomysql
bucle = asincio.get_event_loop()
asíncronodefinitivamentepython_mysql():
pool = esperar aiomysql.create_pool (host="servidor local",
usuario="<usuario_mysql>",
contraseña="<mysql_contraseña>",
base de datos="<nombre de la base de datos>", bucle=bucle, confirmación automática=Falso)asíncronocon grupo.adquirir() como conexión:
cursor = esperar conexión.cursor()
esperar cur.ejecutar("Seleccionebase de datos();")
db = esperar cur.buscar()
impresión("Tú'reconectado a la base de datos: ", base de datos)piscina.cerca()
esperar pool.wait_closed()
círculo.ejecutar_hasta_completar(python_mysql())
Este programa debe imprimir la versión de MySQL a la que te has conectado cuando lo ejecutas.
Administrar su base de datos PostgreSQL
Este artículo le mostró varias formas de conectar una aplicación de Python a MySQL. Cada uno de estos métodos le permite interactuar y ejecutar consultas en la base de datos.
Una vez conectado a una base de datos MySQL, puede ejecutar consultas de datos y realizar transacciones de base de datos. Puede crear una aplicación de Python, conectarla a MySQL y comenzar a almacenar datos.