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 apymysql.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
ypython3-mysqldb
.
puntos de referencia aquí: https://github.com/methane/mysql-driver-benchmarks
CyMySQL https://github.com/nakagami/CyMySQL
He instalado pip en mi Windows 7, con Python 3.3 solo pip install cymysql
(no necesitas cython) rápido y sin dolor
En mi Mac OS Maverick, intento esto:
En tipo de terminal:
1) mkdir -p ~ / bin ~ / tmp ~ / lib / python3.3 ~ / src 2) exportar TMPDIR = ~ / tmp
3) wget -O ~ / bin / 2to3
4) http://hg.python.org/cpython/raw-file/60c831305e73/Tools/scripts/2to3 5) chmod 700 ~ / bin / 2to3 6) cd ~ / src 7) git clone https://github.com/petehunt/PyMySQL.git 8) cd PyMySQL /
9) instalación de python3.3 setup.py --install-lib = $ HOME / lib / python3.3 --install-scripts = $ HOME / bin
Después de eso, ingrese el intérprete de python3 y escriba:
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:
# 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
No probado, pero hay algunos binarios disponibles en:
Oracle / MySQL proporciona un controlador oficial de Python DBAPI: http://dev.mysql.com/downloads/connector/python/
Lo he usado con Python 3.3 y encontré que funciona muy bien. También funciona con SQLAlchemy.
Ver también esta pregunta: ¿Todavía es demasiado pronto para subir a bordo del tren Python 3?
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.
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