SQLite Представления
Представление — это не что иное, как инструкция SQLite, хранящаяся в базе данных со связанным именем. Фактически представление — это комбинация таблиц в виде предопределённого запроса SQLite.
Представление может содержать все строки таблицы или выбранные строки из одной или нескольких таблиц. Представление можно создать из одной или нескольких таблиц в зависимости от SQLite-запроса, используемого для создания представления.
Представление — это виртуальная таблица, которая позволяет пользователям выполнять следующее:
Пользователи или группы пользователей могут находить структурированные данные более естественным или интуитивным способом.
Ограничивать доступ к данным, чтобы пользователи могли видеть только ограниченные данные, а не всю таблицу.
Обобщать данные из различных таблиц для формирования отчётов.
Представления SQLite доступны только для чтения, поэтому вы можете не иметь возможности выполнять операторы DELETE, INSERT или UPDATE для представления. Однако вы можете создать триггер для представления, который срабатывает при попытке выполнить DELETE, INSERT или UPDATE представления, а действия, которые должны быть выполнены, определяются в теле триггера.
Создание представления
Представления SQLite создаются с помощью оператораCREATE VIEW. Представления SQLite можно создавать из одной таблицы, нескольких таблиц или других представлений.
Базовый синтаксис CREATE VIEW выглядит следующим образом:
CREATE [TEMP | TEMPORARY] VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE [condition];
Вы можете включить несколько таблиц в оператор SELECT способом, очень похожим на обычный SQL-запрос SELECT. Если используется необязательное ключевое слово TEMP или TEMPORARY, представление будет создано во временной базе данных.
Примеры
Предположим, таблица COMPANY содержит следующие записи:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Теперь приведем пример создания представления из таблицы COMPANY. Представление выбирает только несколько столбцов из таблицы COMPANY:
sqlite> CREATE VIEW COMPANY_VIEW AS SELECT ID, NAME, AGE FROM COMPANY;
Теперь вы можете выполнять запросы к COMPANY_VIEW так же, как к обычной таблице. Ниже приведен пример:
sqlite> SELECT * FROM COMPANY_VIEW;
Это даст следующий результат:
ID NAME AGE ---------- ---------- ---------- 1 Paul 32 2 Allen 25 3 Teddy 23 4 Mark 25 5 David 27 6 Kim 22 7 James 24
Удаление представления
Чтобы удалить представление, просто используйте инструкцию DROP VIEWview_name. Базовый синтаксис DROP VIEW выглядит следующим образом:
sqlite> DROP VIEW view_name;
Следующая команда удалит представление COMPANY_VIEW, которое мы создали ранее:
sqlite> DROP VIEW COMPANY_VIEW;Другие расширения