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.

  1. 15 osnovnih MySQL pitanja za intervju
  2. 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 | 
+---------------------+---------+---------+---------+---------+-------+
  1. = : znači jednako
  2. != : Nije jednako
  3. ! : 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
  1. Mysql je FOSS.
  2. MySQL je prenosiv.
  3. MYSQL podržava GUI kao i Command Prompt.
  4. 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.