Resumo :neste tutorial, você aprenderá como usar o SQLite
CREATE VIEW
instrução para criar uma nova visão no banco de dados. O que é uma visualização
Na teoria de banco de dados, uma visão é um conjunto de resultados de uma consulta armazenada. Uma visualização é a maneira de empacotar uma consulta em um objeto nomeado armazenado no banco de dados.
Você pode acessar os dados das tabelas subjacentes por meio de uma exibição. As tabelas às quais a consulta na definição de exibição se refere são chamadas de tabelas base.
Uma visualização é útil em alguns casos:
- Primeiro, as visualizações fornecem uma camada de abstração sobre as tabelas. Você pode adicionar e remover as colunas na visualização sem tocar no esquema das tabelas subjacentes.
- Segundo, você pode usar visualizações para encapsular consultas complexas com junções para simplificar o acesso aos dados.
A visualização SQLite é somente leitura. Isso significa que você não pode usar
INSERT
, DELETE
e UPDATE
instruções para atualizar dados nas tabelas base por meio da exibição. SQLite CREATE VIEW
declaração
Para criar uma visualização, você usa o
CREATE VIEW
declaração da seguinte forma:CREATE [TEMP] VIEW [IF NOT EXISTS] view_name[(column-name-list)]
AS
select-statement;
Code language: SQL (Structured Query Language) (sql)
Primeiro, especifique um nome para a exibição. O
IF NOT EXISTS
A opção só cria uma nova visualização se ela não existir. Se a visão já existe, ela não faz nada. Segundo, use o
TEMP
ou TEMPORARY
opção se desejar que a visualização seja visível apenas na conexão de banco de dados atual. A exibição é chamada de exibição temporária e o SQLite remove automaticamente a exibição temporária sempre que a conexão com o banco de dados é fechada. Terceiro, especifique um
SELECT
declaração para a vista. Por padrão, as colunas da visualização derivam do conjunto de resultados do SELECT
demonstração. No entanto, você pode atribuir os nomes das colunas de exibição que são diferentes do nome da coluna da tabela SQLite CREATE VIEW
exemplos
Vamos dar alguns exemplos de criação de uma nova visualização usando o
CREATE VIEW
demonstração. 1) Criando uma visualização para simplificar uma consulta complexa
A consulta a seguir obtém dados das
tracks
, albums
, media_types
e genres
tabelas no banco de dados de amostra usando a cláusula de junção interna. SELECT
trackid,
tracks.name,
albums.Title AS album,
media_types.Name AS media,
genres.Name AS genres
FROM
tracks
INNER JOIN albums ON Albums.AlbumId = tracks.AlbumId
INNER JOIN media_types ON media_types.MediaTypeId = tracks.MediaTypeId
INNER JOIN genres ON genres.GenreId = tracks.GenreId;
Code language: SQL (Structured Query Language) (sql)
Tente
Para criar uma exibição com base nessa consulta, você usa a seguinte instrução:
CREATE VIEW v_tracks
AS
SELECT
trackid,
tracks.name,
albums.Title AS album,
media_types.Name AS media,
genres.Name AS genres
FROM
tracks
INNER JOIN albums ON Albums.AlbumId = tracks.AlbumId
INNER JOIN media_types ON media_types.MediaTypeId = tracks.MediaTypeId
INNER JOIN genres ON genres.GenreId = tracks.GenreId;
Code language: SQL (Structured Query Language) (sql)
Tente
A partir de agora, você pode usar a seguinte consulta simples em vez da complexa acima.
SELECT * FROM v_tracks;
Code language: SQL (Structured Query Language) (sql)
Tente
2) Criando uma visualização com nomes de coluna personalizados
A instrução a seguir cria uma visualização chamada
v_albums
que contém o título do álbum e a duração do álbum em minutos:CREATE VIEW v_albums (
AlbumTitle,
Minutes
)
AS
SELECT albums.title,
SUM(milliseconds) / 60000
FROM tracks
INNER JOIN
albums USING (
AlbumId
)
GROUP BY AlbumTitle;
Code language: SQL (Structured Query Language) (sql)
Neste exemplo, especificamos novas colunas para a visualização
AlbumTitle
para o albums.title
coluna e Minutos para a expressão SUM(milliseconds) / 60000
Esta consulta retorna dados do
v_albums
visualizar:SELECT * FROM v_albums;
Code language: SQL (Structured Query Language) (sql)
Neste tutorial, você aprendeu sobre visualizações de banco de dados e como usar o
CREATE VIEW
instrução para criar novas visualizações no SQLite.