Weboldal keresés

11 Advance MySQL Database "Interjúkérdések és válaszok" Linux felhasználók számára


Már két MySQL-cikket tettünk közzé, amelyeket a Tecmint közösség nagyra értékel. Ez a harmadik cikk a MySQL-interjúsorozatról, és tizenhat az Interjú műfaj rovatában.

  1. 15 alapvető MySQL-interjúkérdés
  2. 10 MySQL-adatbázis-interjúkérdés középhaladóknak

Mindannyian az Ön támogatásának köszönhetően jutottunk el ide, és a jövőben is ugyanezt szeretnénk elérni. Ebben a cikkben a MySQL gyakorlati oldalára fogunk koncentrálni, az interjú szempontjából releváns kérdésre.

1. A SELECT utasítással keresse meg a futó szerver verzióját, és írja ki az aktuális adatbázis nevét?

Válasz: Az alábbi MySQL parancs a szerver verzióját és az aktuálisan kiválasztott adatbázist mutatja.

mysql> SELECT VERSION(), DATABASE();

+-------------------------+------------+
| VERSION()               | DATABASE() |
+-------------------------+------------+
| 5.5.34-0ubuntu0.13.10.1 | NULL       |
+-------------------------+------------+
1 row in set (0.06 sec)

Az Adatbázis oszlopban NULL értéket mutat, mert nem választottunk ki adatbázist. Tehát válassza ki az adatbázist a következő parancs szerint.

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. A NOT Operator (!) HASZNÁLATÁVAL jelölje ki az összes felhasználót, kivéve a „SAM”-t egy táblázatból, mondjuk „Tecmint”

Válaszok: Az alábbi utasítás a „Tecmint” tábla összes felhasználójának összes oszlopát mutatja, kivéve a „SAM<” felhasználót.'.

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. Megvalósítható-e az 'AND' a NOT (!) Operatorral.

Válasz: Az ÉS operátort (=) használjuk, az VAGY operátort pedig (!=) használjuk. Példa a (=) AND operátorral.

mysql> SELECT * FROM mail WHERE user = SAM AND root = phil

Példa a (!=) OR operátorral.

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. = : azt jelenti, hogy egyenlő
  2. != : Nem egyenlő
  3. ! : NEM kezelőt jelent

Az ÉS & VAGY a MySQL-ben csatlakozó operátorként kezeli.

4. Milyen IFNULL() utasítást használ a MySQL?

Válasz: A MySQL lekérdezése pontosan megírható az IFNULL() utasítással. Az IFNULL() utasítás teszteli az első argumentumot, és visszaadja, ha nem NULL, vagy a második argumentumot adja vissza, ellenkező esetben.

mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer;

+---------+---------+ 
| name 	  | id      | 
+---------+---------+ 
| bernina | 198-48  | 
| bertha  | Unknown | 
| ben     | Unknown | 
| bill    | 475-83  | 
+---------+---------+
5. Csak bizonyos sorokat szeretne látni egy eredményhalmaz elejétől vagy végétől kezdve. Hogyan fogod csinálni?

Válaszok: A fent leírt forgatókönyv eléréséhez használnunk kell a LIMIT záradékot az ORDER BY mellett.

1. felvétel megjelenítése
mysql> SELECT * FROM name LIMIT 1;

+----+------+------------+-------+----------------------+------+ 
| id | name | birth      | color | foods                | cats | 
+----+------+------------+-------+----------------------+------+ 
| 1  | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0    | 
+----+------+------------+-------+----------------------+------+
Show 5 Record
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 vs MySQL. Melyik és miért?

Válasz: Mindkettőnek megvannak az előnyei és a hátrányai. Idő kérdése a MySQL-t részesítem előnyben.

A MySQL kiválasztás oka az oracle helyett
  1. A Mysql FOSS.
  2. A MySQL hordozható.
  3. A MYSQL támogatja mind a grafikus felhasználói felületet, mind a parancssort.
  4. A MySQL adminisztrációt a Query Browser támogatja.
7. Hogyan kapod meg az aktuális dátumot a MySQL-ben?

Válasz: Az aktuális dátum lekérése a MySQL-ben olyan egyszerű, mint az alábbi SELECT utasítás végrehajtása.

mysql> SELECT CURRENT_DATE();

+----------------+
| CURRENT_DATE() |
+----------------+
| 2014-06-17     |
+----------------+
8. Hogyan exportálja a táblákat XML-fájlként a MySQL-ben?

Válaszok: A '-e' (export) opciót használjuk a MySQL-tábla vagy a teljes adatbázis XML-fájlba való exportálására. Nagy táblák esetén előfordulhat, hogy manuálisan kell megvalósítanunk, de kis táblák esetén az olyan alkalmazások, mint a phpMyAdmin, meg tudják oldani a munkát.

A MySQL natív parancsa képes erre.

mysql -u USER_NAME –xml -e 'SELECT * FROM table_name' > table_name.xml

Ahol a FELHASZNÁLÓNÉV az adatbázis felhasználóneve, a tábla_neve az a tábla, amelyet XML-be exportálunk, és a tábla_neve.xml az az xml-fájl, ahol az adatok tárolódnak.

9. Mi az a MySQL_pconnect? És miben különbözik a MySQL_connect-től?

Válaszok: A MySQL_pconnect() olyan kapcsolatot nyit meg, amely perzisztens a MySQL-adatbázissal, ami egyszerűen azt jelenti, hogy az adatbázis nem nyílik meg minden alkalommal, amikor az oldal betöltődik, és ezért nem tudjuk a MySQL_close() használatával zárja be az állandó kapcsolatot.

Egy rövid különbség a MySQL_pconnect és a MySQL_connect között.

A MySQL_pconnect-től eltérően a MySQL_connect – Az oldal minden betöltésekor megnyitja az adatbázist, amely bármikor bezárható a MySQL_close() utasítással.

10. Meg kell mutatnia az összes táblában definiált indexet, mondjuk „user of Database”, mondjuk „mysql”. Hogyan fogja ezt elérni?

Válaszok: A következő parancs megjeleníti a „felhasználó” tábla összes indexét.

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. Mik azok a CSV-táblák?

Válasz: A CSV a vesszővel elválasztott értékek, más néven karakterekkel elválasztott értékek rövidítése. A CSV-tábla egyszerű szöveges és táblázatos formátumban tárolja az adatokat. Általában soronként egy rekordot tartalmaz.

Minden rekordot meghatározott elválasztójelek választanak el (vessző, pontosvessző, …), ahol minden rekordnak ugyanaz a mezősorozata. A CSV-táblázatokat legszélesebb körben használják telefonos névjegyek tárolására az importálás és exportálás céljából, és bármilyen egyszerű szöveges adat tárolására használhatók.

Ez minden most. Újra itt leszek egy másik érdekes cikkel, ti emberek imádni fogják olvasni. Addig is maradjon velünk, és csatlakozzon a Tecminthoz, és ne felejtse el értékes visszajelzést adni nekünk az alábbi megjegyzés részben.