11 Baza danych Advance MySQL „Pytania i odpowiedzi do wywiadu” dla użytkowników Linuksa
Opublikowaliśmy już dwa artykuły MySQL, które zostały dobrze przyjęte przez Społeczność Tecmint. To trzeci artykuł z serii wywiadów MySQL i szesnaście w kolumnie Rodzaj wywiadu.
- 15 podstawowych pytań do rozmowy kwalifikacyjnej MySQL
- 10 pytań do rozmowy kwalifikacyjnej do bazy danych MySQL dla średnio zaawansowanych
Dotarliśmy tutaj dzięki Waszemu wsparciu i pragniemy tego samego w przyszłości. W tym artykule skoncentrujemy się na praktycznym aspekcie MySQL, kwestii istotnej dla aspektu wywiadu.
1. Za pomocą instrukcji SELECT znajdź wersję serwera, na którym pracujesz i wypisz nazwę aktualnej bazy danych?
Odpowiedź: Poniższe polecenie MySQL wyświetli wersję serwera i aktualnie wybraną bazę danych.
mysql> SELECT VERSION(), DATABASE();
+-------------------------+------------+
| VERSION() | DATABASE() |
+-------------------------+------------+
| 5.5.34-0ubuntu0.13.10.1 | NULL |
+-------------------------+------------+
1 row in set (0.06 sec)
W kolumnie Baza danych wyświetlana jest wartość NULL, ponieważ nie wybraliśmy żadnej bazy danych. Zatem wybierz bazę danych, jak pokazano w poniższym poleceniu.
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. UŻYJ NOT Operatora (!), aby wybrać wszystkich użytkowników z wyjątkiem „SAM” z tabeli, powiedz „Tecmint”
Odpowiedź: Poniższa instrukcja wyświetli wszystkie kolumny wszystkich użytkowników z tabeli „Tecmint” z wyjątkiem użytkownika „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. Czy można zaimplementować „AND” z operatorem NOT (!).
Odpowiedź: Operator AND jest używany, gdy używamy (=), a operator OR jest używany, gdy używamy (!=). Przykład (=) z operatorem AND.
mysql> SELECT * FROM mail WHERE user = SAM AND root = phil
Przykład (!=) z operatorem 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 |
+---------------------+---------+---------+---------+---------+-------+
- =: oznacza równy
- != : Nie równe
- ! : reprezentuje operator NOT
AND i OR są traktowane jako operatory łączenia w MySQL.
4. Do czego służy instrukcja IFNULL() w MySQL?
Odpowiedź: Zapytanie w MySQL można zapisać precyzyjnie za pomocą instrukcji IFNULL(). Instrukcja IFNULL() sprawdza swój pierwszy argument i zwraca, jeśli nie ma wartości NULL, lub zwraca drugi argument, w przeciwnym razie.
mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer;
+---------+---------+
| name | id |
+---------+---------+
| bernina | 198-48 |
| bertha | Unknown |
| ben | Unknown |
| bill | 475-83 |
+---------+---------+
5. Chcesz zobaczyć tylko niektóre wiersze ze zbioru wyników od początku lub końca zbioru wyników. Jak to zrobisz?
Odpowiedź: Aby osiągnąć opisany powyżej scenariusz, musimy użyć klauzuli LIMIT razem z ORDER BY.
Pokaż 1 rekord
mysql> SELECT * FROM name LIMIT 1;
+----+------+------------+-------+----------------------+------+
| id | name | birth | color | foods | cats |
+----+------+------------+-------+----------------------+------+
| 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 |
+----+------+------------+-------+----------------------+------+
Pokaż 5 rekordów
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 kontra MySQL. Który i dlaczego?
Odp: Obydwa rozwiązania mają swoje zalety i wady. Z czasem wolę MySQL.
Powód wyboru MySQL zamiast Oracle
- Mysql to FOSS.
- MySQL jest przenośny.
- MYSQL obsługuje zarówno GUI, jak i wiersz poleceń.
- Administracja MySQL jest obsługiwana przez przeglądarkę zapytań.
7. Jak uzyskać aktualną datę w MySQL?
Odpowiedź: Uzyskanie aktualnej daty w MySQL jest tak proste, jak wykonanie poniższej instrukcji SELECT.
mysql> SELECT CURRENT_DATE();
+----------------+
| CURRENT_DATE() |
+----------------+
| 2014-06-17 |
+----------------+
8. Jak wyeksportujesz tabele jako plik XML w MySQL?
Odpowiedź: Używamy opcji „-e” (eksport), aby wyeksportować tabelę MySQL lub całą bazę danych do pliku XML. W przypadku dużych tabel może być konieczne ręczne wdrożenie, ale w przypadku małych tabel aplikacje takie jak phpMyAdmin mogą wykonać to zadanie.
Może to zrobić natywne polecenie MySQL.
mysql -u USER_NAME –xml -e 'SELECT * FROM table_name' > table_name.xml
Gdzie NAZWA_UŻYTKOWNIKA to nazwa użytkownika bazy danych, nazwa_tabeli to tabela, którą eksportujemy do formatu XML, a nazwa_tabeli.xml to plik xml, w którym przechowywane są dane.
9. Co to jest MySQL_pconnect? A czym różni się od MySQL_connect?
Odpowiedź: MySQL_pconnect() otwiera trwałe połączenie z bazą danych MySQL, co oznacza po prostu, że baza danych nie jest otwierana przy każdym ładowaniu strony i dlatego nie możemy użyj MySQL_close(), aby zamknąć trwałe połączenie.
Krótka różnica między MySQL_pconnect i MySQL_connect to.
W przeciwieństwie do MySQL_pconnect, MySQL_connect – otwiera bazę danych przy każdym załadowaniu strony, którą można zamknąć w dowolnym momencie za pomocą instrukcji MySQL_close().
10. Musisz pokazać wszystkie indeksy zdefiniowane w tabeli, powiedz „użytkownik” bazy danych, powiedz „mysql”. Jak to osiągniesz?
Odpowiedź: Poniższe polecenie wyświetli wszystkie indeksy tabeli „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. Czym są tabele CSV?
Odpowiedź: CSV oznacza wartości oddzielone przecinkami, czyli wartości oddzielone znakami. Tabela CSV przechowuje dane w formacie zwykłego tekstu i tabeli. Zwykle zawiera jeden rekord w każdym wierszu.
Każdy rekord jest oddzielony określonymi ogranicznikami (przecinek, średnik,…), przy czym każdy rekord ma tę samą sekwencję pól. Tabele CSV są najczęściej używane do przechowywania kontaktów telefonicznych w celu importu i eksportu i mogą być używane do przechowywania dowolnego rodzaju danych w postaci zwykłego tekstu.
To wszystko na teraz. Wrócę tu ponownie z kolejnym ciekawym artykułem, który z pewnością z chęcią przeczytacie. Do tego czasu bądź na bieżąco i połącz się z Tecmint. Nie zapomnij podzielić się z nami swoimi cennymi opiniami w sekcji komentarzy poniżej.