Hoje veremos como utilizar a linguagem de programação Python com o banco de dados MariaDB através do conector mariadb
.
Dependências
macOS
brew install \
gcc \
mariadb-connector-c
Linux
Arch Linux
Site oficial da distribuição Linux Arch Linux.
sudo pacman -S \
gcc \
openssl
Fedora
Site oficial da distribuição Linux Fedora.
sudo dnf install \
gcc \
openssl
Ubuntu
Site oficial da distribuição Linux Ubuntu.
sudo apt install \
gcc \
openssl
MariaDB connector
O conector mariadb para Python é uma biblioteca que permite que programas escritos em Python se conectem a um banco de dados MariaDB, que é um sistema de gerenciamento de banco de dados relacional compatível com o MySQL.
Com o conector mariadb
, os desenvolvedores podem executar consultas SQL, recuperar e atualizar dados no banco de dados MariaDB usando código Python.
Essa biblioteca facilita a integração de aplicativos Python com bancos de dados MariaDB, tornando mais fácil para os desenvolvedores criar aplicativos web, científicos, de análise de dados e muito mais.
Posts relacionados:
O conector pode ser instalando utilizando-se o gerenciado de pacotes do Python:
pip install mariadb
Depois de instalado, você pode importar o conector em seus scripts Python e usá-lo para se conectar a um servidor MySQL e executar operações de banco de dados.
Contêiner
Para testar o código de exemplo foi utilizando o seguinte arquivo docker-compose.yaml
:
services:
db:
image: mariadb:11.3.2-jammy
container_name: MariaDB
restart: on-failure
ports:
- "3306:3306"
environment:
MYSQL_USER: dbuser
MYSQL_PASSWORD: 123456
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: database_name
Exemplo de CRUD
# -*- coding: utf-8 -*-
"""CRUD - Python - MariaDB Connector - MariaDB."""
import mariadb
# Conexão (commit, rollback, close, etc).
con = mariadb.connect(
user='dbuser',
password='123456',
host='127.0.0.1',
port=3306,
database='database_name'
)
# config = {
# 'user': 'dbuser',
# 'password': '123456',
# 'host': '127.0.0.1',
# 'port': 3306,
# 'database': 'database_name'
# }
# con = mariadb.connect(**config)
# Cursor (DML, DDL, etc).
cur = con.cursor()
cur.execute('DROP TABLE IF EXISTS table_name;')
table_name = '''CREATE TABLE IF NOT EXISTS table_name (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(32),
age SMALLINT
);'''
cur.execute(table_name)
# Create.
print('[!] Create [!]')
query = 'INSERT INTO table_name (name, age) VALUES (?, ?);'
cur.execute(
query,
('renato', 35),
)
# Bulk create.
cur.executemany(
query,
(
('maria', 25),
('sandy', 19),
)
)
# Read.
print('\n[!] Read [!]')
cur.execute('SELECT * FROM table_name;')
print(cur.fetchall())
# Limit.
query = 'SELECT * FROM table_name LIMIT ?;'
cur.execute(
query,
(3,),
)
print(cur.fetchall())
# Where.
query = 'SELECT * FROM table_name WHERE id = ?;'
cur.execute(
query,
(1,),
)
print(cur.fetchone())
query = 'SELECT * FROM table_name WHERE age > ?;'
cur.execute(
query,
(20,),
)
print(cur.fetchall())
# Update.
print('\n[!] Update [!]')
query = 'SELECT * FROM table_name WHERE id = ?;'
cur.execute(
query,
(1,),
)
print(cur.fetchone())
query = 'UPDATE table_name SET name = ? WHERE id = ?;'
cur.execute(
query,
('joão', 1),
)
query = 'SELECT * FROM table_name WHERE id = ?;'
cur.execute(
query,
(1,),
)
print(cur.fetchone())
# Delete.
print('\n[!] Delete [!]')
query = 'SELECT * FROM table_name WHERE id = ?;'
cur.execute(
query,
(1,),
)
print(cur.fetchone())
query = 'DELETE FROM table_name WHERE id = ?;'
cur.execute(
query,
(1,),
)
query = 'SELECT * FROM table_name WHERE id = ?;'
cur.execute(
query,
(1,),
)
print(cur.fetchone())
con.close()
Conclusão
O MariaDB é uma poderosa ferramenta de banco de dados relacional que oferece compatibilidade com o MySQL e uma variedade de recursos avançados.
Compreender os conceitos básicos, como banco de dados, tabelas, consultas SQL e índices, pode ajudá-lo a utilizar o MariaDB de forma eficaz em seus projetos de desenvolvimento.