11 Advance MySQL baza podataka "Pitanja i odgovori za intervjue" za korisnike Linuxa
Već smo objavili dva članka o MySQL-u, što je pohvalila Tecmint zajednica. Ovo je treći članak o seriji MySQL intervjua i šesnaest u kolumni žanra intervjua.
- 15 osnovnih MySQL pitanja za intervju
- 10 MySQL Database Interview Questions for Intermediate
Dospjeli smo ovdje zahvaljujući vašoj podršci i želimo isto u budućnosti od vašeg kraja. Ovdje u ovom članku usredotočit ćemo se na praktični aspekt MySQL-a, pitanje relevantno za aspekt intervjua.
1. Koristeći naredbu SELECT, pronađite verziju poslužitelja koju izvodite i ispišite naziv trenutne baze podataka?
Odgovor: MySQL naredba u nastavku prikazat će verziju poslužitelja i trenutno odabranu bazu podataka.
mysql> SELECT VERSION(), DATABASE();
+-------------------------+------------+
| VERSION() | DATABASE() |
+-------------------------+------------+
| 5.5.34-0ubuntu0.13.10.1 | NULL |
+-------------------------+------------+
1 row in set (0.06 sec)
U stupcu baze podataka prikazuje NULL vrijednost jer nismo odabrali nijednu bazu podataka. Dakle, odaberite bazu podataka kao što je prikazano u sljedećoj naredbi.
mysql> use Tecmint;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select VERSION(), DATABASE();
+-------------------------+------------+
| VERSION() | DATABASE() |
+-------------------------+------------+
| 5.5.34-0ubuntu0.13.10.1 | tecmint |
+-------------------------+------------+
1 row in set (0.00 sec)
2. KORISTITE operator NOT (!) za odabir svih korisnika osim 'SAM' iz tablice recimo 'Tecmint'
Odgovor: Izjava u nastavku prikazat će sve stupce svih korisnika iz tablice 'Tecmint' osim korisnika 'SAM'.
mysql> SELECT * FROM Tecmint WHERE user !=SAM;
+---------------------+---------+---------+---------+---------+-------+
| date | user | host | root | local | size |
+---------------------+---------+---------+---------+---------+-------+
| 2001-05-14 14:42:21 | Anthony | venus | barb | venus | 98151 |
| 2001-05-15 08:50:57 | TIM | venus | phil | venus | 978 |
+---------------------+---------+---------+---------+---------+-------+
3. Je li moguće implementirati 'AND' s NOT (!) operatorom.
Odgovor: operator AND koristi se kada koristimo (=), a operator OR koristi se kada koristimo (!=). Primjer (=) s operatorom AND.
mysql> SELECT * FROM mail WHERE user = SAM AND root = phil
Primjer (!=) s OR operatorom.
mysql> SELECT * FROM mail WHERE user != SAM OR root != phil
+---------------------+---------+---------+---------+---------+-------+
| date | user | host | root | local | size |
+---------------------+---------+---------+---------+---------+-------+
| 2001-05-14 14:42:21 | Anthony | venus | barb | venus | 98151 |
+---------------------+---------+---------+---------+---------+-------+
- = : znači jednako
- != : Nije jednako
- ! : predstavlja NE operatora
AND & OR tretiraju se kao operatori spajanja u MySQL-u.
4. Za što se IFNULL() izjava koristi u MySQL-u?
Odgovor: Upit u MySQL-u može se precizno napisati pomoću naredbe IFNULL(). Izjava IFNULL() testira svoj prvi argument i vraća ako nije NULL, ili vraća svoj drugi argument, u suprotnom.
mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer;
+---------+---------+
| name | id |
+---------+---------+
| bernina | 198-48 |
| bertha | Unknown |
| ben | Unknown |
| bill | 475-83 |
+---------+---------+
5. Želite vidjeti samo određene retke iz skupa rezultata od početka ili kraja skupa rezultata. Kako ćeš to učiniti?
Odgovor: Moramo koristiti klauzulu LIMIT zajedno s ORDER BY kako bismo postigli gore opisani scenarij.
Prikaži 1 zapis
mysql> SELECT * FROM name LIMIT 1;
+----+------+------------+-------+----------------------+------+
| id | name | birth | color | foods | cats |
+----+------+------------+-------+----------------------+------+
| 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 |
+----+------+------------+-------+----------------------+------+
Prikaži 5 Snimanje
mysql> SELECT * FROM profile LIMIT 5;
+----+------+------------+-------+-----------------------+------+
| id | name | birth | color | foods | cats |
+----+------+------------+-------+-----------------------+------+
| 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 |
| 2 | Mort | 1969-09-30 | white | burrito,curry,eggroll | 3 |
| 3 | Brit | 1957-12-01 | red | burrito,curry,pizza | 1 |
| 4 | Carl | 1973-11-02 | red | eggroll,pizza | 4 |
| 5 | Sean | 1963-07-04 | blue | burrito,curry | 5 |
+----+------+------------+-------+-----------------------+------+
mysql> SELECT * FROM profile ORDER BY birth LIMIT 1;
+----+------+------------+-------+----------------+------+
| id | name | birth | color | foods | cats |
+----+------+------------+-------+----------------+------+
| 9 | Dick | 1952-08-20 | green | lutefisk,fadge | 0 |
+----+------+------------+-------+----------------+------+
6. Oracle protiv MySQL. Koji i zašto?
Odgovor: Oba imaju svoje prednosti i nedostatke. Što se tiče vremena, više volim MySQL.
Razlog odabira MySQL umjesto oraclea
- Mysql je FOSS.
- MySQL je prenosiv.
- MYSQL podržava GUI kao i Command Prompt.
- MySQL administracija podržana je preko Query Browsera.
7. Kako ćete dobiti trenutni datum u MySQL-u?
Odgovor: Dobivanje trenutnog datuma u MySQL-u jednostavno je poput izvršavanja donje naredbe SELECT.
mysql> SELECT CURRENT_DATE();
+----------------+
| CURRENT_DATE() |
+----------------+
| 2014-06-17 |
+----------------+
8. Kako ćete izvesti tablice kao XML datoteku u MySQL?
Odgovor: Koristimo opciju ‘-e’ (izvoz) za izvoz MySQL tablice ili cijele baze podataka u XML datoteku. S velikim tablicama možda ćemo to morati implementirati ručno, ali za male tablice, aplikacije poput phpMyAdmin mogu obaviti posao.
Izvorna naredba MySQL-a to može učiniti.
mysql -u USER_NAME –xml -e 'SELECT * FROM table_name' > table_name.xml
Gdje je USER_NAME korisničko ime baze podataka, table_name je tablica koju izvozimo u XML, a table_name.xml je xml datoteka u kojoj su pohranjeni podaci.
9. Što je MySQL_pconnect? I kako se razlikuje od MySQL_connect?
Odgovor: MySQL_pconnect() otvara vezu koja je trajna na MySQL bazu podataka što jednostavno znači da se baza podataka ne otvara svaki put kada se stranica učita i stoga ne možemo koristite MySQL_close() za zatvaranje postojane veze.
Kratka razlika između MySQL_pconnect i MySQL_connect je.
Za razliku od MySQL_pconnect, MySQL_connect – Otvara bazu podataka svaki put kada se učita stranica koja se može zatvoriti u bilo kojem trenutku korištenjem izjave MySQL_close().
10. Morate prikazati sve indekse definirane u tablici recimo 'korisnik' baze podataka recimo 'mysql'. Kako ćete to postići?
Odgovor: Sljedeća naredba prikazat će sve indekse tablice 'korisnik'.
mysql> show index from user;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| user | 0 | PRIMARY | 1 | Host | A | NULL | NULL | NULL | | BTREE | | |
| user | 0 | PRIMARY | 2 | User | A | 4 | NULL | NULL | | BTREE | | |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.00 sec)
11. Što su CSV tablice?
Odgovor: CSV je kratica za Comma-Separated Values tj. Vrijednosti odvojene znakovima. CSV tablica pohranjuje podatke u obliku običnog teksta i tablice. Obično sadrži jedan zapis po retku.
Svaki zapis je odvojen određenim graničnicima (zarez, točka-zarez, …) gdje svaki zapis ima isti niz polja. CSV tablice najčešće se koriste za pohranu telefonskih kontakata za uvoz i izvoz i mogu se koristiti za pohranu bilo koje vrste podataka običnog teksta.
To je sve za sada. Ponovno ću biti ovdje s još jednim zanimljivim člankom koji ćete voljeti čitati. Do tada ostanite s nama i povezani s Tecmintom i ne zaboravite nam dati svoje vrijedne povratne informacije u odjeljku za komentare u nastavku.