Como instalar e usar o pymysql offline para operar o banco de dados mysql

1. Histórico do aplicativo

Use python para operar o banco de dados mysql na rede interna corporativa. Porém, python não vem com a biblioteca de funções pymysql para acessar o banco de dados MySQL e precisa ser instalado separadamente. Existem muitas instalações do pymysql na Internet que requerem suporte da Internet. Este artigo explica principalmente como instalar o pymysql offline e apresenta brevemente como o pymysql executa operações mysql.

pymysql é um driver de banco de dados MySQL escrito em Python puro, baseado na especificação Python DB-API 2.0. Ele não apenas suporta a versão Python 2.x, mas também suporta a versão Python 3.x, portanto, ao usá-lo, você precisa escolher o pacote de instalação do pymysql apropriado de acordo com sua própria versão do Python.

2. Preparação ambiental

Versão 1.pymysql. A versão do Python usada neste artigo é python 3.9, então a versão do pymysql usada é 0.9.3.

Versão 2.anaconda3. O ambiente operacional python deste artigo é anaconda 2.3.1, python3.9.

3. Ambiente IDE. Este artigo usa o software IDE python Spyder 5.2.2 que vem com o anaconda.

Versão 4.mysql. A versão do MySQL é 5.7, fornecida pelo wampserver 2.5. Se você quiser usar a versão mysql8.1, você pode consultar o artigo Problemas e soluções encontrados na atualização do banco de dados MySql 5.7 para 8.1_wamp upgrade mysql_hongdi's blog-CSDN blog

3. Instalação do pymsql

1. Baixe o pacote de instalação do pymsql

Endereço de download: https://mirrors.cloud.tencent.com/pypi/packages/da/15/23ba6592920e21cb40eb0fe0ea002d2b6177beb1ca8a4c1add5a8f32754d/PyMySQL-0.9.3.tar.gz#sha256=d8c059dcd81dedb85a9f0 34d5e22dcb4442c0b201908bede99e306d65ea7c8e7

Endereços de download para outras versões também são fornecidos aqui:

PyMySQL-1.0.0.tar.gz icon-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 icon-default.png?t=N7T8https://mirrors.cloud.tencent.com/pypi/packages/41/9d/ee68dee1c8821c839bb31e6e5f40e61035a5278f7c1307dde758f0c90452/PyMySQL-1.1.0.tar.gz#sha256=4f13 a7df8bf36a51e81dd9f3605fede45a4878fe02f9236349fd82a3f0612f96

 2. Instale o pyMySQL

(1) Descompacte pymsql-0.9.3.tar.gz no diretório de instalação do anaconda, assumindo que seja E:\Anaconda3

(2) Abra a interface de linha de comando cmd, mude para E:\Anaconda3 e digite o comando python setup.py install

(3) Teste se a instalação foi bem-sucedida. Digite o interpretador Python na linha de comando, digite o comando >>>import pymysql e pressione Enter.Se nenhum erro for relatado, pode-se considerar que o pymsql foi instalado com sucesso.

4. Introdução ao desenvolvimento do pymysql

(1) Processo de codificação do pymysql

 1. Estabeleça uma conexão com o banco de dados db = pymysql.connect (parâmetro)
        Os parâmetros da função connect(): host = endereço do host ou localhost, porta = número da porta (padrão 3306),
                                             usuário = nome de usuário, senha = senha,

                                             banco de dados=banco de dados, charaset=método de codificação (padrão utf8)
  2. Crie o objeto cursor cur = db.cursor()
  3. Execute o método cursor cur.execute("instrução sql")
  4. Envie para o banco de dados db.commit( )  
  5.Feche o objeto cursor cur.close()
  6.Feche a conexão com o banco de dados db.close()

(2) Consulta em pymysql

Adicionar, excluir e modificar o pymysql é relativamente simples. Basta colocar as instruções de inserção, exclusão e atualização correspondentes em cur.execute para execução. Para verificação, o pymysql fornece vários métodos: fetchone, fetchall, fetchmany, que são apresentados a seguir:

1. método fetchone

Retorna um único registro, ou seja, uma tupla. Se não houver dados, retorna None. Por exemplo:

cur.execute("selecione col1,col2, da minhatabela onde id=1");

arr=cur.fetchone()

#Os valores de col1 e col2 podem ser acessados ​​através de arr[0] e arr[1]

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

Nota: Use cursor.fetchone() várias vezes em um loop para obter o próximo resultado até que esteja vazio.

2.método fetchall

 Retorne vários registros, ou seja, várias tuplas. Se não houver resultado, retorne (). O código é o seguinte

cur.execute("selecione col1,col2, da minhatabela");

arrs = cur.fetchall()
para linha em arrs:
    print(row)

3.fetchmany(n)方法

Para obter as primeiras n linhas de dados, o código é o seguinte:

cur.execute("selecione col1,col2, da minhatabela");

arr3 = cur.fetchmany(3) obtém as três primeiras linhas de dados

(3) Uso de espaços reservados em pymysql

O processo de desenvolvimento geralmente requer a passagem de parâmetros em instruções SQL. O método mais simples é emendar strings, mas esse método está sujeito a ataques de injeção de SQL. Portanto, ao desenvolver, é recomendável desenvolver passando parâmetros. Aqui apresentamos principalmente vários métodos.

Suponha que você precise adicionar registros à tabela mytable

Instrução SQL normal: sql = "inserir em mytable (col1,col2) valores ('user1',19),('user2',20);"

1. Método de espaço reservado:

sql = “inserir na minha tabela (col1,col2) valores ('%s',%f),('%s',%f);”

Para manter uma correspondência completa com o formato da instrução SQL, a seguinte instrução precisa ser escrita:

sql = “inserir na minha tabela (col1,col2) valores ('%s',%f),('%s',%f);”%('user1',19,'user2',20)

Nota: Este método requer a adição de aspas simples '%s' ao espaço reservado para string.

2. Método de passagem de parâmetros:

sql = “inserir na minha tabela (col1,col2) valores ('%s',%f),('%s',%f);”

Além de passar sql no método execute, a lista de parâmetros correspondente também deve ser passada, conforme segue:

cur.execute(sql,['user1',19,'user2',20])
Nota: O segundo parâmetro aqui será correspondido sequencialmente de acordo com os valores da lista

(4) Exemplo completo de código-fonte

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()


 

Acho que você gosta

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