Рубрики
Без рубрики

Python SQLite3 – проверьте, существует ли таблица

Автор оригинала: Python Examples.

Проверьте, существует ли таблица в базе данных SQLite3

Перед запуском запроса на столе вы можете проверить, присутствует ли таблица в базе данных SQLite3 или нет.

Чтобы проверить, существует ли таблица в базе данных Python SQLite3, вы можете запросить sqlite_master Таблица для имен таблиц, которые соответствуют вашему названию таблицы.

SQL Query.

Запрос SQL, чтобы проверить, присутствует ли таблица с заданным именем в базе данных или нет, приведена ниже.

SELECT name FROM sqlite_master WHERE type='table' AND name='table_name';

где table_name В той случае следует заменить предложение на ваше имя таблицы.

Из результатов этого запроса вы можете проверить, есть ли какие-либо строки, присутствующие в результате. Если в результате есть один ряд, то таблица существует.

Пример 1: Проверьте, существует ли таблица в SQLite3

В нашей предыдущей статье создайте таблицу в Python SQLite3, мы создали таблицу с именем студентов. Теперь в этом примере мы проверим, существует ли таблица программно.

Python Program

import sqlite3

conn = sqlite3.connect('mysqlite.db')
c = conn.cursor()
			
#get the count of tables with the name
c.execute(''' SELECT count(name) FROM sqlite_master WHERE type='table' AND name='students' ''')

#if the count is 1, then table exists
if c.fetchone()[0]==1 : {
	print('Table exists.')
}
			
#commit the changes to db			
conn.commit()
#close the connection
conn.close()

Выход

Table exists.

Пример 2: Проверьте, существует ли таблица в базе данных SQLite3 (отрицательный сценарий)

В этом примере мы собираемся проверить негативный сценарий, где таблица с именем манекен Нет в базе данных SQLite3, и мы собираемся проверить его программно.

Python Program

import sqlite3

conn = sqlite3.connect('mysqlite.db')
c = conn.cursor()
			
#get the count of tables with the name
c.execute(''' SELECT count(name) FROM sqlite_master WHERE type='table' AND name='students1' ''')

#if the count is 1, then table exists
if c.fetchone()[0]==1 : 
	print('Table exists.')
else :
	print('Table does not exist.')
			
#commit the changes to db			
conn.commit()
#close the connection
conn.close()

Выход

Table does not exist.

Проверьте, существует ли таблица в памяти (RAM)

Если вы проверяете существование таблицы в памяти (RAM), то в использовании запроса sqlite_temp_master вместо sqlite_master Отказ Образец запроса дается входит.

SELECT name FROM sqlite_temp_master WHERE type='table' AND name='table_name';

Резюме

В этом руководстве примеров Python мы узнали, как проверить, существует ли данная таблица в базе данных SQLite3 или нет.