Vyhledávání na webu

11 Advance MySQL databáze "Otázky a odpovědi k rozhovorům" pro uživatele Linuxu


Již jsme publikovali dva články o MySQL, které Tecmint Community velmi ocenila. Toto je třetí článek o seriálu MySQL Interview a šestnáct ve sloupci Interview Genre Column.

  1. 15 Základní otázky k rozhovoru s MySQL
  2. 10 Dotazy k rozhovoru s databází MySQL pro středně pokročilé

Všichni jsme se sem dostali kvůli vaší podpoře a usilujeme o totéž v budoucí podobě vašeho konce. Zde v tomto článku se zaměříme na praktický aspekt MySQL, otázku relevantní pro aspekt rozhovoru.

1. Pomocí příkazu SELECT najděte verzi serveru, na kterém běžíte, a vytiskněte název aktuální databáze?

Odp.: Níže uvedený příkaz MySQL zobrazí verzi serveru a aktuálně vybranou databázi.

mysql> SELECT VERSION(), DATABASE();

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

Ve sloupci Databáze se zobrazuje hodnota NULL, protože jsme nevybrali žádnou databázi. Vyberte tedy databázi, jak je znázorněno v následujícím příkazu.

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. POUŽÍVEJTE operátor NOT (!) k výběru všech uživatelů kromě „SAM“ z tabulky, řekněte „Tecmint“

Odpověď: Níže uvedené prohlášení zobrazí všechny sloupce všech uživatelů z tabulky 'Tecmint' kromě uživatele '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 možné implementovat ‚AND‘ s operátorem NOT (!)?

Odp.: Operátor AND se používá, když používáme (=), a operátor OR se používá, když používáme (!=). Příklad (=) s operátorem AND.

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

Příklad (!=) s operátorem OR.

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. = : znamená Rovná se
  2. != : Nerovná se
  3. ! : představuje NOT operátora

A & OR jsou v MySQL považovány za spojující operátory.

4. K čemu se používá příkaz IFNULL() v MySQL?

Odp.: Dotaz v MySQL lze zapsat přesně pomocí příkazu IFNULL(). Příkaz IFNULL() otestuje svůj první argument a vrátí, pokud není NULL, nebo vrátí svůj druhý argument, jinak.

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

+---------+---------+ 
| name 	  | id      | 
+---------+---------+ 
| bernina | 198-48  | 
| bertha  | Unknown | 
| ben     | Unknown | 
| bill    | 475-83  | 
+---------+---------+
5. Chcete vidět pouze určité řádky ze sady výsledků od začátku nebo konce sady výsledků. jak to uděláš?

Odp.: K dosažení výše popsaného scénáře musíme použít klauzuli LIMIT spolu s ORDER BY.

Zobrazit 1 záznam
mysql> SELECT * FROM name LIMIT 1;

+----+------+------------+-------+----------------------+------+ 
| id | name | birth      | color | foods                | cats | 
+----+------+------------+-------+----------------------+------+ 
| 1  | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0    | 
+----+------+------------+-------+----------------------+------+
Zobrazit 5 záznam
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. Který a proč?

Odp.: Obojí má své výhody i nevýhody. Časově preferuji MySQL.

Důvod pro výběr MySQL přes Oracle
  1. Mysql je FOSS.
  2. MySQL je přenosný.
  3. MYSQL podporuje jak GUI, tak příkazový řádek.
  4. Administrace MySQL je podporována přes Query Browser.
7. Jak získáte aktuální datum v MySQL?

Odp.: Získání aktuálního data v MySQL je stejně jednoduché jako provedení níže uvedeného příkazu SELECT.

mysql> SELECT CURRENT_DATE();

+----------------+
| CURRENT_DATE() |
+----------------+
| 2014-06-17     |
+----------------+
8. Jak budete exportovat tabulky jako soubor XML v MySQL?

Odpověď: K exportu tabulky MySQL nebo celé databáze do souboru XML používáme možnost „-e“ (export). U velkých tabulek to možná budeme muset implementovat ručně, ale u malých tabulek to zvládnou aplikace jako phpMyAdmin.

Nativní příkaz MySQL to dokáže.

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

Kde USER_NAME je uživatelské jméno databáze, table_name je tabulka, kterou exportujeme do XML a table_name.xml je xml soubor, kde jsou uložena data.

9. Co je MySQL_pconnect? A jak se liší od MySQL_connect?

Odpověď: MySQL_pconnect() otevře připojení, které je trvalé k databázi MySQL, což jednoduše znamená, že databáze není otevřena pokaždé, když se stránka načte, a proto nemůžeme použijte MySQL_close() k uzavření trvalého připojení.

Krátký rozdíl mezi MySQL_pconnect a MySQL_connect je.

Na rozdíl od MySQL_pconnect, MySQL_connect – otevře databázi při každém načtení stránky, kterou lze kdykoli zavřít příkazem MySQL_close().

10. Musíte zobrazit všechny indexy definované v tabulce řekněme „uživatel“ databáze řekněme „mysql“. Jak toho dosáhnete?

Odp.: Následující příkaz zobrazí všechny indexy tabulky ‚user‘.

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. Co jsou tabulky CSV?

Odpověď: CSV je zkratka pro Hodnoty oddělené čárkami alias hodnoty oddělené znaky. CSV tabulka ukládá data ve formátu prostého textu a tabulky. Obvykle obsahuje jeden záznam na řádek.

Každý záznam je oddělen specifickými oddělovači (čárka, středník, …), kde každý záznam má stejnou sekvenci polí. Tabulky CSV se nejrozšířeněji používají k ukládání telefonních kontaktů pro import a export a lze je použít k ukládání jakýchkoli dat ve formátu prostého textu.

To je prozatím vše. Jsem tu znovu s dalším zajímavým článkem, který si lidé rádi přečtou. Do té doby zůstaňte naladěni a připojeni k Tecmint a nezapomeňte nám poskytnout svou cennou zpětnou vazbu v sekci komentářů níže.