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 dados | APIs de banco de dados Python |
MYSQL | MySQLdb |
PostgreSQL | psycopg, PyGresQL e pyPgSQL |
Oráculo | dc_oracle2 e cx_oracle |
DB2 | Pydb2 |
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 | |
Nome | Descriçã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.
- Cursor.next (): a próxima linha é retornada da posição da instrução de sequela atualmente em execução.
- Cursor. – iter– (): posiciona o cursor adequado ao protocolo de iteração.
- 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 -
- Fatorial em Python
- Operações de arquivo Python
- For Loop em Python
- Encapsulamento em Python
- Conjuntos Python
- Recursos do Python
- Programa fatorial em JavaScript
- Encapsulamento em JavaScript