English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SQLite3 pode ser usado sqlite3 módulo com o Python. sqlite3 módulo foi escrito por Gerhard Haring. Ele oferece suporte para a integração com o Python 249 descreve o DB-API 2interface de SQL compatível com a norma .0. Você não precisa instalar o módulo separadamente, porque o Python 2.5.x ou versões posteriores vêm com o módulo embutido por padrão.
Para usar sqlite3 O módulo, você deve primeiro criar um objeto de conexão que representa o banco de dados, e então você pode optar por criar um objeto cursor, que ajudará a executar todas as instruções SQL.
A seguir está o importante sqlite3 O módulo de programa pode atender às suas necessidades de banco de dados SQLite no Python. Se precisar de mais detalhes, consulte o Python sqlite3 Documentação oficial do módulo.
Número | API & Descrição |
---|---|
1 | sqlite3.connect(database [,timeout ,outros argumentos opcionais]) Este API abre uma conexão com o arquivo de banco de dados SQLite database. Você pode usar ":memory:" para abrir uma conexão com o banco de dados em RAM, em vez de no disco. Se o banco de dados for aberto com sucesso, uma conexão é retornada. Quando um banco de dados é acessado por várias conexões e uma delas modificar o banco de dados, o banco de dados SQLite é bloqueado até que a transação seja concluída. O parâmetro timeout indica o tempo de espera da conexão pelo bloqueio, até que uma exceção cause o encerramento da conexão. O valor padrão do parâmetro timeout é 5.0(5 segundos). Se o nome do banco de dados fornecido filename não existir, esta chamada criará um banco de dados. Se você não quiser criar um banco de dados no diretório atual, você pode especificar um nome de arquivo com caminho, permitindo que você crie um banco de dados em qualquer lugar. |
2 | connection.cursor([cursorClass]) Este procedimento cria um cursorserá usada na programação de banco de dados em Python. Este método aceita um único parâmetro opcional cursorClass. Se este parâmetro for fornecido, deve ser uma extensão de sqlite3.Cursor é uma classe de cursor personalizada. A classe cursor. |
3 | cursor.execute(sql [, parâmetros opcionais]) Este procedimento executa uma instrução SQL. A instrução SQL pode ser parametrizada (ou seja, usar placeholders em vez do texto SQL). sqlite3 O módulo suporta dois tipos de placeholders: o ponto de interrogação e o placeholder nomeado (estilo nomeado). Por exemplo: cursor.execute("insert into people values (?, ?)", (who, age)) |
4 | connection.execute(sql [, parâmetros opcionais]) Este procedimento é uma abreviação do método executado acima, fornecido pelo objeto cursor (cursor), que cria um objeto cursor intermediário através da chamada do método cursor (cursor) e chama o método execute do cursor com os parâmetros fornecidos. |
5 | cursor.executemany(sql, seq_of_parameters) Este procedimento executa um comando SQL em todos os parâmetros ou mapeamentos de seq_of_parameters. |
6 | connection.executemany(sql[, parameters]) Esta rotina é um atalho para um objeto cursor intermédio criado pela chamada do método cursor, que, em seguida, chama o método executemany do cursor com os parâmetros fornecidos. |
7 | cursor.executescript(sql_script) Esta rotina executa várias instruções SQL assim que recebe o script. Ela primeiro executa a instrução COMMIT, e em seguida, executa o script SQL passado como parâmetro. Todas as instruções SQL devem ser separadas por ponto e vírgula ;. |
8 | connection.executescript(sql_script) Esta rotina é um atalho para um objeto cursor intermédio criado pela chamada do método cursor, que, em seguida, chama o método executescript do cursor com os parâmetros fornecidos. |
9 | connection.total_changes() Esta rotina retorna o número total de linhas modificadas, inseridas ou excluídas desde que a conexão com o banco de dados foi aberta. |
10 | connection.commit() Este método submete a transação atual. Se você não chamar este método, qualquer ação feita desde a sua última chamada commit() não será visível para outras conexões de banco de dados. |
11 | connection.rollback() Este método desfaz as alterações feitas no banco de dados desde a última chamada commit(). |
12 | connection.close() Este método fecha a conexão com o banco de dados. Atente para que isso não chame automaticamente commit(). Se você não chamou o método commit() anteriormente, ao fechar a conexão com o banco de dados, todas as alterações que fez serão perdidas! |
13 | cursor.fetchone() Este método obtém a próxima linha do conjunto de resultados da consulta, retornando uma sequência única. Quando não há mais dados disponíveis, é retornado None. |
14 | cursor.fetchmany([size=cursor.arraysize]) Este método obtém o próximo grupo de linhas do conjunto de resultados da consulta, retornando uma lista. Quando não há mais linhas disponíveis, é retornada uma lista vazia. Este método tenta obter o maior número possível de linhas especificadas pelo parâmetro size. |
15 | cursor.fetchall() Esta rotina obtém todas as linhas (restantes) do conjunto de resultados da consulta, retornando uma lista. Quando não há mais linhas disponíveis, é retornada uma lista vazia. |
O código Python a seguir mostra como conectar-se a um banco de dados existente. Se o banco de dados não existir, ele será criado e, finalmente, será retornado um objeto do banco de dados.
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Banco de dados aberto com sucesso"
Aqui, você também pode copiar o nome do banco de dados para um nome específico :memory:Portanto, um banco de dados será criado na RAM. Agora, vamos executar o programa acima para criar nosso banco de dados no diretório atual test.db. Você pode alterar o caminho conforme necessário. Salve o código acima no arquivo sqlite.py e execute conforme mostrado a seguir. Se o banco de dados for criado com sucesso, a mensagem a seguir será exibida:
$chmod +x sqlite.py $./sqlite.py Banco de dados aberto com sucesso
O seguinte código Python será usado para criar uma tabela no banco de dados criado anteriormente:
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Banco de dados aberto com sucesso" c = conn.cursor() c.execute('''CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);''') print "Tabela criada com sucesso" conn.commit() conn.close()
Quando o programa acima for executado, ele criará o registro especificado na tabela COMPANY e exibirá as seguintes duas linhas: test.db Para criar a tabela COMPANY e exibir a mensagem a seguir:
Banco de dados aberto com sucesso Tabela criada com sucesso
O seguinte programa Python mostra como criar registros na tabela COMPANY criada anteriormente:
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') c = conn.cursor() print "Banco de dados aberto com sucesso" c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (1, 'Paul', 32, 'California', 20000.00 )") c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (2, 'Allen', 25, 'Texas', 15000.00 )") c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )") c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )") conn.commit() print "Registros criados com sucesso" conn.close()
Quando o programa acima for executado, ele criará o registro especificado na tabela COMPANY e exibirá as seguintes duas linhas:
Banco de dados aberto com sucesso Registros criados com sucesso
O seguinte programa Python mostra como obter e exibir registros da tabela COMPANY criada anteriormente:
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') c = conn.cursor() print "Banco de dados aberto com sucesso" cursor = c.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print "ID = ", row[0] print "NAME = ", row[1] print "ADDRESS = ", row[2] print "SALARY = ", row[3], \\n" print "Operação concluída com sucesso" conn.close()
Quando o programa acima é executado, ele produz os seguintes resultados:
Banco de dados aberto com sucesso ID = 1 NAME = Paul ADDRESS = California SALARY = 20000.0 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000.0 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000.0 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000.0 Operação concluída com sucesso
O seguinte código Python mostra como usar a instrução UPDATE para atualizar qualquer registro e, em seguida, obter e exibir os registros atualizados da tabela COMPANY:
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') c = conn.cursor() print "Banco de dados aberto com sucesso" c.execute("UPDATE COMPANY set SALARY = 25000.00 where ID="1) conn.commit() print "Número total de linhas atualizadas :", conn.total_changes cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print "ID = ", row[0] print "NAME = ", row[1] print "ADDRESS = ", row[2] print "SALARY = ", row[3], \\n" print "Operação concluída com sucesso" conn.close()
Quando o programa acima é executado, ele produz os seguintes resultados:
Banco de dados aberto com sucesso Número total de linhas atualizadas : 1 ID = 1 NAME = Paul ADDRESS = California SALARY = 25000.0 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000.0 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000.0 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000.0 Operação concluída com sucesso
O seguinte código Python mostra como usar a instrução DELETE para excluir qualquer registro e, em seguida, obter e exibir os registros restantes da tabela COMPANY:
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') c = conn.cursor() print "Banco de dados aberto com sucesso" c.execute("DELETE from COMPANY where ID="2; conn.commit() print "Número total de linhas deletadas :", conn.total_changes cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print "ID = ", row[0] print "NAME = ", row[1] print "ADDRESS = ", row[2] print "SALARY = ", row[3], \\n" print "Operação concluída com sucesso" conn.close()
Quando o programa acima é executado, ele produz os seguintes resultados:
Banco de dados aberto com sucesso Número total de linhas excluídas: 1 ID = 1 NAME = Paul ADDRESS = California SALARY = 20000.0 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000.0 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000.0 Operação concluída com sucesso