SQLite
 sql >> база данни >  >> RDS >> SQLite

SQLite Създаване на изглед

Резюме :в този урок ще научите как да използвате SQLite CREATE VIEW изявление за създаване на нов изглед в базата данни.

Какво е изглед

В теорията на базата данни изгледът е набор от резултати от съхранена заявка. Изгледът е начинът за пакетиране на заявка в наименуван обект, съхранен в базата данни.

Можете да получите достъп до данните на основните таблици чрез изглед. Таблиците, към които се отнася заявката в дефиницията на изгледа, се наричат ​​основни таблици.

Изгледът е полезен в някои случаи:

  • Първо, изгледите предоставят абстракционен слой върху таблици. Можете да добавяте и премахвате колоните в изгледа, без да докосвате схемата на основните таблици.
  • Второ, можете да използвате изгледи, за да капсулирате сложни заявки с обединения, за да опростите достъпа до данни.

Изгледът на SQLite е само за четене. Това означава, че не можете да използвате INSERT , DELETE и UPDATE оператори за актуализиране на данни в базовите таблици чрез изгледа.

SQLite CREATE VIEW изявление

За да създадете изглед, използвате CREATE VIEW изявление, както следва:

CREATE [TEMP] VIEW [IF NOT EXISTS] view_name[(column-name-list)]
AS 
   select-statement;Code language: SQL (Structured Query Language) (sql)

Първо посочете име за изгледа. IF NOT EXISTS опцията създава нов изглед само ако не съществува. Ако изгледът вече съществува, той не прави нищо.

Второ, използвайте TEMP или TEMPORARY опция, ако искате изгледът да се вижда само в текущата връзка с базата данни. Изгледът се нарича временен изглед и SQLite автоматично премахва временния изглед, когато връзката към базата данни е затворена.

Трето, посочете SELECT изявление за изгледа. По подразбиране колоните на изгледа произлизат от набора от резултати на SELECT изявление. Въпреки това, можете да присвоите имената на колоните на изгледа, които са различни от името на колоната на таблицата

SQLite CREATE VIEW примери

Нека вземем няколко примера за създаване на нов изглед с помощта на CREATE VIEW изявление.

1) Създаване на изглед за опростяване на сложна заявка

Следната заявка получава данни от tracks , albums , media_types и genres таблици в примерната база данни с помощта на клаузата за вътрешно свързване.

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)

Опитайте го

За да създадете изглед въз основа на тази заявка, използвате следния израз:

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)

Опитайте го

Отсега нататък можете да използвате следната проста заявка вместо сложната по-горе.

SELECT * FROM v_tracks;Code language: SQL (Structured Query Language) (sql)

Опитайте го

2) Създаване на изглед с персонализирани имена на колони

Следното изявление създава изглед с име v_albums който съдържа заглавието на албума и дължината на албума в минути:

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)

В този пример посочихме нови колони за изгледа AlbumTitle за albums.title колона и минути за израза SUM(milliseconds) / 60000

Тази заявка връща данни от v_albums изглед:

SELECT * FROM v_albums;Code language: SQL (Structured Query Language) (sql)

В този урок научихте за изгледите на база данни и как да използвате CREATE VIEW изявление за създаване на нови изгледи в SQLite.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sqlite:как да добавя общо време hh:mm:ss където типът данни на колоната е DATETIME?

  2. Актуализирайте с параметър, използвайки постоянна библиотека за стая

  3. Как да инсталирате SQLite и SQLite браузър в Ubuntu

  4. Опит за повторно отваряне на вече затворен обект sqlitedatabase

  5. Кога трябва да затворя курсор и db?