Python com conectividade MySQL: conector, criar banco de dados, tabela, inserir [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 Open-Source e um dos melhores tipos de RDBMS (Relational Database Management System). O co-fundador do MySQLdb é Michael Widenius, e também o nome do MySQL deriva da filha de Michael.

Neste tutorial, você aprenderá

Como instalar o MySQL Connector Python no 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 seguinte comando

rpm -i 
Example rpm -i MySQL-5.0.9.0.i386.rpm 

Para verificar no Linux

mysql --version

Instale o MySQL no Windows

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

Como instalar a biblioteca de conectores MySQL para Python

Veja como conectar o MySQL ao 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 as credenciais para conectar() funcionam como host, nome de usuário e senha, conforme mostrado no exemplo de conector Python MySQL abaixo.

Sintaxe para acessar o 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 :

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

Criação de 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 :

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

Crie uma tabela em MySQL com Python

Vamos criar uma tabela simples 'aluno' que possui duas colunas, conforme mostrado no exemplo de 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 mesa com três colunas diferentes. Vamos adicionar uma chave primária em Eu iria coluna com a 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 no MySQL com Python

O comando Alter é usado para modificar a estrutura da tabela em SQL. Aqui vamos alterar Aluna mesa e adicionar um chave primária ao Eu iria conforme mostrado no projeto de 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 Eu iria coluna é modificada.

Insira a operação com MySQL em Python:

Vamos realizar a operação de inserção na tabela do banco de dados MySQL que já criamos. Vamos inserir 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