Коришћење МиСКЛ погледа на Дебиан 7

Коришћење МиСКЛ погледа на Дебиан 7

Увод

МиСКЛ има одличну функцију познату као "прегледи". Прегледи су сачувани упити. Замислите их као псеудоним за иначе дуг упит. У овом водичу ћу вам показати како да користите приказе за ефикасније организовање података.

Предуслови

  • Вултр ССД сервер у облаку са Дебианом 7.
  • Корисник са администраторским (роот) привилегијама.
  • Основно познавање Линук-а, командне линије и ССХ-а.

Први корак - Инсталирајте МиСКЛ сервер

Инсталирање МиСКЛ-а на Дебиан 7.к је врло једноставно. Прво, морамо осигурати да се наши извори ажурирају извршавањем:

sudo apt-get update

Затим можемо да инсталирамо МиСКЛ сервер:

sudo apt-get install -y mysql-server

Приказаће се оквир за дијалог у којем ће се тражити да креирате лозинку за "роот" корисника. Будите сигурни да запамтите ову лозинку.

Хајде да појачамо сигурност наше инсталације тако што ћемо извршити:

sudo mysql_secure_installation

Након извршења, биће вам представљен низ упита. Сваки од одговора које треба да изаберете приказан је испод.

...
Enter current password for root (enter for none):
OK, successfully used password, moving on...
...
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
...
Remove anonymous users? [Y/n] y
 ... Success!
...
Disallow root login remotely? [Y/n] y
 ... Success!
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
...
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...

Други корак - Инсталирајте узорак базе података

У овом тренутку немамо података на серверу са којима бисмо могли да експериментишемо. За овај водич користићемо базу података запослених јер је са њом лако радити и која је слободно доступна на МиСКЛ веб локацији.

sudo wget https://launchpad.net/test-db/employees-db-1/1.0.6/+download/employees_db-full-1.0.6.tar.bz2

Морамо да инсталирамо bzip2да бисмо могли да издвојимо датотеку.

sudo apt-get install bzip2

Извуците базу података. Датотека је прилично велика, тако да може потрајати неколико тренутака.

sudo bzip2 -dfv employees_db-full-1.0.6.tar.bz2
sudo tar -xf employees_db-full-1.0.6.tar

Када се датотека екстрахује, имаћете фасциклу под називом employees_db. Морамо да одемо у овај директоријум да бисмо инсталирали базу података.

cd employees_db 
ls -l

Излаз ће изгледати овако:

-rw-r--r--. 1 501 games       752 Mar 30  2009 Changelog
-rw-r--r--. 1 501 games      6460 Oct  9  2008 employees_partitioned2.sql
-rw-r--r--. 1 501 games      7624 Feb  6  2009 employees_partitioned3.sql
-rw-r--r--. 1 501 games      5660 Feb  6  2009 employees_partitioned.sql
-rw-r--r--. 1 501 games      3861 Nov 28  2008 employees.sql
-rw-r--r--. 1 501 games       241 Jul 30  2008 load_departments.dump
-rw-r--r--. 1 501 games  13828291 Mar 30  2009 load_dept_emp.dump
-rw-r--r--. 1 501 games      1043 Jul 30  2008 load_dept_manager.dump
-rw-r--r--. 1 501 games  17422825 Jul 30  2008 load_employees.dump
-rw-r--r--. 1 501 games 115848997 Jul 30  2008 load_salaries.dump
-rw-r--r--. 1 501 games  21265449 Jul 30  2008 load_titles.dump
-rw-r--r--. 1 501 games      3889 Mar 30  2009 objects.sql
-rw-r--r--. 1 501 games      2211 Jul 30  2008 README
-rw-r--r--. 1 501 games      4455 Mar 30  2009 test_employees_md5.sql
-rw-r--r--. 1 501 games      4450 Mar 30  2009 test_employees_sha.sql

Извршите следећу команду да бисте се повезали са МиСКЛ сервером, креирали базу података и увезли податке:

sudo mysql -h localhost -u root -p -t < employees.sql

Појавит ће се упит који тражи вашу роот лозинку. Ово је лозинка коју сте поставили у првом кораку.

С обзиром на то да је база података прилично велика, вероватно ће бити потребно од 1-3 минута да се у потпуности увезу подаци. Ако је све урађено исправно, видећете следећи излаз.

+-----------------------------+
| INFO                        |
+-----------------------------+
| CREATING DATABASE STRUCTURE |
+-----------------------------+
+------------------------+
| INFO                   |
+------------------------+
| storage engine: InnoDB |
+------------------------+
+---------------------+
| INFO                |
+---------------------+
| LOADING departments |
+---------------------+
+-------------------+
| INFO              |
+-------------------+
| LOADING employees |
+-------------------+
+------------------+
| INFO             |
+------------------+
| LOADING dept_emp |
+------------------+
+----------------------+
| INFO                 |
+----------------------+
| LOADING dept_manager |
+----------------------+
+----------------+
| INFO           |
+----------------+
| LOADING titles |
+----------------+
+------------------+
| INFO             |
+------------------+
| LOADING salaries |
+------------------+

Сада се можемо пријавити на МиСКЛ и прегледати увезене податке.

sudo mysql -h localhost -u root -p

Унесите роот лозинку коју сте поставили у претходном одељку.

Проверите листу база података за нашу новокреирану базу података запослених .

show databases;

Излаз ће изгледати овако:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| employees          |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)

Хајде да користимо базу података запослених .

use employees;

Проверите табеле у њему.

show tables;

Ово ће произвести:

+---------------------+
| Tables_in_employees |
+---------------------+
| departments         |
| dept_emp            |
| dept_manager        |
| employees           |
| salaries            |
| titles              |
+---------------------+
6 rows in set (0.01 sec)

Трећи корак – Креирање, коришћење и уклањање приказа

In this step, you will learn to create and use views. I have broken up this step into smaller sections for matching data, and combining data for organization. It's time to start interacting with our test data.

Merging/matching data

Below, I have a query which displays all employees who have a yearly salary equal to, or greater than $50,000.

select * from salaries where salary >= 50000;

Output (truncated):

+--------+--------+------------+------------+
| emp_no | salary | from_date  | to_date    |
+--------+--------+------------+------------+
|  10001 |  60117 | 1986-06-26 | 1987-06-26 |
|  10001 |  62102 | 1987-06-26 | 1988-06-25 |
|  10001 |  66074 | 1988-06-25 | 1989-06-25 |
|  10001 |  66596 | 1989-06-25 | 1990-06-25 |
|  10001 |  66961 | 1990-06-25 | 1991-06-25 |
(...)

As you can see, this only displays employee numbers. It could be a nuisance when trying to identify an employee quickly. Luckily, we can create a view that will store a fairly lengthy query that can match employee numbers to employee names by pulling and matching data from multiple tables. The query is shown below.

select employees.first_name,employees.last_name,employees.emp_no,salaries.salary,salaries.to_date,salaries.from_date from employees, salaries where employees.emp_no = salaries.emp_no;

Notice how I have omitted >= 50000 from the query. We will be using this value after our view has been created.

Да бисмо креирали приказ, једноставно га додамо create view view_name asупиту. У овом случају, креираћу приказ под називом намед_салариес .

create view named_salaries as select employees.first_name,employees.last_name,employees.emp_no,salaries.salary,salaries.to_date,salaries.from_date from employees, salaries where employees.emp_no = salaries.emp_no;

Приказујемо податке из погледа на исти начин на који приказујемо податке из табеле.

select * from named_salaries

Ако је приказ правилно креиран, видећете следећи излаз (подаци су скраћени):

+------------+-----------+--------+--------+------------+------------+
| first_name | last_name | emp_no | salary | to_date    | from_date  |
+------------+-----------+--------+--------+------------+------------+
| Georgi     | Facello   |  10001 |  60117 | 1987-06-26 | 1986-06-26 |
| Georgi     | Facello   |  10001 |  62102 | 1988-06-25 | 1987-06-26 |
| Georgi     | Facello   |  10001 |  66074 | 1989-06-25 | 1988-06-25 |
| Georgi     | Facello   |  10001 |  66596 | 1990-06-25 | 1989-06-25 |
| Georgi     | Facello   |  10001 |  66961 | 1991-06-25 | 1990-06-25 |
| Georgi     | Facello   |  10001 |  71046 | 8  1992-06-24 | 1991-06-25 |
(...)

Пошто можемо да комуницирамо са погледима на исти начин на који можемо да комуницирамо са табелом, могуће је узети >= 50000из оригиналног упита и применити га на приказ.

select * from named_salaries where salary >= 50000;

Излаз (скраћено):

+------------+-----------+--------+--------+------------+------------+
| first_name | last_name | emp_no | salary | to_date    | from_date  |
+------------+-----------+--------+--------+------------+------------+
| Georgi     | Facello   |  10001 |  60117 | 1987-06-26 | 1986-06-26 |
(...)
| Bezalel    | Simmel    |  10002 |  65828 | 1997-08-03 | 1996-08-03 |
(...)
| Chirstian  | Koblick   |  10004 |  50594 | 1992-11-29 | 1991-11-30 |
(...)
| Kyoichi    | Maliniak  |  10005 |  78228 | 1990-09-12 | 1989-09-12 |
(...)
| Anneke     | Preusig   |  10006 |  53747 | 1998-08-03 | 1997-08-03 |
(...)
+------------+-----------+--------+--------+------------+------------+

Као што видите, упит је третирао поглед баш као традиционалну табелу.

Хајде да користимо поглед у другом примеру. У наставку имам прилично дугачак упит који наводи руководиоце одељења, њихова имена/презимена, бројеве запослених, називе њихових одељења и бројеве одељења. Упит прикупља податке из неколико различитих табела.

select employees.first_name,employees.last_name,employees.emp_no,dept_manager.to_date,dept_manager.from_date,departments.dept_name,departments.dept_no from employees, dept_manager, departments where employees.emp_no = dept_manager.emp_no AND departments.dept_no = dept_manager.dept_no;

Излаз (скраћено):

+-------------+--------------+--------+------------+------------+--------------------+---------+
| first_name  | last_name    | emp_no | to_date    | from_date  | dept_name          | dept_no |
+-------------+--------------+--------+------------+------------+--------------------+---------+
| Tonny       | Butterworth  | 111692 | 1988-10-17 | 1985-01-01 | Customer Service   | d009    |
| Marjo       | Giarratana   | 111784 | 1992-09-08 | 1988-10-17 | Customer Service   | d009    |
| Xiaobin     | Spinelli     | 111877 | 1996-01-03 | 1992-09-08 | Customer Service   | d009    |
| Yuchang     | Weedman      | 111939 | 9999-01-01 | 1996-01-03 | Customer Service   | d009    |
| DeForest    | Hagimont     | 110511 | 1992-04-25 | 1985-01-01 | Development        | d005    |
| Leon        | DasSarma     | 110567 | 9999-01-01 | 1992-04-25 | Development        | d005    |
(...)

Као што видите, било би помало незгодно уписивати тај упит сваки пут када треба да преузмете листу менаџера одељења. Хајде да направимо поглед да бисмо вам олакшали. Поглед ћу назвати "менаџмент".

create view management as select employees.first_name,employees.last_name,employees.emp_no,dept_manager.to_date,dept_manager.from_date,departments.dept_name,departments.dept_no from employees, dept_manager, departments where employees.emp_no = dept_manager.emp_no AND departments.dept_no = dept_manager.dept_no;

Сада можемо једноставно select * from management;да укуцамо да бисмо преузели исте податке. Наравно, на то можемо применити и додатне параметре - баш као и традиционалну табелу. На пример, рецимо да желимо да прикажемо само менаџере одељења за „Услугу за кориснике“.

select * from management where dept_name = 'Customer Service';

Излаз:

+------------+-------------+--------+------------+------------+------------------+---------+
| first_name | last_name   | emp_no | to_date    | from_date  | dept_name        | dept_no |
+------------+-------------+--------+------------+------------+------------------+---------+
| Tonny      | Butterworth | 111692 | 1988-10-17 | 1985-01-01 | Customer Service | d009    |
| Marjo      | Giarratana  | 111784 | 1992-09-08 | 1988-10-17 | Customer Service | d009    |
| Xiaobin    | Spinelli    | 111877 | 1996-01-03 | 1992-09-08 | Customer Service | d009    |
| Yuchang    | Weedman     | 111939 | 9999-01-01 | 1996-01-03 | Customer Service | d009    |
+------------+-------------+--------+------------+------------+------------------+---------+

Или можда желимо „Услугу за кориснике“ и „Људске ресурсе“:

select * from management where dept_name = 'Customer Service' OR dept_name = 'Human Resources';

Излаз:

+------------+--------------+--------+------------+------------+------------------+---------+
| first_name | last_name    | emp_no | to_date    | from_date  | dept_name        | dept_no |
+------------+--------------+--------+------------+------------+------------------+---------+
| Tonny      | Butterworth  | 111692 | 1988-10-17 | 1985-01-01 | Customer Service | d009    |
| Marjo      | Giarratana   | 111784 | 1992-09-08 | 1988-10-17 | Customer Service | d009    |
| Xiaobin    | Spinelli     | 111877 | 1996-01-03 | 1992-09-08 | Customer Service | d009    |
| Yuchang    | Weedman      | 111939 | 9999-01-01 | 1996-01-03 | Customer Service | d009    |
| Shirish    | Ossenbruggen | 110183 | 1992-03-21 | 1985-01-01 | Human Resources  | d003    |
| Karsten    | Sigstam      | 110228 | 9999-01-01 | 1992-03-21 | Human Resources  | d003    |
+------------+--------------+--------+------------+------------+------------------+---------+

Уклањање приказа

Брисање приказа је врло једноставно. Слично уклањању табеле, откуцали бисте drop view view_name;. На пример, ако желимо да избришемо приказ намед_салариес , команда би била: drop view named_salaries;.


Подесите Цацти на Дебиан Јессие

Подесите Цацти на Дебиан Јессие

Увод Цацти је алатка отвореног кода за праћење и графику која је у потпуности заснована на РРД подацима. Преко Цацтуса можете надгледати скоро сваку врсту уређаја

Подесите иРедМаил на Дебиан Вхеези

Подесите иРедМаил на Дебиан Вхеези

Користите другачији систем? Овај водич ће вам показати како да инсталирате групни софтвер иРедМаил на нову инсталацију Дебиан Вхеези-а. Требало би да користите сервис

Како подесити надоградње без надзора на Дебиан 9 (протежу)

Како подесити надоградње без надзора на Дебиан 9 (протежу)

Користите другачији систем? Ако купите Дебиан сервер, увек би требало да имате најновије безбедносне закрпе и ажурирања, без обзира да ли спавате или не

Подесите сопствени ДНС сервер на Дебиан/Убунту

Подесите сопствени ДНС сервер на Дебиан/Убунту

Овај водич објашњава како да подесите ДНС сервер користећи Бинд9 на Дебиан-у или Убунту-у. У целом чланку замените иоур-домаин-наме.цом у складу са тим. Ат тх

Компајлирајте и инсталирајте Нгинк са модулом ПагеСпеед на Дебиан 8

Компајлирајте и инсталирајте Нгинк са модулом ПагеСпеед на Дебиан 8

У овом чланку ћемо видети како да компајлирате и инсталирате Нгинк маинлине из званичних извора Нгинк-а помоћу модула ПагеСпеед, који вам омогућава да

Како инсталирати Канбоард на Дебиан 9

Како инсталирати Канбоард на Дебиан 9

Користите другачији систем? Увод Канбоард је бесплатни софтвер за управљање пројектима отвореног кода који је дизајниран да олакша и визуализује

Како инсталирати Гитеа на Дебиан 9

Како инсталирати Гитеа на Дебиан 9

Користите другачији систем? Гитеа је алтернативни систем за контролу верзија отвореног кода који се самостално хостује и покреће Гит. Гитеа је написана на Голангу и јесте

Инсталирајте Линис на Дебиан 8

Инсталирајте Линис на Дебиан 8

Увод Линис је бесплатна алатка за ревизију система отвореног кода коју користе многи системски администратори да верификују интегритет и ојачају своје системе. И

Како инсталирати Тхелиа 2.3 на Дебиан 9

Како инсталирати Тхелиа 2.3 на Дебиан 9

Користите другачији систем? Тхелиа је алатка отвореног кода за креирање веб локација за е-пословање и управљање онлајн садржајем написаним у ПХП-у. Тхелиа изворни код и

Креирање мреже Минецрафт сервера са БунгееЦорд-ом на Дебиан 8, Дебиан 9 или ЦентОС 7

Креирање мреже Минецрафт сервера са БунгееЦорд-ом на Дебиан 8, Дебиан 9 или ЦентОС 7

Шта вам треба Вултр ВПС са најмање 1 ГБ РАМ-а. ССХ приступ (са роот/административним привилегијама). Корак 1: Инсталирање БунгееЦорд-а Прво прво

Како инсталирати Голанг 1.8.3 на ЦентОС 7, Убунту 16.04 и Дебиан 9

Како инсталирати Голанг 1.8.3 на ЦентОС 7, Убунту 16.04 и Дебиан 9

Голанг је програмски језик који је развио Гоогле. Захваљујући својој свестраности, једноставности и поузданости, Голанг је постао један од најпопуларнијих

Ресетујте МиСКЛ роот лозинку на Дебиан/Убунту

Ресетујте МиСКЛ роот лозинку на Дебиан/Убунту

Ако сте заборавили своју МиСКЛ роот лозинку, можете је ресетовати пратећи кораке у овом чланку. Процес је прилично једноставан и ради на њима

Креирање мрежних дељења коришћењем Самбе на Дебиан-у

Креирање мрежних дељења коришћењем Самбе на Дебиан-у

Понекад морамо да делимо датотеке које Виндовс клијенти морају да виде. Пошто системи засновани на Фусе-у раде само на Линук-у, добро је да се представимо

Подешавање Цоунтер Стрике: Соурце на Дебиан-у

Подешавање Цоунтер Стрике: Соурце на Дебиан-у

У овом водичу ћемо подесити сервер игре Цоунтер Стрике: Соурце на Дебиан 7. Ове команде су тестиране на Дебиан 7, али би такође требало да раде о

Како инсталирати Унтурнед 2.2.5 на Дебиан 8

Како инсталирати Унтурнед 2.2.5 на Дебиан 8

У овом водичу ћете научити како да подесите Унтурнед 2.2.5 сервер на Вултр ВПС-у који користи Дебиан 8. Напомена: Ово је уређена верзија Унтурнед-а која не

Како инсталирати Цацхет на Дебиан 8

Како инсталирати Цацхет на Дебиан 8

У овом водичу ћете научити како да инсталирате Цацхет на Дебиан 8. Цацхет је моћан систем статусних страница отвореног кода. Инсталација Овај водич је у току

Аутоматски резервишите више МиСКЛ или МариаДБ база података

Аутоматски резервишите више МиСКЛ или МариаДБ база података

Увод У овом тексту, добро прођите кроз како да направите резервну копију више МиСКЛ или МариаДБ база података које се налазе на истој машини користећи прилагођени басх скрипт

Подешавање Цхроот-а на Дебиан-у

Подешавање Цхроот-а на Дебиан-у

Овај чланак ће вас научити како да подесите цхроот затвор на Дебиан-у. Претпостављам да користите Дебиан 7.к. Ако користите Дебиан 6 или 8, ово би могло радити, али

Како инсталирати Реадер Селф 3.5 РСС Реадер на Дебиан 9 ЛАМП ВПС

Како инсталирати Реадер Селф 3.5 РСС Реадер на Дебиан 9 ЛАМП ВПС

Користите другачији систем? Реадер Селф 3.5 је једноставан и флексибилан, бесплатан и отворени извор, РСС читач који се самостално хостује и алтернатива Гоогле Реадер-у. Реадер Сел

Како инсталирати Бацкдроп ЦМС 1.8.0 на Дебиан 9 ЛАМП ВПС

Како инсталирати Бацкдроп ЦМС 1.8.0 на Дебиан 9 ЛАМП ВПС

Користите другачији систем? Бацкдроп ЦМС 1.8.0 је једноставан и флексибилан, прилагођен мобилним уређајима, бесплатан и отворени систем за управљање садржајем (ЦМС) који нам омогућава

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више