Visão geral da programação de banco de dados Python

A linguagem de programa python oferece extensas APIs para programação de banco de dados. Alguns dos principais bancos de dados suportados pelo python são apresentados abaixo. Neste tópico, vamos aprender sobre o Python Database Connection.

1. Oracle

2. MySQL

3. PostgreSQL

4. Teradata etc

O banco de dados é uma coleção de informações previamente combinadas que podem ser usadas, gerenciadas e revisadas sem esforço. Os principais recursos de uma API de banco de dados são,

  • Crie uma conexão com o banco de dados
  • Trabalhar em instruções SQL e procedimentos armazenados
  • A conexão pode ser fechada

Benefícios do Python para programação de banco de dados

  • Comparado a outras linguagens, a programação em python é mais rápida e fácil.
  • No python, operações obrigatórias como abrir e fechar as conexões com o banco de dados são realizadas pelo próprio python. Para todas as outras linguagens de programação, esses tipos de operações são executadas especificamente pelo desenvolvedor.
  • As APIs de banco de dados python suportam uma ampla extensão de configurações de banco de dados, tornando a tarefa de conectar-se aos bancos de dados um processo muito mais fácil.

APIs de banco de dados Python

Bases de dadosAPIs de banco de dados Python
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL e pyPgSQL
Oráculodc_oracle2 e cx_oracle
DB2Pydb2

Etapas principais na conectividade do banco de dados

De uma perspectiva python, há quatro etapas principais no processo de conexão com o banco de dados usando python. eles são como abaixo,

1. Criando o objeto de conexão

4. terminação da conexão criada

2. Para acomodar o processo de leitura e gravação, declare um cursor

3. Interações com o banco de dados

Objetos de conexão
NomeDescrição
.fechar()Fecha a conectividade estabelecida com o banco de dados
.commit ()Confirmar transações pendentes com o banco de dados
.rollback ()O consentimento desta transação reverterá para o início de uma transação pendente
.cursor()Um objeto representando o cursor é criado

Objetos de cursor Python

1) .execute ()

A instrução Sequel mencionada nesta função é executada.

Sintaxe

execute(sql, (parameters))

Exemplo

import sqlite3con = sqlite3.connect("UserDB")cur = con.cursor()cur.execute(" select * from emp ")print cur.fetchone()

2) .executemany ()

Para todos os parâmetros listados na sequência, a instrução SQL fornecida é executada

Sintaxe

executemany(sql, (parameters))

Exemplo

import sqlite3
def aplphabet_generator():
import string
for D in string.letters(:26):
yield (D, )
con = sqlite3.connect(":memory:")
cur = con.cursor()
cur.execute(" create table characters(
Aplphabet_Column ) ")
cur.executemany("insert into characters(
Aplhabet_Column ) values (?)", char_generator())
cur.execute(" select Aplhabet_Column from characters ")
print cur.fetchall()

3) .fetchone ()

Busque uma linha de uma saída da consulta.

Exemplo

import MySQLdb as my
try:
db = my.connect(host="129.0.0.1",
user="admin",
passwd="admin",
db="emp"
)
cursor = db.cursor()
sql = "select * from dept#1 where id < 10"
number_of_rows = cursor.execute(sql)
while True:
row = cursor.fetchone()
if row == None:
break
print(row)
db.close()

4) .fetchmany ()

Busque um conjunto específico de linhas de um resultado da consulta. o parâmetro especifica o número de linhas por chamada. O número de linhas que estão sendo buscadas depende em grande parte do tamanho da matriz envolvida do elemento cursor. Portanto, como o número de linhas indicado no parâmetro, o mesmo número de linhas deve ser buscado. Se isso não for possível devido às linhas específicas disponíveis, menos linhas poderão ser retornadas.

Exemplo

import MySQLdb as my
try:
db = my.connect(host="128.0.0.10",
user="admin",
passwd="admin",
db="emp"
)
cursor = db.cursor()
sql = "select * from dept_#1 where id < 10"
number_of_rows = cursor.execute(sql)
print(cursor.fetchmany(2)) # 2 row fetched
db.close()

5) .fetchall ()

Busque todas as linhas de uma consulta. essas linhas são retornadas em uma sequência. aqui o desempenho da busca pode ser afetado às vezes pela busca da matriz do cursor. Quando o tamanho da matriz do cursor é extremamente grande, a quantidade de tempo necessária para puxar as linhas também será comparativamente muito alta.

Exemplo

import MySQLdb as my
try:
db = my.connect(host="128.0.0.10",
user="admin",
passwd="admin",
db="emp"
)
cursor = db.cursor()
sql = "select * from dept_#1 where id < 10"
number_of_rows = cursor.execute(sql)
print(cursor.fetchall())
db.close()

6) Cursor.scroll (valor (, modo = 'relativo'))

Rola o cursor de acordo com o valor do modo mencionado. se o modo for relativo, o valor mencionado será considerado um deslocamento; no caso, se o modo for absoluto, o valor mencionado será a posição de destino.

  1. Cursor.next (): a próxima linha é retornada da posição da instrução de sequela atualmente em execução.
  2. Cursor. – iter– (): posiciona o cursor adequado ao protocolo de iteração.
  3. Cursor.lastrowid (): o ID da última linha modificada é retornado aqui.

Operações de banco de dados Python

As principais operações de qualquer banco de dados são inseridas, excluídas, atualizadas e selecionadas. todas essas operações CRUD também podem ser implícitas através do python. No python, operações obrigatórias como abrir e fechar as conexões com o banco de dados são realizadas pelo próprio python. Para todas as outras linguagens de programação, esses tipos de operações são executadas especificamente pelo desenvolvedor. O exemplo abaixo mostra a aplicação dessas operações.

Exemplo

import sqlite3
db=sqlite3.connect('test.db')
qry1="insert into student (name, age, marks) values(?, ?, ?);"
qry2="update student set age=? where name=?;"
qry3="SELECT * from student;"
qry4="DELETE from student where name=?;"
students=(('Amarh', 17, 20), ('Deepika', 45, 87)) try:
cur=db.cursor()
cur.executemany(qry1, students)
cur.execute(qry2, (19, 'Deepak'))
db.commit()
cur.execute(qry3)
print(" record updated!! ")
cur.execute(qry4, ('Bill', ))
db.commit()
print(" record deleted!! ")
except:
print(" error found")
db.rollback()
db.close()

Hierarquia de exceção do Python Db

  • Erro padrão
  • Atenção
  • Erro
  • InterfaceError
  • DatabaseError
  • Erro de dados
  • OperationalError
  • IntegrityError
  • Erro interno
  • ProgrammingError
  • NotSupportedError

Construtores orientados a banco de dados Python

  • Data (ano, mês, dia): cria um objeto com um valor de data
  • Hora (hora, minuto, segundo): cria um objeto com um valor de hora
  • Registro de data e hora (ano, mês, dia, hora, minuto, segundo): cria um objeto com o valor do registro de data e hora
  • Binário (string): um objeto python capaz de armazenar valores binários é construído
  • Tipo STRING: descreve todas as colunas que são do tipo string no banco de dados
  • NUMBER type: descreve todas as colunas que são do tipo numérico
  • Tipo DATETIME: menciona todas as colunas de tipo de data e hora presentes no banco de dados
  • Tipo ROWID: atinge a coluna de identificação de linha no banco de dados

Conclusão - Conexão com o banco de dados Python

Definitivamente, o Python se destaca por ser uma das interfaces de programação mais flexíveis para programação orientada a banco de dados. especialmente o conjunto classificado de APIs de banco de dados python torna a tarefa de se comunicar com os bancos de dados um processo eficiente, independentemente de qualquer banco de dados.

Artigos recomendados

Este é um guia para a conexão com o banco de dados Python. Aqui discutimos as etapas principais da conectividade do banco de dados e os benefícios do Python para programação de banco de dados. Você também pode consultar os seguintes artigos para saber mais -

  1. Fatorial em Python
  2. Operações de arquivo Python
  3. For Loop em Python
  4. Encapsulamento em Python
  5. Conjuntos Python
  6. Recursos do Python
  7. Programa fatorial em JavaScript
  8. Encapsulamento em JavaScript