11 Iepriekšēja MySQL datu bāze "Intervijas jautājumi un atbildes" Linux lietotājiem


Mēs jau esam publicējuši divus MySQL rakstus, kurus Tecmint Community labi novērtē. Šis ir trešais raksts par MySQL interviju sēriju un sešpadsmit intervijas žanra slejā.

  1. 15 MySQL pamata intervijas jautājumi
  2. 10 MySQL datu bāzes interviju jautājumi starpproduktiem

Mēs visu esam sasnieguši jūsu atbalsta dēļ, un mēs to meklējam arī nākotnē jūsu mērķa sasniegšanai. Šajā rakstā mēs koncentrēsimies uz MySQL praktisko aspektu, jautājumu, kas attiecas uz intervijas aspektu.

Ans: Zemāk esošajā MySQL komandā tiks parādīta servera versija un pašlaik atlasītā datu bāze.

mysql> SELECT VERSION(), DATABASE();

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

Datu bāzes kolonnā tā parāda vērtību NULL , jo mēs neesam atlasījuši nevienu datu bāzi. Tātad, izvēlieties datu bāzi, kā parādīts nākamajā komandā.

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: Šajā paziņojumā tiks parādītas visu kolonnas visiem lietotājiem no tabulas Tecmint , izņemot lietotāju 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: Operators AND tiek izmantots, kad izmantojam (=), un operators OR tiek izmantots, kad lietojam (! =). (=) Piemērs ar AND Operator.

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

(! =) Ar OR operatoru piemērs.

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. =: nozīmē Vienāds ar
  2. ! = : nav vienāds ar
  3. ! : apzīmē NAV operatoru

ANDS vai OR MySQL tiek uzskatīti par pievienojamiem operatoriem.

Ans: Vaicājumu MySQL var precīzi uzrakstīt, izmantojot IFNULL() paziņojumu. IFNULL() priekšraksts pārbauda savu pirmo argumentu un atgriež, ja tas nav NULL, vai atgriež otro argumentu, pretējā gadījumā.

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

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

Ans: Mums jāizmanto klauzula LIMIT kopā ar ORDER BY, lai sasniegtu iepriekš aprakstīto scenāriju.

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: Nu abiem ir savas priekšrocības un trūkumi. Laika gaitā es dodu priekšroku MySQL.

  1. MySQL ir FOSS.
  2. MySQL ir pārnēsājams.
  3. MYSQL atbalsta gan GUI, gan komandu uzvedni.
  4. MySQL administrēšana tiek atbalstīta, izmantojot vaicājumu pārlūku.

Ans: Pašreizējā datuma iegūšana MySQL ir tikpat vienkārša, kā izpildīt zemāk esošo SELECT paziņojumu.

mysql> SELECT CURRENT_DATE();

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

Ans: Mēs izmantojam opciju ‘-e’ (eksportēt), lai eksportētu MySQL tabulu vai visu datu bāzi XML failā. Ar lielām tabulām, iespējams, tas būs jāievieš manuāli, bet mazām tabulām darbu var veikt tādas lietojumprogrammas kā phpMyAdmin.

Vietējā MySQL komanda to var izdarīt.

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

Ja USER_NAME ir datu bāzes lietotājvārds, table_name ir tabula, kuru eksportējam uz XML, un table_name.xml ir fails xml, kurā tiek glabāti dati.

Ans: MySQL_pconnect() atver pastāvīgu savienojumu ar MySQL datu bāzi, kas vienkārši nozīmē, ka datu bāze netiek atvērta katru reizi, kad lapa tiek ielādēta, un tāpēc mēs to nevaram izmantojiet MySQL_close(), lai aizvērtu pastāvīgu savienojumu.

Īsa atšķirība starp MySQL_pconnect un MySQL_connect ir.

Atšķirībā no MySQL_pconnect, MySQL_connect - katru reizi atverot lapu, tiek atvērta datu bāze, kuru jebkurā laikā var aizvērt, izmantojot paziņojumu MySQL_close().

Ans: Šī komanda parādīs visus tabulas ‘lietotāja’ indeksus.

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 apzīmē komatiem atdalītas vērtības jeb Rakstzīmēm atdalītas vērtības. CSV tabulā dati tiek glabāti vienkāršā tekstā un tabulu formātā. Parasti katrā rindā ir viens ieraksts.

Katru ierakstu atdala konkrēti atdalītāji (komats, semikols,…), kur katram ierakstam ir vienāda lauka secība. CSV tabulas visplašāk izmanto tālruņa kontaktu glabāšanai importēšanai un eksportēšanai, un tās var izmantot jebkura veida vienkārša teksta datu glabāšanai.

Tas pagaidām ir viss. Es atkal būšu šeit ar vēl vienu interesantu rakstu, jūs, cilvēki, labprāt lasīsit. Pēc tam sekojiet līdzi un sazinieties ar Tecmint, un neaizmirstiet mums sniegt vērtīgas atsauksmes komentāru sadaļā zemāk.