In [10]:
#importando o sqlite
import sqlite3
import random
import datetime
import time
import matplotlib.pyplot as plt
%matplotlib notebook

#criando uma conexão
conn = sqlite3.connect('dsa.db')

#criando um cursor
c = conn.cursor()

#Função para criar tabela
def create_table():
    c.execute('CREATE TABLE  IF NOT  EXISTS produtos (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, date TEXT,'\
             'prod_name TEXT,valor REAL )')
    
#Função para inserir uma linha
def data_insert():
    c.execute("INSERT INTO produtos VALUES(10,'2017-09-21 09:32:11','Teclado',90)")
    print("Dados inseridos")
    conn.commit()
    c.close()
    conn.close()

#função para inserir no banco com variável
def data_insert_var():
    new_date= datetime.datetime.now()
    new_prod_name = "monitor"
    new_valor = random.randrange(50,100)
    c.execute("INSERT INTO produtos (date, prod_name, valor ) VALUES(?,?,?)",(new_date,new_prod_name, new_valor))
    print("Dados inseridos com sucesso")
    conn.commit()

#função para leitura
def leitura_todos_dados():
    c.execute("SELECT * FROM produtos")
    for linha in c.fetchall():
        print(linha)

#leitura  de registro  específicos 
def leitura_registros():
    c.execute("SELECT * FROM  produtos WHERE  valor > 80.0")
    for linha  in c.fetchall():
        print(linha)
        
#leitura de coluna específica
def leitura_colunas():
    c.execute("SELECT * FROM produtos")
    for linha in c.fetchall():
        print(linha[3])
    
#update
def atualiza_dados():
    c.execute("UPDATE produtos SET valor = 70.0 WHERE valor  > 80.0")
    conn.commit()

#delete
def remove_dados():
        c.execute("DELETE FROM produtos WHERE  valor < 70.0")
        conn.commit()

#função para criação de gráficos
def dados_grafico():
     c.execute("SELECT id, valor FROM produtos") 
     ids=[]
     valores=[]
     dados= c.fetchall()
     for linha in dados:
        ids.append(linha[0])
        valores.append(linha[1])
        
     plt.bar(ids,valores)
     plt.show()

In [3]:
#criando a tabela
create_table()

In [5]:
#inserindo dados
data_insert()


Dados inseridos

In [3]:
#gerando valores  e inserindo  na tabela
for i in  range(10):
    data_insert_var()
    time.sleep(1)


Dados inseridos com sucesso
Dados inseridos com sucesso
Dados inseridos com sucesso
Dados inseridos com sucesso
Dados inseridos com sucesso
Dados inseridos com sucesso
Dados inseridos com sucesso
Dados inseridos com sucesso
Dados inseridos com sucesso
Dados inseridos com sucesso

In [12]:
leitura_todos_dados()


(10, u'2017-09-21 09:32:11', u'Teclado', 90.0)
(11, u'2017-09-21 09:54:57.058000', u'monitor', 63.0)
(12, u'2017-09-21 09:54:58.239000', u'monitor', 86.0)
(13, u'2017-09-21 09:54:59.355000', u'monitor', 53.0)
(14, u'2017-09-21 09:55:00.482000', u'monitor', 70.0)
(15, u'2017-09-21 09:55:01.576000', u'monitor', 67.0)
(16, u'2017-09-21 09:55:02.718000', u'monitor', 75.0)
(17, u'2017-09-21 09:55:03.802000', u'monitor', 68.0)
(18, u'2017-09-21 09:55:04.932000', u'monitor', 62.0)
(19, u'2017-09-21 09:55:06.020000', u'monitor', 76.0)
(20, u'2017-09-21 09:55:07.139000', u'monitor', 76.0)

In [6]:
leitura_registros()


(10, u'2017-09-21 09:32:11', u'Teclado', 90.0)
(12, u'2017-09-21 09:54:58.239000', u'monitor', 86.0)

In [17]:
leitura_colunas()


70.0
63.0
70.0
53.0
70.0
67.0
75.0
68.0
62.0
76.0
76.0

In [16]:
atualiza_dados()

In [18]:
remove_dados()

In [19]:
leitura_colunas()


70.0
70.0
70.0
75.0
76.0
76.0

In [11]:
dados_grafico()



In [ ]:
#Encerrando  a conexão
c.close()
conn.close()