para mysql python-3.x

para - python mysql select



¿Cómo puedo conectarme a MySQL en Python 3 en Windows? (13)

Estoy usando ActiveState Python 3 en Windows y quería conectarme a mi base de datos MySQL. Escuché que mysqldb era el módulo para usar. No puedo encontrar mysqldb para Python 3.

¿Hay un repositorio disponible donde existen los binarios para mysqldb ? ¿Cómo puedo conectarme a MySQL en Python 3 en Windows?


Actualmente hay algunas opciones para usar Python 3 con mysql:

https://pypi.python.org/pypi/mysql-connector-python

  • Oficialmente respaldado por Oracle
  • Pitón puro
  • Un poco lento
  • No es compatible con MySQLdb

https://pypi.python.org/pypi/pymysql

  • Pitón puro
  • Más rápido que el conector mysql
  • Casi completamente compatible con MySQLdb , después de llamar a pymysql.install_as_MySQLdb()

https://pypi.python.org/pypi/cymysql

  • tenedor de pymysql con aceleraciones C opcionales

https://pypi.python.org/pypi/mysqlclient

  • La biblioteca recomendada de Django.
  • Tenedor amigable del MySQLdb original, espera fusionarse algún día
  • La implementación más rápida, ya que está basada en C
  • El más compatible con MySQLdb, ya que es un tenedor
  • Debian y Ubuntu lo usan para proporcionar paquetes python-mysqldb y python3-mysqldb .

puntos de referencia aquí: https://github.com/methane/mysql-driver-benchmarks



En mi Mac OS Maverick, intento esto:

Después de eso, ingrese el intérprete de python3 y escriba:

  1. importar pymysql . Si no hay ningún error, su instalación está bien. Para la verificación escribe un script para conectarte a mysql con este formulario:

  2. # una secuencia de comandos simple para la conexión MySQL importar pymysql db = pymysql.connect (host = "localhost", usuario = "root", passwd = " *", db = "biblioteca") #Sure, esta es información para mi db # cerrar la conexión db.close () *

Ponle un nombre ("con.py" por ejemplo) y guárdalo en el escritorio. En Terminal escribe "cd desktop" y luego $ python con.py Si no hay ningún error, estás conectado con el servidor MySQL. ¡Buena suerte!


Este es un tutorial rápido sobre cómo hacer que Python 3.7 trabaje con Mysql
Gracias a todos los que obtuve respuestas a mis preguntas
- Espero que esto ayude a alguien algún día.
-------------------------------------------------- -
Mi sistema:
Versión de Windows: Pro de 64 bits

REQUISITOS. Descargue e instale estos primero ...
1. Descargar Xampp ..
https://www.apachefriends.org/download.html
2. Descarga Python
https://www.python.org/downloads/windows/

--------------
//MÉTODO
--------------
Instale xampp primero después de la instalación finalizada: instale Python 3.7.
Una vez que haya terminado de instalar ambos, reinicie su sistema de Windows.
Ahora inicie xampp y desde el panel de control: inicie el servidor mysql.
Confirme las versiones abriendo CMD y en el tipo de terminal

c:/>cd c:/xampp/mysql/bin c:/xampp/mysql/bin>mysql -h localhost -v Welcome to the MariaDB monitor. Commands end with ; or /g. Your MariaDB connection id is 2 Server version: 10.1.21-MariaDB mariadb.org binary distribution Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Esto es para verificar la versión MYSQL

c:/xampp/mysql/bin>python Python 3.7.0b3 (v3.7.0b3:4e7efa9c6f, Mar 29 2018, 18:42:04) [MSC v.1913 64 bit (AMD64)] on win32

Esto es para verificar la versión de Python
Ahora que ambos han sido confirmados, ingrese lo siguiente en CMD ...

c:/xampp/mysql/bin>pip install pymysql

Después de que se complete la instalación de pymysql.
cree un nuevo archivo llamado "testconn.py" en su escritorio o donde quiera para un acceso rápido.
Abra este archivo con sublime u otro editor de texto y ponga esto en él.
Recuerde cambiar la configuración para reflejar su base de datos.

#!/usr/bin/python import pymysql pymysql.install_as_MySQLdb() import MySQLdb db = MySQLdb.connect(user="yourusernamehere",passwd="yourpasswordhere",host="yourhosthere",db="yourdatabasehere") cursor = db.cursor() cursor.execute("SELECT * from yourmysqltablehere") data=cursor.fetchall() for row in data : print (row) db.close()

Ahora en tu CMD - tipo

c:/Desktop>testconn.py

Y eso es todo ... ahora estás completamente conectado desde un script de python a mysql ...
Disfrutar...


Esto no responde completamente mi pregunta original, pero creo que es importante que todos sepan lo que hice y por qué.

Elegí continuar usando Python 2.7 en lugar de Python 3 debido a la prevalencia de 2.7 ejemplos y módulos en la web en general.

Ahora uso mysqldb y mysql.connector para conectarme a MySQL en Python 2.7. Ambos son geniales y funcionan bien. Creo que mysql.connector es, en última instancia, mejor a largo plazo.


Estoy usando cymysql con python3 en un Raspberry pi. Simplemente instalé: sudo pip3 install cython sudo pip3 install cymysql donde cython no es necesario, pero debería hacer cymysql más rápido

Hasta ahora funciona como un encanto y muy similar a MySQLdb




Probablemente deberías usar pymysql - pymysql Pure Python MySQL en su lugar.
Funciona con Python 3.x y no tiene dependencias.

Este cliente Python MySQL puro proporciona una base de datos DB-API a una base de datos MySQL hablando directamente con el servidor a través del protocolo binario cliente / servidor.

Ejemplo:

import pymysql conn = pymysql.connect(host=''127.0.0.1'', unix_socket=''/tmp/mysql.sock'', user=''root'', passwd=None, db=''mysql'') cur = conn.cursor() cur.execute("SELECT Host,User FROM user") for r in cur: print(r) cur.close() conn.close()


PyMySQL le da a MySQLDb como interfaz también. Podría intentar en su inicialización:

import pymysql pymysql.install_as_MySQLdb()

También hay un puerto de mysql-python en github para python3.

https://github.com/davispuh/MySQL-for-Python-3


También intenté usar pymysql (en mi máquina Win7 x64, Python 3.3), sin demasiada suerte. Descargué .tar.gz, extract, ejecuté "setup.py install", y todo parecía estar bien. Hasta que intenté conectarme a una base de datos, y obtuve "KeyError [56]". Un error que no pude encontrar documentado en ninguna parte.

Así que renuncié a pymysql y me decidí por el conector Oracle MySQL .

Viene como un paquete de instalación y funciona de la caja. Y también parece decentemente documentado.


si desea utilizar MySQLdb primero, debe instalar pymysql en su pc escribiendo cmd of windows

pip install pymysql

luego en el shell python, escriba

import pymysql pymysql.install_as_MySQLdb() import MySQLdb db = MySQLdb.connect("localhost" , "root" , "password")

esto establecerá la conexión.


Resumen

https://pypi.python.org/pypi/mysqlclient es la mejor alternativa (en mi humilde opinión) porque funciona sin problemas con Python 3+ , sigue las convenciones esperadas (a diferencia del conector mysql), usa el nombre del objeto mysqldb que permite la conveniente transferencia del software existente y Django lo utiliza para las compilaciones de Python 3

¿Hay un repositorio disponible donde existen los binarios para mysqldb?

Sí. mysqlclient le permite usar funciones mysqldb. Sin embargo, recuerda que este no es un puerto directo de mysqldb, sino una compilación de mysqlclient

¿Cómo puedo conectarme a MySQL en Python 3 en Windows?

pip install mysqlclient

Ejemplo

#!/Python36/python #Please change above path to suit your platform. Am running it on Windows import MySQLdb db = MySQLdb.connect(user="my-username",passwd="my-password",host="localhost",db="my-databasename") cursor = db.cursor() cursor.execute("SELECT * from my-table-name") data=cursor.fetchall() for row in data : print (row) db.close()

No puedo encontrar mysqldb para Python 3.

mysqldb aún no se ha portado