MySQL-i vaadete kasutamine Debian 7-s

MySQL-i vaadete kasutamine Debian 7-s

Sissejuhatus

MySQL-il on suurepärane funktsioon, mida nimetatakse "vaadeteks". Vaated on salvestatud päringud. Mõelge neile kui muidu pika päringu varjunimele. Selles juhendis näitan teile, kuidas kasutada vaateid andmete tõhusamaks korraldamiseks.

Eeltingimused

  • Debian 7-ga laaditud Vultr SSD pilveserver.
  • Administraatori (juur)õigustega kasutaja.
  • Algteadmised Linuxist, käsureast ja SSH-st.

Esimene samm – installige MySQL-server

MySQL-i installimine versioonile Debian 7.x on väga lihtne. Esiteks peame tagama, et meie allikaid värskendatakse, käivitades:

sudo apt-get update

Järgmisena saame installida MySQL-i serveri:

sudo apt-get install -y mysql-server

Kuvatakse dialoogiboks, mis palub teil luua "root" kasutaja parool. Kindlasti mäletate seda parooli.

Tugevdame oma installi turvalisust, käivitades:

sudo mysql_secure_installation

Pärast täitmist esitatakse teile rida viipasid. Kõik vastused, mille peaksite valima, kuvatakse allpool.

...
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...

Teine samm – installige näidisandmebaas

Praegu pole meil serveri kohta andmeid, millega katsetada. Selle õpetuse jaoks kasutame töötajate andmebaasi, kuna sellega on lihtne töötada ja see on MySQL-i veebisaidilt vabalt saadaval.

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

Peame installima bzip2, et saaksime faili ekstraktida.

sudo apt-get install bzip2

Ekstraktige andmebaas. Fail on üsna suur, nii et see võib võtta mõne hetke.

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

Kui fail on ekstraktitud, on teil kaust nimega employees_db. Andmebaasi installimiseks peame sellesse kataloogi navigeerima.

cd employees_db 
ls -l

Väljund näeb välja selline:

-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

MySQL-serveriga ühenduse loomiseks, andmebaasi loomiseks ja andmete importimiseks käivitage järgmine käsk:

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

Ilmub viip, mis küsib teie juurparooli. See on parool, mille määrasite esimeses etapis.

Kuna andmebaas on üsna suur, kulub andmete täielikuks importimiseks tõenäoliselt 1–3 minutit. Kui kõik tehti õigesti, näete järgmist väljundit.

+-----------------------------+
| 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 |
+------------------+

Nüüd saame MySQL-i sisse logida ja imporditud andmeid vaadata.

sudo mysql -h localhost -u root -p

Sisestage root parooli, mida eelmises sektsioonis.

Kontrollige meie vastloodud töötajate andmebaasi andmebaaside loendit .

show databases;

Väljund näeb välja selline:

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

Kasutame töötajate andmebaasi.

use employees;

Kontrollige selle sees olevaid tabeleid.

show tables;

See väljastab:

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

Kolmas samm – vaadete loomine, kasutamine ja eemaldamine

Selles etapis õpite vaateid looma ja kasutama. Jagasin selle etapi andmete sobitamiseks ja organisatsiooni andmete kombineerimiseks väiksemateks osadeks. On aeg hakata meie testandmetega suhtlema.

Andmete ühendamine/sobitamine

Allpool on mul päring, mis kuvab kõik töötajad, kelle aastapalk on 50 000 dollarit või suurem.

select * from salaries where salary >= 50000;

Väljund (kärbitud):

+--------+--------+------------+------------+
| 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 |
(...)

Nagu näete, kuvab see ainult töötajate numbreid. See võib olla häiriv, kui üritate töötajat kiiresti tuvastada. Õnneks saame luua vaate, mis salvestab üsna pika päringu, mis suudab mitmest tabelist andmeid tõmmata ja sobitada töötajate numbrid töötajate nimedega. Päring on näidatud allpool.

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;

Pange tähele, kuidas ma olen >= 50000päringust välja jätnud . Kasutame seda väärtust pärast vaate loomist.

Vaate loomiseks lisame lihtsalt create view view_name aspäringule. Sel juhul loon vaate nimega_palgad .

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;

Kuvame andmeid vaatest samal viisil, nagu kuvame andmeid tabelist.

select * from named_salaries

Kui vaade on õigesti loodud, näete järgmist väljundit (andmed on kärbitud):

+------------+-----------+--------+--------+------------+------------+
| 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 |
(...)

Kuna saame vaadetega suhelda samamoodi nagu tabeliga, on võimalik võtta >= 50000algsest päringust ja rakendada seda vaatele.

select * from named_salaries where salary >= 50000;

Väljund (kärbitud):

+------------+-----------+--------+--------+------------+------------+
| 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 |
(...)
+------------+-----------+--------+--------+------------+------------+

Nagu näete, on päring käsitlenud vaadet nagu tavalist tabelit.

Kasutame vaadet teises näites. Allpool on mul üsna pikk päring, mis loetleb osakonnajuhatajad, nende ees- ja perekonnanimed, töötajate numbrid, osakondade nimed ja osakondade numbrid. Päring koondab andmed mitmest erinevast tabelist.

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;

Väljund (kärbitud):

+-------------+--------------+--------+------------+------------+--------------------+---------+
| 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    |
(...)

Nagu näete, oleks mõnevõrra ebamugav seda päringut sisestada iga kord, kui peate hankima osakonnajuhtide loendi. Loome lihtsamaks muutmiseks vaate. Ma hakkan vaadet nimetama "juhtimiseks".

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;

Nüüd saame select * from management;samade andmete hankimiseks lihtsalt tippida . Loomulikult saame sellele rakendada ka täiendavaid parameetreid – täpselt nagu traditsioonilise tabeli puhul. Oletagem näiteks, et tahame kuvada ainult "Klienditeeninduse" osakonnajuhatajad.

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

Väljund:

+------------+-------------+--------+------------+------------+------------------+---------+
| 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    |
+------------+-------------+--------+------------+------------+------------------+---------+

Või äkki tahame "klienditeenindust" ja "personaliressursse":

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

Väljund:

+------------+--------------+--------+------------+------------+------------------+---------+
| 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    |
+------------+--------------+--------+------------+------------+------------------+---------+

Vaate eemaldamine

Vaate kustutamine on väga lihtne. Sarnaselt tabeli eemaldamisega peaksite tippima drop view view_name;. Näiteks kui sooviksime kustutada vaadet nimega_palgad , oleks käsk järgmine: drop view named_salaries;.


Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Kas kasutate teistsugust süsteemi? Kui ostate Debiani serveri, peaksid teil alati olema uusimad turvapaigad ja värskendused, olenemata sellest, kas magate või mitte

Seadistage Debianis/Ubuntus oma DNS-server

Seadistage Debianis/Ubuntus oma DNS-server

See õpetus selgitab, kuidas seadistada DNS-serverit Bind9 abil Debianis või Ubuntus. Asendage kogu artikli vältel oma-domeen-nimi.com vastavalt. Kell th

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Selles artiklis näeme, kuidas kompileerida ja installida Nginxi põhiliini ametlikest Nginxi allikatest mooduliga PageSpeed, mis võimaldab teil

Kuidas installida Kanboard Debian 9-le

Kuidas installida Kanboard Debian 9-le

Kas kasutate teistsugust süsteemi? Sissejuhatus Kanboard on tasuta ja avatud lähtekoodiga projektihaldustarkvara, mis on loodud hõlbustama ja visualiseerima

Kuidas installida Gitea Debian 9-le

Kuidas installida Gitea Debian 9-le

Kas kasutate teistsugust süsteemi? Gitea on alternatiivne avatud lähtekoodiga isehostitav versioonikontrollisüsteem, mida toetab Git. Gitea on kirjutatud golangi keeles ja on

Installige Lynis versioonile Debian 8

Installige Lynis versioonile Debian 8

Sissejuhatus Lynis on tasuta avatud lähtekoodiga süsteemiauditi tööriist, mida paljud süsteemiadministraatorid kasutavad oma süsteemide terviklikkuse kontrollimiseks ja tugevdamiseks. ma

Kuidas installida Thelia 2.3 Debian 9-le

Kuidas installida Thelia 2.3 Debian 9-le

Kas kasutate teistsugust süsteemi? Thelia on avatud lähtekoodiga tööriist e-äri veebisaitide loomiseks ja PHP-s kirjutatud veebisisu haldamiseks. Thelia lähtekood i

Minecrafti serverite võrgu loomine BungeeCordi abil opsüsteemides Debian 8, Debian 9 või CentOS 7

Minecrafti serverite võrgu loomine BungeeCordi abil opsüsteemides Debian 8, Debian 9 või CentOS 7

Mida vajate Vultr VPS-i, millel on vähemalt 1 GB muutmälu. SSH-juurdepääs (juur-/administraatoriõigustega). 1. samm: BungeeCordi installimine Kõigepealt

Kuidas installida Golang 1.8.3 operatsioonisüsteemidesse CentOS 7, Ubuntu 16.04 ja Debian 9

Kuidas installida Golang 1.8.3 operatsioonisüsteemidesse CentOS 7, Ubuntu 16.04 ja Debian 9

Golang on Google'i poolt välja töötatud programmeerimiskeel. Tänu oma mitmekülgsusele, lihtsusele ja töökindlusele on Golangist saanud üks populaarsemaid

Lähtestage MySQL-i juurparool Debianis/Ubuntus

Lähtestage MySQL-i juurparool Debianis/Ubuntus

Kui olete oma MySQL-i juurparooli unustanud, saate selle lähtestada, järgides selles artiklis toodud juhiseid. Protsess on üsna lihtne ja töötab nende peal

Counter Strikei seadistamine: allikas Debianis

Counter Strikei seadistamine: allikas Debianis

Selles juhendis seadistame Debian 7-s mänguserveri Counter Strike: Source. Neid käske testiti Debian 7-s, kuid need peaksid ka töötama

Kuidas installida versiooni Unturned 2.2.5 Debian 8-le

Kuidas installida versiooni Unturned 2.2.5 Debian 8-le

Sellest juhendist saate teada, kuidas seadistada Unturned 2.2.5 serverit Vultr VPS-is, kus töötab Debian 8. Märkus. See on Unturned'i redigeeritud versioon, mis ei võimalda

Cacheti installimine Debian 8-sse

Cacheti installimine Debian 8-sse

Sellest õpetusest saate teada, kuidas installida Cachet Debian 8-le. Cachet on võimas avatud lähtekoodiga olekulehtede süsteem. Paigaldamine See õpetus on käimas

Varundage automaatselt mitu MySQL või MariaDB andmebaasi

Varundage automaatselt mitu MySQL või MariaDB andmebaasi

Sissejuhatus Selles kirjutises kirjeldage, kuidas varundada mitut samas masinas asuvat MySQL- või MariaDB-andmebaasi, kasutades kohandatud bash-skripti.

Chrooti seadistamine Debianis

Chrooti seadistamine Debianis

See artikkel õpetab teile, kuidas seadistada Debianis chroot-vanglat. Eeldan, et kasutate versiooni Debian 7.x. Kui kasutate Debian 6 või 8, võib see toimida, bu

Kuidas installida Reader Self 3.5 RSS-lugeja Debian 9 LAMP VPS-ile

Kuidas installida Reader Self 3.5 RSS-lugeja Debian 9 LAMP VPS-ile

Kas kasutate teistsugust süsteemi? Reader Self 3.5 on lihtne ja paindlik, tasuta ja avatud lähtekoodiga isehostitav RSS-lugeja ja Google Readeri alternatiiv. Lugeja Sel

Backdrop CMS 1.8.0 installimine Debian 9 LAMP VPS-ile

Backdrop CMS 1.8.0 installimine Debian 9 LAMP VPS-ile

Kas kasutate teistsugust süsteemi? Backdrop CMS 1.8.0 on lihtne ja paindlik, mobiilisõbralik, tasuta ja avatud lähtekoodiga sisuhaldussüsteem (CMS), mis võimaldab meil

SteamCMD installimine oma VPS-i

SteamCMD installimine oma VPS-i

Selles õpetuses installime SteamCMD. SteamCMD abil saab alla laadida ja installida palju Steami mänguservereid, näiteks Counter-Strike: Global Offensiv

Täiendage Python Debianis

Täiendage Python Debianis

Nagu võib-olla teate, värskendatakse Debiani hoidlaid väga aeglaselt. Kirjutamise ajal olid Pythoni väljalaskeversioonid 2.7.12 ja 3.5.2, kuid Debian 8 hoidlas

Kuidas seadistada Samba plokisalvestusega Debian 9-s

Kuidas seadistada Samba plokisalvestusega Debian 9-s

Samba on avatud lähtekoodiga lahendus, mis võimaldab kasutajatel kiiresti ja turvaliselt seadistada faile ja printida ühiskasutusse. Selles artiklis käsitlen Samba vaimukuse seadistamist

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit