Anúncios

neste capítulo, você irá aprender como usar o SQLite em programas Python.

Instalação

SQLite3 pode ser integrado com Python usando o módulo sqlite3, que foi escrito por Gerhard Haring. Ele fornece uma interface SQL em conformidade com a especificação DB-API 2.0 descrita pelo PEP 249. Você não precisa instalar este módulo separadamente, porque ele é enviado por padrão, juntamente com a versão 2.5 Python.X em frente.,

para usar o módulo sqlite3, você precisa primeiro criar um objeto de conexão que representa a base de dados e então opcionalmente você pode criar um objeto de cursor, que irá ajudá-lo a executar todas as declarações SQL.

Python sqlite3 module APIs

Following are important sqlite3 module routines, which can sufferent your requirement to work with SQLite database from your Python program. Se você está procurando por uma aplicação mais sofisticada, então você pode olhar para a documentação oficial do módulo Python sqlite3.

conexão.cursor ()

Esta rotina cria um cursor que será usado em toda a sua programação de base de dados com Python., Este método aceita um único parâmetro opcional cursorClass. Se for fornecida, esta deverá ser uma classe de cursor personalizada que Extenda o sqlite3.Cursor.

connection.,execute (sql )

Esta rotina é um atalho do método de execução acima indicado pelo objecto do cursor e cria um objecto de cursor intermédio ao chamar o método do cursor, depois chama o método de execução do cursor com os parâmetros indicados.

Conexão.,executemany (sql)

Esta rotina é um atalho que cria um objecto de cursor intermédio ao chamar o método do cursor, depois chama o cursor.s executemany method with the parameters given.

Conexão.,executescript (sql_script)

Esta rotina é um atalho que cria um objecto cursor intermediário, chamando o método do cursor, e depois chama o método executescript do cursor com os parâmetros indicados.

Conexão.total_changes ()

Esta rotina devolve o número total de linhas da base de dados que foram modificadas, inseridas ou apagadas desde que a ligação à base de dados foi aberta.

Conexão.commit ()

este método compromete a transacção actual., Se você não chamar este método, qualquer coisa que você fez desde a última chamada para commit() não é visível a partir de outras conexões de banco de dados.

Conexão.rollback ()

este método anula quaisquer alterações à base de dados desde a última chamada para commit().

ligação.fechar ()

este método fecha a ligação à base de dados. Note que isto não liga automaticamente ao commit (). Se você apenas fechar sua conexão de banco de dados sem chamar o commit () primeiro, suas alterações serão perdidas!

Sr.No., API & Descrição
1

sqlite3.connect (base de dados )

Esta API abre uma ligação ao ficheiro de base de dados SQLite. Você pode usar”: memory: “para abrir uma conexão de banco de dados a um banco de dados que reside em RAM em vez de no disco. Se a base de dados for aberta com sucesso, devolve um objecto de ligação.

Quando um banco de dados é acessado por múltiplas conexões, e um dos processos modifica o banco de dados, o banco de dados SQLite é bloqueado até que a transação seja comprometida., O parâmetro tempo-limite especifica quanto tempo a conexão deve esperar para que o bloqueio desapareça até criar uma exceção. O valor por omissão para o parâmetro tempo-limite é 5, 0 (cinco segundos).

Se o nome da base de dados não existir, então esta chamada irá criar a base de dados. Você pode especificar o nome do ficheiro com a localização necessária, bem como se você quiser criar uma base de dados em qualquer outro lugar, exceto no diretório atual.

2
3

cursor.execute (sql )

Esta rotina executa uma instrução SQL. A declaração SQL pode ser parametrizada (isto é, substituições em vez de literais SQL). O módulo sqlite3 suporta dois tipos de substituições: pontos de interrogação e substituições nomeadas (nome do estilo).

por exemplo − cursor.executar (“inserir nos valores das pessoas (?, ?) “, (who, age)

4
5

cursor.executemany (sql, seq_of_parameters)

Esta rotina executa um comando SQL contra todas as sequências de parâmetros ou mapeamentos encontrados na sequência sql.

6
7

cursor.executescript (sql_script)

Esta rotina executa múltiplas declarações SQL de uma vez, fornecidas na forma de script. Ele emite uma declaração de COMMIT primeiro, em seguida, executa o script SQL que recebe como um parâmetro. Todas as declarações SQL devem ser separadas por um ponto semi (;).

8
9
10
11
12
13

cursor.,fetchone ()

Este método obtém a próxima linha de um conjunto de resultados da consulta, retornando uma única sequência, ou nenhuma, quando não há mais dados disponíveis.

14

cursor.fetchmany ()

Esta rotina obtém o próximo conjunto de linhas do resultado de uma consulta, retornando uma lista. É devolvida uma lista vazia quando não estiverem disponíveis mais linhas. O método tenta obter o número de linhas indicado pelo parâmetro tamanho.

15

cursor.fetchall ()

Esta rotina obtém todas (restantes) linhas de um resultado de pesquisa, retornando uma lista., É devolvida uma lista em branco quando não estiverem disponíveis linhas.

ligar à base de dados

a seguir ao código Python mostra como se ligar a uma base de dados existente. Se o banco de dados não existir, então ele será criado e, finalmente, um objeto de banco de dados será devolvido.

#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully";

Aqui, você também pode fornecer o nome da base de dados como o nome especial :memória: para criar uma base de dados em RAM. Agora, vamos executar o programa acima para criar o nosso teste de banco de dados.db na pasta actual. Você pode mudar o seu caminho de acordo com a sua exigência., Manter o código acima em sqlite.py file e execute-o como mostrado abaixo. Se o banco de dados for criado com sucesso, então ele irá exibir a seguinte mensagem.

$chmod +x sqlite.py$./sqlite.pyOpen database successfully

crie uma tabela

seguindo o programa Python será usado para criar uma tabela na base de dados criada anteriormente.

Quando o programa acima é executado, ele irá criar a tabela da empresa em seu teste.,db and it will display the following messages –

Opened database successfullyTable created successfully

INSERT Operation

Following Python program shows how to create records in the COMPANY table created in the above example.

Quando o programa acima é executado, ele irá criar o dado registros na tabela da EMPRESA e ele irá exibir as seguintes duas linhas:

Opened database successfullyRecords created successfully

SELECCIONE a Operação

o Seguinte programa Python mostra como buscar e exibir registros da COMPANHIA a tabela criada no exemplo acima.,

Quando o programa acima é executado, ele irá produzir o seguinte resultado.

actualizar a operação

a seguir ao código Python mostra como usar a declaração de actualização para actualizar qualquer registo e depois obter e mostrar os registos actualizados a partir da tabela da empresa.

Quando o programa acima é executado, ele irá produzir o seguinte resultado.

Opened database successfullyTotal number of rows updated : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 25000.0ID = 2NAME = AllenADDRESS = TexasSALARY = 15000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully

DELETE Operation

seguindo o código Python mostra como usar a instrução DELETE para apagar qualquer registro e, em seguida, obter e exibir os registros restantes da tabela da empresa.,

When the above program is executed, it will produce the following result.

Opened database successfullyTotal number of rows deleted : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 20000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully
Advertisements

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *