![Keep It Simple, Frameworks: CEO da Netlify elogia Astro, Remix](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706204847_Keep-It-Simple-Frameworks-CEO-da-Netlify-elogia-Astro-Remix-150x150.jpg)
Keep It Simple, Frameworks: CEO da Netlify elogia Astro, Remix
25 de janeiro de 2024![WebAssembly sem servidor para desenvolvedores de navegadores](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706205734_WebAssembly-sem-servidor-para-desenvolvedores-de-navegadores-150x150.jpg)
WebAssembly sem servidor para desenvolvedores de navegadores
25 de janeiro de 2024Quero mostrar algo bem legal que o Python pode fazer: inserir dados em uma tabela de banco de dados MySQL.
Imagine ser capaz de injetar dados em uma tabela sem precisar primeiro fazer login no console do MySQL – e injetar esses dados de um aplicativo Python pode ser incrivelmente flexível e prático. Melhor ainda, não é um grande desafio.
Deixe-me mostrar como isso é feito.
O que você precisa
Vou demonstrar isso em uma instância do Ubuntu Server 22.04.3. Se estiver usando uma distribuição Linux diferente (ou se estiver usando MacOS ou Windows), você terá que alterar os comandos de instalação. Dito isso, você precisará de um sistema operacional que suporte Python3 e de um usuário com sudo privilégios.
E, só por diversão, vou mostrar como instalar o MySQL e criar um usuário e banco de dados.
Legal. Vamos fazer alguma mágica em Python/banco de dados.
Instalando MySQL e Python
A primeira coisa que faremos é instalar o servidor de banco de dados MySQL. Para fazer isso, faça login na sua instância do Ubuntu Server e emita o comando:
sudo apt-get install mysql-server -y
Quando isso terminar, você desejará habilitar o serviço para que ele seja executado na inicialização. Para fazer isso, emita o comando:
sudo systemctl enable --now mysql
Antes de continuar, você também deve instalar o Python3 MySQL Connector, que permite que o Python interaja com seus bancos de dados MySQL. Isso pode ser feito com o comando:
sudo apt-get install python3-mysql.connector -y
Se sua instância do Ubuntu ainda não tiver o Python instalado, você poderá fazer isso com o comando:
sudo apt-get install python3 -y
É isso para a instalação.
Criando um banco de dados e usuário no MySQL
Em seguida, precisamos criar um banco de dados. Faça login no console do MySQL com o comando:
sudo mysql
Uma vez lá, crie um banco de dados chamado “staff” com o comando:
CREATE DATABASE staff;
Agora podemos criar um usuário (vamos chamá-lo de “jack”) e dar permissão a esse usuário para usar o novo banco de dados. Crie o usuário com:
CREATE USER 'jack'@'localhost' IDENTIFIED BY 'PASSWORD';
Certifique-se de que PASSWORD seja uma senha forte e exclusiva.
Dê a esse usuário acesso ao nosso banco de dados de funcionários com o comando:
GRANT ALL PRIVILEGES ON staff.* TO 'jack'@'localhost';
Crie uma tabela
Agora temos que criar uma tabela. Primeiro, mude para o banco de dados da equipe com:
USE staff;
Agora podemos criar uma tabela em nosso novo banco de dados. Vamos simplificar e criar uma tabela chamada “editorial” com duas colunas (nome e email). O comando para isso seria:
CREATE TABLE editorial (id INT, name VARCHAR(30), email VARCHAR(30));
Agora temos um banco de dados, um usuário e uma tabela prontos para ação.
O aplicativo Python
Aqui é onde a diversão começa. Vamos criar um aplicativo Python que injeta dados nas colunas de nome e email das colunas editoriais.
Crie o script com o comando:
nano insert.py
Nesse arquivo, cole o seguinte conteúdo:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="jack", password="PASSWORD", database="staff" ) mycursor = mydb.cursor() sql = "INSERT INTO editorial (name, email) VALUES (%s, %s)" val = ("NAME", "EMAIL") mycursor.execute(sql, val) mydb.commit() print(mycursor.rowcount, "record inserted.")
PASSWORD é a senha que você criou para o usuário do MySQL, NAME é o nome que você deseja inserir na coluna de nome e EMAIL é o endereço que deseja inserir na coluna de email.
Aqui está um pouco mais de explicação:
- A primeira linha importa a função necessária que permite ao Python se conectar ao MySQL.
- A seção mydb configura as informações do banco de dados.
- mydb.cursor() é a função que permite a inserção de dados no banco de dados.
- A linha sql é nossa primeira consulta MySQL.
- A linha val define nossas colunas para o banco de dados.
- O mycursor.execute executa as operações acima.
- O mydb.commit() confirma as alterações feitas por mycursor.execute.
- A linha de impressão imprime a saída para indicar sucesso ou falha.
Salve e feche o arquivo com a combinação de teclas Ctrl+X.
Executando o aplicativo
Agora podemos executar nosso novo aplicativo Python que injetará os dados na tabela que você especificou no script. O comando de execução para isso seria:
python3 insert.py
Você deverá receber a confirmação de que a injeção foi bem-sucedida. Você pode verificar isso com o comando:
SELECT * FROM editorial;
Você deverá ver seus primeiros dados adicionados à tabela.
Aceitar entrada de um usuário
Esse não é um método muito eficiente de injetar dados em um banco de dados porque você teria que editar o script todas as vezes. Felizmente, podemos usar variáveis em Python para aceitar entradas que serão então inseridas.
Para fazer isso, temos que usar a função input(), que permite ao script aceitar entradas de um usuário. Nosso novo script ficaria assim:
import mysql.connector name = input("Type a name: ") email = input("Type an email: ") mydb = mysql.connector.connect( host="localhost", user="jack", password="PASSWORD", database="staff" )
mycursor = mydb.cursor() sql = "INSERT INTO editorial (name, email) VALUES (%s, %s)" val = (name, email) mycursor.execute(sql, val) mydb.commit()
PASSWORD é a senha que você definiu para o usuário MySQL.
Salve e feche o arquivo. Execute o aplicativo da mesma maneira, só que desta vez você será solicitado a inserir um nome e depois um e-mail.
E é assim que você pode usar Python para injetar dados em uma tabela MySQL. Brinque com isso e veja o quão criativo você pode ser.
A postagem Inserir dados em um banco de dados MySQL por meio de um script Python apareceu pela primeira vez em The New Stack.