11 Hifadhidata ya Advance MySQL Maswali na Majibu ya Mahojiano kwa Watumiaji wa Linux


Tayari tumechapisha nakala mbili za MySQL, zinazothaminiwa vyema na Jumuiya ya Tecmint. Hili ni nakala ya tatu kwenye safu ya Mahojiano ya MySQL na kumi na sita kwenye Safu ya Aina ya Mahojiano.

  1. Maswali 15 ya Msingi ya Mahojiano ya MySQL
  2. Maswali 10 ya Mahojiano ya Hifadhidata ya MySQL kwa Waalimu

Tumefika hapa kwa sababu ya usaidizi wako na tunatafuta sawa katika siku zijazo mwisho wako. Hapa katika makala hii tutakuwa tukizingatia kipengele cha vitendo cha MySQL, swali linalofaa kwa kipengele cha Mahojiano.

Jibu: Amri iliyo hapa chini ya MySQL itaonyesha toleo la seva na Hifadhidata iliyochaguliwa kwa sasa.

mysql> SELECT VERSION(), DATABASE();

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

Katika Safu ya Hifadhidata inaonyesha NULL thamani kwa sababu hatujachagua hifadhidata yoyote. Kwa hivyo, chagua hifadhidata kama inavyoonyeshwa katika amri ifuatayo.

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)

Majibu: Taarifa iliyo hapa chini itaonyesha safu wima zote za watumiaji wote kutoka kwenye jedwali la 'Tecmint' isipokuwa mtumiaji ' 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   | 
+---------------------+---------+---------+---------+---------+-------+

Jibu: Opereta AND hutumika tunapotumia (=) na opereta AU inatumiwa tunapotumia (!=). Mfano wa (=) na NA Opereta.

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

Mfano wa (!=) na AU Opereta.

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. = : ina maana Sawa na
  2. != : Sio Sawa na
  3. ! : inawakilisha SIO Opereta

AND & AU huchukuliwa kama waendeshaji wanaojiunga katika MySQL.

Majibu: Hoja katika MySQL inaweza kuandikwa kwa usahihi kwa kutumia taarifa ya IFNULL(). Taarifa ya IFNULL() inajaribu hoja yake ya kwanza na inarudi ikiwa sio NULL, au inarudisha hoja yake ya pili, vinginevyo.

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

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

Majibu: Tunahitaji kutumia LIMIT kifungu pamoja na ORDER BY ili kufikia hali iliyoelezwa hapo juu.

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    | 
+----+------+------------+-------+----------------+------+

Jibu: Vyote viwili vina faida na hasara zake. Kama suala la muda napendelea MySQL.

  1. Mysql ni FOSS.
  2. MySQL inabebeka.
  3. MYSQL inaauni GUI na Amri Prompt.
  4. Utawala wa MySQL unatumika kupitia Kivinjari cha Hoji.

Majibu: Kupata tarehe ya sasa katika MySQL ni rahisi kama kutekeleza Taarifa CHAGUA iliyo hapa chini.

mysql> SELECT CURRENT_DATE();

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

Majibu: Tunatumia chaguo la ‘-e‘ (hamisha) kuhamisha jedwali la MySQL au hifadhidata nzima hadi faili ya XML. Kwa majedwali makubwa tunaweza kuhitaji kuitekeleza kwa mikono lakini kwa jedwali ndogo, programu tumizi kama phpMyAdmin zinaweza kufanya kazi hiyo.

Amri ya asili ya MySQL inaweza kuifanya.

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

Ambapo USER_NAME ni jina la mtumiaji la Hifadhidata, table_name ni jedwali tunalosafirisha hadi kwa XML na table_name.xml ni faili ya xml ambapo data huhifadhiwa.

Jibu: MySQL_pconnect() hufungua muunganisho unaodumu kwa Hifadhidata ya MySQL ambayo ina maana kwamba hifadhidata haifunguki kila mara ukurasa unapopakia na hivyo basi haiwezi kutumia MySQL_close() kufunga muunganisho unaoendelea.

Tofauti fupi kati ya MySQL_pconnect na MySQL_connect ni.

Tofauti na MySQL_pconnect, MySQL_connect - Hufungua Hifadhidata kila mara ukurasa unapopakiwa ambayo inaweza kufungwa wakati wowote kwa kutumia taarifa MySQL_close().

Jibu: Amri ifuatayo itaonyesha faharasa zote za jedwali la ‘mtumiaji’.

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)

Jibu: CSV inawakilisha Thamani Zilizotenganishwa kwa koma, yaani, Thamani Zilizotenganishwa na Wahusika. Jedwali la CSV huhifadhi data katika maandishi wazi na umbizo la jedwali. Kwa kawaida huwa na rekodi moja kwa kila mstari.

Kila rekodi inatenganishwa na vikomo maalum (Koma, Nusu koloni, ...) ambapo kila rekodi ina mlolongo sawa wa uga. Majedwali ya CSV hutumiwa sana kuhifadhi waasiliani wa simu ili Kuagiza na Kuhamisha na inaweza kutumika kuhifadhi aina yoyote ya data ya maandishi wazi.

Hayo ni yote kwa sasa. Nitakuwa hapa tena na makala nyingine ya Kuvutia, nyinyi watu mtapenda kusoma. Hadi wakati huo, endelea kufuatilia na kushikamana na Tecmint na Usisahau kutupa maoni yako muhimu katika sehemu ya maoni hapa chini.