Zoeken op website

11 Geavanceerde MySQL-database "Interviewvragen en antwoorden" voor Linux-gebruikers


We hebben al twee MySQL-artikelen gepubliceerd, die zeer gewaardeerd worden door de Tecmint Community. Dit is het derde artikel over de MySQL-interviewserie en zestien in de kolom Interviewgenre.

  1. 15 fundamentele MySQL-interviewvragen
  2. 10 MySQL Database-interviewvragen voor tussenpersonen

We zijn hier allemaal terechtgekomen dankzij uw steun en we streven hetzelfde in de toekomst van uw kant. Hier in dit artikel zullen we ons concentreren op het praktische aspect van MySQL, de vraag die relevant is voor het interviewaspect.

1. Zoek met behulp van de SELECT-instructie de versie van de server die u gebruikt en druk de naam van de huidige database af?

Ans: De onderstaande MySQL-opdracht toont de serverversie en de momenteel geselecteerde database.

mysql> SELECT VERSION(), DATABASE();

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

In de databasekolom wordt de waarde NULL weergegeven omdat we geen database hebben geselecteerd. Selecteer dus de database zoals weergegeven in de volgende opdracht.

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. GEBRUIK NIET Operator (!) om alle gebruikers behalve ‘SAM’ te selecteren uit een tabel met de naam ‘Tecmint’

Ans: De onderstaande verklaring toont alle kolommen van alle gebruikers uit tabel 'Tecmint' behalve de gebruiker '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. Is het mogelijk om ‘AND’ te implementeren met NOT (!) Operator.

Ans: De AND-operator wordt gebruikt als we (=) gebruiken en de operator OR wordt gebruikt als we (!=) gebruiken. Een voorbeeld van (=) met AND-operator.

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

Een voorbeeld van (!=) met OR-operator.

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. =: betekent Gelijk aan
  2. != : Niet gelijk aan
  3. ! : staat voor NIET-operator

De AND & OR worden in MySQL behandeld als join-operatoren.

4. Waarvoor wordt de IFNULL()-instructie gebruikt in MySQL?

Ans: De query in MySQL kan nauwkeurig worden geschreven met behulp van de IFNULL()-instructie. De instructie IFNULL() test het eerste argument en retourneert als het niet NULL is, of retourneert het tweede argument, anders.

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

+---------+---------+ 
| name 	  | id      | 
+---------+---------+ 
| bernina | 198-48  | 
| bertha  | Unknown | 
| ben     | Unknown | 
| bill    | 475-83  | 
+---------+---------+
5. U wilt alleen bepaalde rijen uit een resultatenset zien vanaf het begin of einde van een resultatenset. Hoe ga je het doen?

Ans: We moeten de LIMIT-clausule samen met ORDER BY gebruiken om het hierboven beschreven scenario te bereiken.

Toon 1 record
mysql> SELECT * FROM name LIMIT 1;

+----+------+------------+-------+----------------------+------+ 
| id | name | birth      | color | foods                | cats | 
+----+------+------------+-------+----------------------+------+ 
| 1  | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0    | 
+----+------+------------+-------+----------------------+------+
Toon 5 Opnemen
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 versus MySQL. Welke en waarom?

Ans: Beide hebben hun voor- en nadelen. Na verloop van tijd geef ik de voorkeur aan MySQL.

Reden voor selectie MySQL via orakel
  1. MySQL is FOSS.
  2. MySQL is draagbaar.
  3. MYSQL ondersteunt zowel GUI als opdrachtprompt.
  4. MySQL-beheer wordt ondersteund via Query Browser.
7. Hoe krijg je de huidige datum in MySQL?

Ans: Het verkrijgen van de huidige datum in MySQL is net zo eenvoudig als het uitvoeren van de onderstaande SELECT-instructie.

mysql> SELECT CURRENT_DATE();

+----------------+
| CURRENT_DATE() |
+----------------+
| 2014-06-17     |
+----------------+
8. Hoe exporteer je tabellen als XML-bestand in MySQL?

Ans: We gebruiken de optie ‘-e‘ (exporteren) om de MySQL-tabel of de hele database naar een XML-bestand te exporteren. Bij grote tabellen moeten we dit misschien handmatig implementeren, maar voor kleine tabellen kunnen applicaties zoals phpMyAdmin het werk doen.

Een native opdracht van MySQL kan dit doen.

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

Waar USER_NAME de gebruikersnaam van de database is, is tabelnaam de tabel die we naar XML exporteren en tabelnaam.xml is het XML-bestand waarin gegevens worden opgeslagen.

9. Wat is MySQL_pconnect? En hoe verschilt het van MySQL_connect?

Ans: MySQL_pconnect() opent een verbinding die persistent is met de MySQL-database, wat eenvoudigweg betekent dat de database niet elke keer wordt geopend als de pagina wordt geladen en daarom kunnen we dat niet doen gebruik MySQL_close() om een permanente verbinding te sluiten.

Een kort verschil tussen MySQL_pconnect en MySQL_connect zijn.

In tegenstelling tot MySQL_pconnect opent MySQL_connect de database elke keer dat de pagina wordt geladen, die op elk moment kan worden gesloten met behulp van de instructie MySQL_close().

10. U moet alle indexen weergeven die zijn gedefinieerd in een tabel, zeg 'gebruiker' van Database, zeg 'mysql'. Hoe ga je dit bereiken?

Ans: Het volgende commando toont alle indexen van een tabel '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. Wat zijn CSV-tabellen?

Ans: CSV staat voor Comma-Separated Values, oftewel door tekens gescheiden waarden. CSV-tabel slaat gegevens op in platte tekst en in tabelvorm. Het bevat doorgaans één record per regel.

Elke record wordt gescheiden door specifieke scheidingstekens (komma, puntkomma, ...), waarbij elke record dezelfde reeks velden heeft. CSV-tabellen worden het meest gebruikt om telefooncontacten op te slaan voor import en export en kunnen worden gebruikt om alle soorten platte tekstgegevens op te slaan.

Dat is het voor nu. Ik zal hier weer zijn met nog een interessant artikel, jullie zullen het graag lezen. Blijf tot die tijd op de hoogte en verbonden met Tecmint en vergeet niet om ons uw waardevolle feedback te geven in het commentaargedeelte hieronder.