Cómo instalar y usar pymysql sin conexión para operar la base de datos mysql

1. Antecedentes de la aplicación

Utilice Python para operar la base de datos MySQL en la red interna corporativa. Sin embargo, Python no viene con la biblioteca de funciones pymysql para acceder a la base de datos MySQL y debe instalarse por separado. Hay muchas instalaciones de pymysql en Internet que requieren soporte de Internet. Este artículo explica principalmente cómo instalar pymysql sin conexión y presenta brevemente cómo pymysql realiza las operaciones de mysql.

pymysql es un controlador de base de datos MySQL escrito en Python puro, basado en la especificación Python DB-API 2.0. No solo es compatible con la versión Python 2.x, sino que también es compatible con la versión Python 3.x, por lo que cuando lo use, debe elegir el paquete de instalación de pymysql apropiado de acuerdo con su propia versión de Python.

2. Preparación ambiental

1.versión pymysql. La versión de Python utilizada en este artículo es Python 3.9, por lo que la versión de pymysql utilizada es 0.9.3.

2.versión anaconda3. El entorno operativo Python de este artículo es anaconda 2.3.1, python3.9.

3. Entorno IDE. Este artículo utiliza el software IDE de Python Spyder 5.2.2 que viene con anaconda.

4.versión mysql. La versión de MySQL es 5.7, proporcionada por wampserver 2.5. Si desea utilizar la versión mysql8.1, puede consultar el artículo Problemas y soluciones encontrados al actualizar la base de datos MySql 5.7 a 8.1_wamp update blog-CSDN de mysql_hongdi

3. Instalación de pymsql

1. Descargue el paquete de instalación de pymsql

Dirección de descarga: https://mirrors.cloud.tencent.com/pypi/packages/da/15/23ba6592920e21cb40eb0fe0ea002d2b6177beb1ca8a4c1add5a8f32754d/PyMySQL-0.9.3.tar.gz#sha256=d8c059dcd81dedb85a9f03 4d5e22dcb4442c0b201908bede99e306d65ea7c8e7

Las direcciones de descarga para otras versiones también se proporcionan aquí:

PyMySQL-1.0.0.tar.gz icono-default.png?t=N7T8https://mirrors.cloud.tencent.com/pypi/packages/2b/c4/3c3e7e598b1b490a2525068c22f397fda13f48623b7bd54fb209cd0ab774/PyMySQL-1.0.0.tar.gz#sha256=b2 508a7dc6b626210e52f711d2c2361d102d8d9b8b144e63b2512e748de1a49b

PyMySQL-1.1.0.tar.gz icono-default.png?t=N7T8https://mirrors.cloud.tencent.com/pypi/packages/41/9d/ee68dee1c8821c839bb31e6e5f40e61035a5278f7c1307dde758f0c90452/PyMySQL-1.1.0.tar.gz#sha256=4f1 3a7df8bf36a51e81dd9f3605fede45a4878fe02f9236349fd82a3f0612f96

 2. Instale pyMySQL

(1) Descomprima pymsql-0.9.3.tar.gz en el directorio de instalación de anaconda, asumiendo que es E:\Anaconda3

(2) Abra la interfaz de línea de comando cmd, cambie a E:\Anaconda3 y luego ingrese el comando python setup.py install

(3) Pruebe si la instalación se realizó correctamente. Ingrese el intérprete de Python en la línea de comando, ingrese el comando >>> importar pymysql y presione Entrar. Si no se informa ningún error, se puede considerar que pymsql se instaló correctamente.

4. Introducción al desarrollo de pymysql.

(1) Proceso de codificación de pymysql

 1. Establezca una conexión de base de datos db = pymysql.connect (parámetro)
        Los parámetros de la función connect (): host = dirección de host o localhost, puerto = número de puerto (predeterminado 3306),
                                             usuario = nombre de usuario, contraseña = contraseña,

                                             base de datos=base de datos, charaset=método de codificación (utf8 predeterminado)
  2. Cree el objeto de cursor cur = db.cursor()
  3. Ejecute el método de cursor cur.execute("declaración sql")
  4. Envíe a la base de datos db.commit( )  
  5.Cierre el objeto del cursor cur.close()
  6.Cierre la conexión de la base de datos db.close()

(2) Consulta en pymysql

Agregar, eliminar y modificar pymysql es relativamente simple: simplemente coloque las declaraciones de inserción, eliminación y actualización correspondientes en cur.execute para su ejecución. Para verificar, pymysql proporciona varios métodos: fetchone, fetchall, fetchmany, que se presentan a continuación:

1.método de búsqueda de una persona

Devuelve un solo registro, es decir una tupla. Si no hay datos devuelve Ninguno. Por ejemplo:

cur.execute("seleccione col1,col2, de mytable donde id=1");

arr=cur.fetchone()

#Se puede acceder a los valores de col1 y col2 mediante arr[0] y arr[1]

imprimir(arr[0],arr[1])

Nota: Utilice cursor.fetchone() varias veces en un bucle para obtener el siguiente resultado hasta que esté vacío.

2.método de búsqueda

 Devuelve varios registros, es decir, varias tuplas. Si no hay resultado, devuelve (). El código es el siguiente.

cur.execute("seleccione col1,col2, de mitabla ");

arrs = cur.fetchall()
para fila en arrs:
    print(fila)

3.fetchmany(n)方法

Para obtener las primeras n filas de datos, el código es el siguiente:

cur.execute("seleccione col1,col2, de mitabla ");

arr3 = cur.fetchmany(3) obtiene las primeras tres filas de datos

(3) Uso de marcadores de posición en pymysql

El proceso de desarrollo a menudo requiere pasar parámetros a declaraciones SQL. La forma más sencilla es unir cadenas, pero este método es propenso a ataques de inyección SQL. Por lo tanto, al desarrollar, se recomienda pasar parámetros. Aquí presentamos principalmente varios métodos.

Supongamos que necesita agregar registros a la tabla mytable

Declaración SQL normal: sql = "insertar en mytable (col1,col2) valores ('usuario1',19),('usuario2',20);"

1. Método de marcador de posición:

sql = “insertar en mytable (col1,col2) valores ('%s',%f),('%s',%f);”

Para mantener una coincidencia completa con el formato de la declaración SQL, es necesario escribir la siguiente declaración:

sql = “insertar en mytable (col1,col2) valores ('%s',%f),('%s',%f);”%('usuario1',19,'usuario2',20)

Nota: Este método requiere agregar comillas simples '%s' al marcador de posición de la cadena.

2. Método de paso de parámetros:

sql = “insertar en mytable (col1,col2) valores ('%s',%f),('%s',%f);”

Además de pasar sql en el método de ejecución, también se debe pasar la lista de parámetros correspondiente, de la siguiente manera:

cur.execute(sql,['user1',19,'user2',20])
Nota: El segundo parámetro aquí coincidirá secuencialmente de acuerdo con los valores de la lista

(4) Ejemplo de código fuente completo

import pymysql

db = pymysql.connect(host='localhost',
                     port=3306,
                     user='user',
                     password='pwd',
                     database='mydatabase',
                     charset='utf8')
cur = db.cursor()
sql = "INSERT INTO interest (col1,col2) VALUES ('%s',%f),('%s',%f);"
try:
    cur.execute(sql, ['user1',19,'user2',20])
    db.commit()
except Exception as e:
    db.rollback()
finally:
    cur.close()
    db.close()


 

Supongo que te gusta

Origin blog.csdn.net/hongdi/article/details/133300253
Recomendado
Clasificación