SQL usando Python

En este artículo, se analiza la integración de SQLite3 con Python. Aquí discutiremos todas las operaciones CRUD en la base de datos SQLite3 usando Python. CRUD contiene cuatro operaciones principales: 

CRUD operations SQLite3 and Python

Nota: Esto requiere una comprensión básica de SQL

Aquí, vamos a conectar SQLite con Python. Python tiene una biblioteca nativa para SQLite3 llamada sqlite3 . Vamos a explicar cómo funciona. 

Conexión a la base de datos SQLite

  • Para usar SQLite, debemos importar sqlite3 .
import sqlite3
  • Luego cree una conexión usando el método connect() y pase el nombre de la base de datos a la que desea acceder si hay un archivo con ese nombre, abrirá ese archivo. De lo contrario, Python creará un archivo con el nombre dado.
sqliteConnection = sqlite3.connect('gfg.db')
  • Después de esto, se llama a un objeto cursor para que sea capaz de enviar comandos al SQL. 
cursor = sqliteConnection.cursor()

Ejemplo: Conexión a la base de datos SQLite3 usando Python

Python3

import sqlite3
 
# connecting to the database
connection = sqlite3.connect("gfg.db")
 
# cursor
crsr = connection.cursor()
 
# print statement will execute if there
# are no errors
print("Connected to the database")
 
# close the connection
connection.close()

Producción:

Connected to the database

Objeto Cursor

Antes de continuar con SQLite3 y Python, analicemos brevemente el objeto cursor

  • El objeto cursor se utiliza para realizar la conexión para ejecutar consultas SQL.
  • Actúa como middleware entre la conexión de la base de datos SQLite y la consulta SQL. Se crea después de dar conexión a la base de datos SQLite. 
  • El cursor es una estructura de control utilizada para recorrer y recuperar los registros de la base de datos. 
  • Todos los comandos se ejecutarán usando solo el objeto del cursor.

Ejecución de consultas SQLite3: creación de tablas

Después de conectarnos a la base de datos y crear el objeto cursor, veamos cómo ejecutar las consultas.

  • Para ejecutar una consulta en la base de datos, cree un objeto y escriba el comando SQL en él con comentarios. Ejemplo:- sql_comm = ”Declaración SQL”
  • Y ejecutar el comando es muy fácil. Llame al método del cursor ejecutar() y pase el nombre del comando sql como parámetro en él. Guarde varios comandos como sql_comm y ejecútelos. Después de realizar todas sus actividades, guarde los cambios en el archivo confirmando esos cambios y luego pierda la conexión. 

Ejemplo: Creación de tablas SQLite3 usando Python

En este ejemplo, crearemos las tablas SQLite3 usando Python . El comando SQL estándar se utilizará para crear las tablas.

Python

import sqlite3
 
# connecting to the database
connection = sqlite3.connect("gfg.db")
 
# cursor
crsr = connection.cursor()
 
# SQL command to create a table in the database
sql_command = """CREATE TABLE emp (
staff_number INTEGER PRIMARY KEY,
fname VARCHAR(20),
lname VARCHAR(30),
gender CHAR(1),
joining DATE);"""
 
# execute the statement
crsr.execute(sql_command)
 
# close the connection
connection.close()

Producción:

python sqlite3 create table

Insertar en la tabla

Para insertar datos en la tabla, escribiremos nuevamente el comando SQL como una string y usaremos el método execute().

Ejemplo 1: Insertar datos en la tabla SQLite3 usando Python

Python3

# Python code to demonstrate table creation and
# insertions with SQL
 
# importing module
import sqlite3
 
# connecting to the database
connection = sqlite3.connect("gfg.db")
 
# cursor
crsr = connection.cursor()
 
# SQL command to insert the data in the table
sql_command = """INSERT INTO emp VALUES (23, "Rishabh",\
"Bansal", "M", "2014-03-28");"""
crsr.execute(sql_command)
 
# another SQL command to insert the data in the table
sql_command = """INSERT INTO emp VALUES (1, "Bill", "Gates",\
"M", "1980-10-28");"""
crsr.execute(sql_command)
 
# To save the changes in the files. Never skip this.
# If we skip this, nothing will be saved in the database.
connection.commit()
 
# close the connection
connection.close()

Producción:

python sqlite3 insert data

Ejemplo 2: Inserción de entrada de datos por parte del usuario

Python3

# importing module
import sqlite3
 
# connecting to the database
connection = sqlite3.connect("gfg.db")
 
# cursor
crsr = connection.cursor()
 
# primary key
pk = [2, 3, 4, 5, 6]
 
# Enter 5 students first names
f_name = ['Nikhil', 'Nisha', 'Abhinav', 'Raju', 'Anshul']
 
# Enter 5 students last names
l_name = ['Aggarwal', 'Rawat', 'Tomar', 'Kumar', 'Aggarwal']
 
# Enter their gender respectively
gender = ['M', 'F', 'M', 'M', 'F']
 
# Enter their jpining data respectively
date = ['2019-08-24', '2020-01-01', '2018-05-14', '2015-02-02', '2018-05-14']
 
for i in range(5):
 
    # This is the q-mark style:
    crsr.execute('INSERT INTO emp VALUES ({pk[i]}, "{f_name[i]}", "{l_name[i]}", "{gender[i]}", "{date[i]}")')
 
# To save the changes in the files. Never skip this.
# If we skip this, nothing will be saved in the database.
connection.commit()
 
# close the connection
connection.close()

Producción:

insert into table python sqlite3

Recuperacion de datos

En esta sección, hemos discutido cómo crear una tabla y cómo agregar nuevas filas en la base de datos. Obtener los datos de los registros es tan simple como insertarlos. El método de ejecución utiliza el comando SQL para obtener todos los datos de la tabla usando «Seleccionar * de table_name» y todos los datos de la tabla se pueden recuperar en un objeto en forma de lista de listas.

Ejemplo: lectura de datos de la tabla sqlite3 usando Python

Python

# importing the module
import sqlite3
 
# connect withe the myTable database
connection = sqlite3.connect("gfg.db")
 
# cursor object
crsr = connection.cursor()
 
# execute the command to fetch all the data from the table emp
crsr.execute("SELECT * FROM emp")
 
# store all the fetched data in the ans variable
ans = crsr.fetchall()
 
# Since we have already selected all the data entries
# using the "SELECT *" SQL command and stored them in
# the ans variable, all we need to do now is to print
# out the ans variable
for i in ans:
    print(i)

Producción:

fetch data python sqlite3

Nota: Cabe señalar que el archivo de base de datos que se creará estará en la misma carpeta que el archivo python. Si deseamos cambiar la ruta del archivo, cambie la ruta mientras abre el archivo.

Actualización de datos

Para actualizar los datos en la tabla SQLite3 usaremos la instrucción UPDATE. Podemos actualizar columnas individuales, así como múltiples columnas usando la instrucción UPDATE según nuestro requisito.

UPDATE table_name SET column1 = value1, column2 = value2,…  
WHERE condition; 

En la sintaxis anterior, la declaración SET se usa para establecer nuevos valores en la columna en particular, y la cláusula WHERE se usa para seleccionar las filas para las que se necesitan actualizar las columnas. 

Ejemplo: actualizar la tabla SQLite3 usando Python

Python3

# Import module
import sqlite3
 
# Connecting to sqlite
conn = sqlite3.connect('gfg.db')
 
# Creating a cursor object using
# the cursor() method
cursor = conn.cursor()
 
# Updating
cursor.execute('''UPDATE emp SET lname = "Jyoti" WHERE fname="Rishabh";''')
 
# Commit your changes in the database
conn.commit()
 
# Closing the connection
conn.close()

Producción:

update sqlite3 table using Python

Eliminación de datos

Para eliminar los datos de la tabla SQLite3, podemos usar el comando eliminar. 

DELETE FROM table_name [WHERE Clause]

Ejemplo: Eliminación de la tabla SQLite3 usando Python

Python3

# Import module
import sqlite3
 
# Connecting to sqlite
conn = sqlite3.connect('gfg.db')
 
# Creating a cursor object using
# the cursor() method
cursor = conn.cursor()
 
# Updating
cursor.execute('''DELETE FROM emp WHERE fname="Rishabh";''')
 
# Commit your changes in the database
conn.commit()
 
# Closing the connection
conn.close()

Producción:

Deleting from SQLite3 table using Python

Eliminación de tabla

DROP se utiliza para eliminar toda la base de datos o una tabla. Eliminó ambos registros en la tabla junto con la estructura de la tabla.

Sintaxis: 

DROP TABLE TABLE_NAME;

Ejemplo: Suelte la tabla SQLite3 usando Python

Tablas totales en gfg.db antes de soltar

drop sqlite3 table using Python

Ahora eliminemos la tabla Student y luego revisemos nuevamente la tabla total en nuestra base de datos.

Python3

# Import module
import sqlite3
 
# Connecting to sqlite
conn = sqlite3.connect('gfg.db')
 
# Creating a cursor object using
# the cursor() method
cursor = conn.cursor()
 
# Updating
cursor.execute('''DROP TABLE Student;''')
 
# Commit your changes in the database
conn.commit()
 
# Closing the connection
conn.close()

Producción:

Dropping SQLite3 table using Python

Nota: Para obtener más información sobre SQLit3 con Python, consulte nuestro Tutorial de Python SQLite3

Este artículo es una contribución de Rishabh Bansal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *