Python com conectividade MySQL: banco de dados e tabela [exemplos]

Para usar a conectividade MySQL com Python, você deve ter algum conhecimento de SQL

Antes de mergulhar fundo, vamos entender

O que é MySQL?

MySQL é um banco de dados de código aberto e um dos melhores tipos de RDBMS (Relational Database Management System). O cofundador do MySQLdb é Michael Widenius, e também o nome MySQL deriva da filha de Michael.

Como instalar o MySQL Connector Python em Windows, Linux/Unix

Instale o MySQL no Linux/Unix:

Baixe o pacote RPM para Linux/Unix do site oficial: https://www.mysql.com/downloads/

No terminal, use o seguintewing comando

rpm  -i <Package_name>
Example   rpm -i MySQL-5.0.9.0.i386.rpm

Para verificar no Linux

mysql --version

Instale o MySQL em Windows

Baixe o exe do banco de dados MySQL em site oficial e instale normalmente a instalação normal do software em Windows. Consulte isto tutorial, para obter um guia passo a passo

Como instalar a biblioteca MySQL Connector para Python

Aqui está como conectar MySQL com Python:

Para Python 2.7 ou inferior, instale usando pip como:

pip install mysql-connector

Para Python 3 ou versão superior, instale usando pip3 como:

pip3 install mysql-connector

Teste a conexão do banco de dados MySQL com Python

Para testar a conectividade do banco de dados MySQL em Python aqui, usaremos o conector MySQL pré-instalado e passaremos credenciais para conectar() funcionam como host, nome de usuário e senha, conforme mostrado no exemplo do conector Python MySQL abaixo.

Sintaxe para acessar MySQL com Python:

import mysql.connector
	db_connection = mysql.connector.connect(
  	host="hostname",
  	user="username",
  	passwd="password"
    )

Exemplo:

import mysql.connector
db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root"
)
print(db_connection)

saída:

<mysql.connector.connection.MySQLConnection object at 0x000002338A4C6B00>

Aqui a saída mostra a conexão criada com sucesso.

Criando banco de dados em MySQL usando Python

A sintaxe para criar um novo banco de dados em SQL é

CREATE DATABASE "database_name"

Agora criamos banco de dados usando programação de banco de dados em Python

import mysql.connector
  db_connection = mysql.connector.connect(
  host= "localhost",
  user= "root",
  passwd= "root"
  )
# creating database_cursor to perform SQL operation
db_cursor = db_connection.cursor()
# executing cursor with execute method and pass SQL query
db_cursor.execute("CREATE DATABASE my_first_db")
# get list of all databases
db_cursor.execute("SHOW DATABASES")
#print all databases
for db in db_cursor:
	print(db)

saída:

Criando banco de dados em MySQL

Aqui a imagem acima mostra o meu_primeiro_db banco de dados é criado

Crie uma tabela no MySQL com Python

Vamos criar uma tabela simples “aluno” que possui duas colunas, conforme mostrado no exemplo Python do conector MySQL abaixo.

sintaxe SQL:

CREATE  TABLE student (id INT, name VARCHAR(255))

Exemplo:

import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
#Here creating database table as student'
db_cursor.execute("CREATE TABLE student (id INT, name VARCHAR(255))")
#Get database table'
db_cursor.execute("SHOW TABLES")
for table in db_cursor:
	print(table)

saída:

 ('student',)

Crie uma tabela com chave primária

Vamos criar um Empregado tabela com três colunas diferentes. Adicionaremos uma chave primária em id coluna com restrição AUTO_INCREMENT conforme mostrado no projeto Python abaixo com conectividade de banco de dados.

sintaxe SQL:

CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))

Exemplo:

import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
#Here creating database table as employee with primary key
db_cursor.execute("CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))")
#Get database table
db_cursor.execute("SHOW TABLES")
for table in db_cursor:
	print(table)

saída:

('employee',) ('student',)

Tabela ALTER em MySQL com Python

O comando Alter é usado para modificação da estrutura da tabela em SQL. Aqui vamos alterar estudante mesa e adicione um chave primária ao id campo conforme mostrado no projeto do conector Python MySQL abaixo.

sintaxe SQL:

ALTER TABLE student MODIFY id INT PRIMARY KEY

Exemplo:

import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
#Here we modify existing column id
db_cursor.execute("ALTER TABLE student MODIFY id INT PRIMARY KEY")

saída:

Aqui abaixo você pode ver o id coluna é modificada.

Tabela ALTER no MySQL

Operação de inserção com MySQL em Python:

Vamos realizar a operação de inserção na tabela do banco de dados MySQL que já criamos. Iremos inserir os dados da tabela STUDENT e da tabela EMPLOYEE.

sintaxe SQL:

INSERT INTO student (id, name) VALUES (01, "John")
INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)

Exemplo:

import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
student_sql_query = "INSERT INTO student(id,name) VALUES(01, 'John')"
employee_sql_query = " INSERT INTO employee (id, name, salary) VALUES (01, 'John', 10000)"
#Execute cursor and pass query as well as student data
db_cursor.execute(student_sql_query)
#Execute cursor and pass query of employee and data of employee
	db_cursor.execute(employee_sql_query)
db_connection.commit()
print(db_cursor.rowcount, "Record Inserted")

saída:

 2 Record Inserted

Verifique também: - Tutorial Python para iniciantes: Aprenda noções básicas de programação [PDF]