Las bases de datos ofrecen numerosas funcionalidades mediante las cuales se pueden administrar grandes cantidades de información fácilmente a través de la web, y la entrada y salida de datos de gran volumen en un archivo típico, como un archivo de texto. SQL es un lenguaje de consulta y es muy popular en las bases de datos. Muchos sitios web usan MySQL. SQLite es una versión «ligera» que funciona con una sintaxis muy similar a SQL.
SQLite es un motor de base de datos SQL autónomo, de alta confiabilidad, integrado, con todas las funciones y de dominio público. Es el motor de base de datos más utilizado en la red mundial.
Python tiene una biblioteca para acceder a bases de datos SQLite, llamada sqlite3, destinada a trabajar con esta base de datos que se incluye con el paquete Python desde la versión 2.5.
En este artículo, discutiremos cómo consultar la base de datos usando comandos como Actualizar y Eliminar y también cómo visualizar datos a través de gráficos.
Se recomienda pasar por SQL usando Python | Serie 1
Operación de actualización y eliminación
# code for update operation import sqlite3 # database name to be passed as parameter conn = sqlite3.connect('mydatabase.db') # update the student record conn.execute("UPDATE Student SET name = 'Sam' where unix='B113059'") conn.commit() print "Total number of rows updated :", conn.total_changes cursor = conn.execute("SELECT * FROM Student") for row in cursor: print row, conn.close()
Producción:
Total number of rows updated : 1 (u'B113053', u'Geek', u'2017-01-11 13:53:39', 21.0), (u'B113058', u'Saan', u'2017-01-11 13:53:39', 21.0), (u'B113059', u'Sam', u'2017-01-11 13:53:39', 22.0)
# code for delete operation import sqlite3 # database name to be passed as parameter conn = sqlite3.connect('mydatabase.db') # delete student record from database conn.execute("DELETE from Student where unix='B113058'") conn.commit() print "Total number of rows deleted :", conn.total_changes cursor = conn.execute("SELECT * FROM Student") for row in cursor: print row, conn.close()
Producción:
Total number of rows deleted : 1 (u'B113053', u'Geek', u'2017-01-11 13:53:39', 21.0), (u'B113059', u'Sam', u'2017-01-11 13:53:39', 22.0)
Entrada de datos por el usuario
# code for executing query using input data import sqlite3 # creates a database in RAM con = sqlite3.connect(":memory:") cur = con.cursor() cur.execute("create table person (name, age, id)") print ("Enter 5 students names:") who = [raw_input() for i in range(5)] print ("Enter their ages respectively:") age = [int(raw_input()) for i in range(5)] print ("Enter their ids respectively:") p_id = [int(raw_input()) for i in range(5)] n = len(who) for i in range(n): # This is the q-mark style: cur.execute("insert into person values (?, ?, ?)", (who[i], age[i], p_id[i])) # And this is the named style: cur.execute("select * from person") # Fetches all entries from table print cur.fetchall()
Producción:
(u'Navin', 34, 113053) (u'Basu', 42, 113058) (u'Firoz', 65, 113059) (u'Tim', 47, 113060) (u'Varun', 54, 113061)
Graficando con SQLite
# graph visualization using matplotlib library import matplotlib.pyplot as plt def graph_data(p_id,age): # plotting the points plt.plot(p_id, age, color='yellow', linestyle='dashed', linewidth = 3, marker='*', markerfacecolor='blue', markersize=12) # naming the x axis plt.xlabel('Persons Id') # naming the y axis plt.ylabel('Ages') # plt.plot(p_id,age) plt.show() print ("Enter 5 students names:") who = [raw_input() for i in range(5)] print ("Enter their ages respectively:") age = [int(raw_input()) for i in range(5)] print ("Enter their ids respectively:") p_id = [int(raw_input()) for i in range(5)] # calling graph function graph_data(p_id,age)
De esta manera, podemos realizar dichas operaciones utilizando consultas SQL para comunicarnos con la base de datos y trazar un gráfico de manera significativa para dibujar su característica.
SQL usando Python | Establecer 1
SQL usando Python | Conjunto 3 (Manejo de datos grandes)
Publicación traducida automáticamente
Artículo escrito por AFZAL ANSARI y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA