11 Advance MySQL Datebank Interview Froen an Äntwerten fir Linux Benotzer


Mir hu schonn zwee MySQL Artikelen publizéiert, gutt geschätzt vun der Tecmint Community. Dëst ass den drëtten Artikel iwwer MySQL Interview Serie a siechzéng an der Interview Genre Kolonn.

  1. 15 Basis MySQL Interview Froen
  2. 10 MySQL Datebank Interview Froen fir Intermediate

Mir sinn hei all erreecht wéinst Ärer Ënnerstëtzung a mir sichen datselwecht an Zukunft aus Ärem Enn. Hei an dësem Artikel konzentréiere mir eis op de prakteschen Aspekt vu MySQL, d'Fro relevant fir den Interview Aspekt.

Ans: De MySQL Kommando hei drënner weist d'Server Versioun an d'aktuell gewielte Datebank.

mysql> SELECT VERSION(), DATABASE();

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

An der Datebank Kolonn weist et NULL Wäert well mir keng Datebank ausgewielt hunn. Also wielt Datebank wéi am folgende Kommando gewisen.

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)

Ans: Déi folgend Ausso weist all d'Kolonn vun all de Benotzer aus der Tabell 'Tecmint' ausser de Benotzer ' 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   | 
+---------------------+---------+---------+---------+---------+-------+

Ans: Den AND Bedreiwer gëtt benotzt wa mir (=) benotzen an den Bedreiwer ODER gëtt benotzt wa mir (!=) benotzen. E Beispill vun (=) mat AND Operator.

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

E Beispill vun (!=) mat ODER Bedreiwer.

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. = : heescht Gläich
  2. != : Net Gläich
  3. ! : representéiert NET Bedreiwer

D'AN & ODER ginn als Bäitrëttsbetreiber an MySQL behandelt.

Ans: D'Query am MySQL kann präzis mat der IFNULL() Ausso geschriwwe ginn. D'IFNULL() Ausso test säin éischten Argument a gëtt zréck wann et net NULL ass, oder gëtt säin zweet Argument zréck, soss.

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

+---------+---------+ 
| name 	  | id      | 
+---------+---------+ 
| bernina | 198-48  | 
| bertha  | Unknown | 
| ben     | Unknown | 
| bill    | 475-83  | 
+---------+---------+

Ans: Mir mussen d'LIMIT Klausel zesumme mat ORDER BY benotzen fir dat uewe beschriwwe Szenario z'erreechen.

mysql> SELECT * FROM name LIMIT 1;

+----+------+------------+-------+----------------------+------+ 
| id | name | birth      | color | foods                | cats | 
+----+------+------------+-------+----------------------+------+ 
| 1  | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0    | 
+----+------+------------+-------+----------------------+------+
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    | 
+----+------+------------+-------+----------------+------+

Ans: Gutt souwuel huet seng Virdeeler an Nodeeler. Als Fro vun der Zäit léiwer ech MySQL.

  1. Mysql ass FOSS.
  2. MySQL ass portabel.
  3. MYSQL ënnerstëtzt souwuel GUI wéi och Command Prompt.
  4. MySQL Administratioun gëtt iwwer Query Browser ënnerstëtzt.

Ans: Den aktuellen Datum an MySQL ze kréien ass sou einfach wéi d'Ausféierung vun der SELECT Ausso hei ënnen.

mysql> SELECT CURRENT_DATE();

+----------------+
| CURRENT_DATE() |
+----------------+
| 2014-06-17     |
+----------------+

Ans: Mir benotzen '-e' (Export) Optioun fir MySQL Tabell oder déi ganz Datebank an eng XML Datei ze exportéieren. Mat groussen Dëscher musse mir et eventuell manuell implementéieren, awer fir kleng Dëscher kënnen Uwendunge wéi phpMyAdmin d'Aarbecht maachen.

E gebiertege Kommando vu MySQL kann et maachen.

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

Wou USER_NAME Benotzernumm vun der Datebank ass, ass table_name den Dësch, deen mir op XML exportéieren an table_name.xml ass d'Xml-Datei wou d'Donnéeën gespäichert ginn.

Ans: MySQL_pconnect() mécht eng Verbindung op déi persistent mat der MySQL Datebank ass, wat einfach heescht datt d'Datebank net all Kéier opgemaach gëtt wann d'Säit lued an dofir si mir kann MySQL_close() net benotzen fir eng persistent Verbindung zouzemaachen.

E kuerzen Ënnerscheed tëscht MySQL_pconnect an MySQL_connect sinn.

Am Géigesaz zu MySQL_pconnect, MySQL_connect - mécht d'Datebank op all Kéier wann d'Säit gelueden ass, déi zu all Moment mat der Ausso MySQL_close() zougemaach ka ginn.

Ans: De folgende Kommando weist all d'Indexe vun engem Dësch 'Benotzer'.

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)

Ans: CSV steet fir Comma-Separated Values aka Character-Separated Values. CSV Tabelle späichert Daten am Kloertext an Tabellform. Et enthält typesch ee Rekord pro Zeil.

All Rekord gëtt duerch spezifesch Ofgrenzer getrennt (Comma, Semi-Colon, ...) wou all Rekord déiselwecht Sequenz vum Feld huet. CSV Dëscher ginn am meeschte verbreet fir Telefonskontakter ze späicheren fir ze importéieren an ze exportéieren a kënne benotzt ginn fir all Zort vun einfachen Textdaten ze späicheren.

Dat ass alles fir elo. Ech wäert erëm hei mat engem aneren interessanten Artikel sinn, Dir wäert gär liesen. Bis dann bleift ofgeschloss a verbonne mat Tecmint a Vergiesst net eis Äre wäertvolle Feedback an der Kommentarsektioun hei drënner ze ginn.