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

Използване на изгледи на MySQL

Тази статия описва как да създавате и използвате MySQL изгледи във вашия A2 хостинг акаунт. Изгледите всъщност не съхраняват никакви данни. Вместо това те съхраняват предварително дефинирани заявки, които връщат набор от резултати. Тъй като изгледите на MySQL изглеждат и функционират като обикновени таблици, понякога се наричат ​​виртуални таблици .

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

Създаване и използване на изгледи

Можете да създавате и използвате изгледи на всеки A2 хостинг сървър, който използва MySQL.

Настройване на тестова база данни

За да демонстрираме основен пример с помощта на изгледи, нека започнем със създаване на база данни за целите на тестването. В следния SQL израз заменете потребителско име с потребителското име на вашия акаунт:

СЪЗДАВАНЕ НА БАЗА ДАННИ потребителско име _тест;
Можете да изпълните предишната SQL команда (и следващите SQL команди) от командния ред с помощта на инструмента MySQL или във вашия уеб браузър с помощта на phpMyAdmin.

Ако използвате phpMyAdmin, щракнете върху името потребителско име _test, за да изберете базата данни. В противен случай, ако използвате програмата от командния ред mysql, въведете следния SQL израз:

ИЗПОЛЗВАЙТЕ потребителско име _тест;

След това създайте таблица в потребителското име _теста база данни с име продукти . За да направите това, изпълнете следния SQL оператор:

CREATE TABLE продукти (prod_id INT NOT NULL AUTO_INCREMENT, prod_name VARCHAR(20) NOT NULL, prod_cost FLOAT NOT NULL DEFAULT 0.0, prod_price FLOAT NOT NULL DEFAULT 0.0, PRIMARY KEY) 

Следният SQL израз добавя някои примерни данни към продуктите таблица:

INSERT INTO products (prod_name, prod_cost, prod_price) VALUES ('Basic Widget',5.95,8.35),('Micro Widget',0.95,1.35),('Mega Widget',99.95,140.00);
ВЪВЕТЕ В продукти (prod_name, prod_cost, prod_price)>
Създаване на изгледа

Сега, когато имаме база данни и таблица, с които да работим, сме готови да създадем прост изглед. Нека създадем изглед с име minimumPriceView . Този изглед връща набор от данни за всички продукти, чиято цена е по-голяма от 1,00 (в долари, евро или каквато и да е валутна единица, с която работим).

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

СЪЗДАВАНЕ НА ПРЕГЛЕД minimalPriceView КАТО ИЗБЕРЕТЕ prod_name ОТ продукти КЪДЕ prod_cost> 1,00;

Както можете да видите, основният синтаксис за създаване на изглед е CREATE VIEW name КАТО заявка . Заменете име с името на изгледа и заменете заявка със SQL заявката, която искате да използвате.

Ако погледнете списък с таблиците в базата данни, ще видите minimumPriceView изглед, изброен до другите таблици. Не забравяйте обаче, че изгледите са виртуални таблици, съдържащи заявки. Те не съдържат никакви реални данни.
Използване на изгледа

Вече можете да използвате minimumPriceView преглед в заявка:

ИЗБЕРЕТЕ * ОТ minimumPriceView;

Този SQL оператор връща следните резултати:

+--------------+| prod_name |+--------------+| Основна джаджа || Mega Widget |+--------------+2 реда в комплект (0,00 сек)

minimumPriceView view свърши цялата работа зад кулисите, като извади продуктите, чиято цена надвишава стойността 1,00. Въпреки че това е много прост пример за изглед, можете да използвате същите техники във вашите собствени бази данни, за да изградите по-сложни изгледи.

Повече информация

  • За повече информация относно изгледите на MySQL, моля, посетете http://dev.mysql.com/doc/refman/5.0/en/views.html.
  • За повече информация относно СЪЗДАВАНЕ НА ИЗГЛЕД изявление, моля, посетете http://dev.mysql.com/doc/refman/5.0/en/create-view.html.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SELECT / GROUP BY - сегменти от време (10 секунди, 30 секунди и т.н.)

  2. mysqli_query() очаква поне 2 параметъра, 1 е даден?

  3. Как да изтрия от select в MySQL?

  4. Пивотни таблици в MySQL

  5. Как да изоставам колоните в MySQL?