En este artículo, discutiremos cómo verificar si existe una tabla en una base de datos SQLite utilizando el módulo sqlite3 de Python.
En una base de datos SQLite, los nombres de todas las tablas se incluyen en la tabla sqlite_master. Entonces, para verificar si una tabla existe o no, debemos verificar si el nombre de la tabla en particular está en la tabla sqlite_master o no.
Para realizar esta tarea, ejecute la siguiente consulta y guárdela en una variable.
SELECCIONE tableName DESDE sqlite_master DONDE type=’table’ AND tableName=’STUDENT’;
Luego use el método fetchall() en esa variable para generar una lista de tablas que contengan el nombre de lo que se encuentra. Si la lista está vacía, la tabla no existe en la base de datos.
Ejemplo: Primero, conectémonos a la base de datos SQLite g4gdata.db y luego creemos un objeto de cursor. Ahora, usando el objeto del cursor, ejecutamos algunas consultas para crear varias tablas: EMPLEADO, ESTUDIANTE, PERSONAL. Luego verificamos si la tabla ESTUDIANTE y PROFESOR existe en la base de datos g4gdata.db o no.
Python3
# import required module import sqlite3 # connect to database con = sqlite3.connect('g4gdata.db') # create cursor object cur = con.cursor() # create tables cur.execute( """CREATE TABLE EMPLOYEE(FIRST_NAME VARCHAR(255), LAST_NAME VARCHAR(255),AGE int, SEX CHAR(1), INCOME int);""") print('EMPLOYEE table created') cur.execute( """CREATE TABLE STUDENT(NAME VARCHAR(255),AGE int, SEX CHAR(1));""") print('STUDENT table created') cur.execute( """CREATE TABLE STAFF(NAME VARCHAR(255), INCOME int);""") print('STAFF table created') print() # check if table exists print('Check if STUDENT table exists in the database:') listOfTables = cur.execute( """SELECT tableName FROM sqlite_master WHERE type='table' AND tableName='STUDENT'; """).fetchall() if listOfTables == []: print('Table not found!') else: print('Table found!') # check if table exists print('Check if TEACHER table exists in the database:') listOfTables = cur.execute( """SELECT name FROM sqlite_master WHERE type='table' AND name='TEACHER'; """).fetchall() if listOfTables == []: print('Table not found!') else: print('Table found!') # commit changes con.commit() # terminate the connection con.close()
Producción:
Publicación traducida automáticamente
Artículo escrito por riturajsaha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA