11 Edistä MySQL-tietokanta "Haastattelukysymykset ja vastaukset" Linux-käyttäjille


Olemme jo julkaisseet kaksi MySQL-artikkelia, jotka Tecmint Community on arvostanut hyvin. Tämä on kolmas artikkeli MySQL-haastattelusarjoista ja kuusitoista haastattelulajisarakkeessa.

  1. 15 MySQL-haastattelukysymystä
  2. 10 MySQL-tietokannan haastattelukysymystä välituotteille

Olemme päässeet tänne kaikki tukesi vuoksi ja etsimme samaa tulevaisuudessa loppusi kautta. Tässä artikkelissa keskitymme MySQL: n käytännön näkökulmaan, kysymykseen, joka on tärkeä haastattelulle.

Ans: Alla oleva MySQL-komento näyttää palvelimen version ja tällä hetkellä valitun tietokannan.

mysql> SELECT VERSION(), DATABASE();

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

Tietokanta-sarakkeessa se näyttää arvon NULL , koska emme ole valinneet mitään tietokantaa. Joten valitse tietokanta seuraavan komennon mukaisesti.

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: Alla oleva käsky näyttää taulukon Tecmint kaikkien käyttäjien kaikki sarakkeet paitsi käyttäjän 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: AND-operaattoria käytetään, kun käytämme (=), ja operaattoria OR käytetään, kun käytämme (! =). Esimerkki (=) AND-operaattorista.

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

Esimerkki (! =) OR-operaattorista.

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. =: tarkoittaa yhtä kuin
  2. ! = : Ei yhtä suuri kuin
  3. ! : edustaa EI operaattoria

AND & OR -kohteita käsitellään liittyneinä operaattoreina MySQL: ssä.

Ans: MySQL-kysely voidaan kirjoittaa tarkasti IFNULL() -lausekkeella. IFNULL() -lauseke testaa ensimmäisen argumenttinsa ja palauttaa, jos se ei ole NULL, tai palauttaa toisen argumentin, muuten.

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

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

Ans: Meidän on käytettävä LIMIT -lauseketta ORDER BY -toiminnon kanssa edellä kuvatun skenaarion saavuttamiseksi.

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: Molemmilla on etuja ja haittoja. Ajan myötä pidän MySQL: stä.

  1. MySql on FOSS.
  2. MySQL on kannettava.
  3. MYSQL tukee sekä graafista käyttöliittymää että komentokehotetta.
  4. MySQL-hallintaa tuetaan kyselyselaimella.

Ans: Nykyisen päivämäärän saaminen MySQL: ssä on yhtä helppoa kuin alla olevan SELECT-lauseen suorittaminen.

mysql> SELECT CURRENT_DATE();

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

Ans: Käytämme ‘-e’ (vienti) -vaihtoehtoa viedäksesi MySQL-taulukon tai koko tietokannan XML-tiedostoon. Suurilla pöydillä joudumme ehkä toteuttamaan sen manuaalisesti, mutta pienissä pöydissä sovellukset, kuten phpMyAdmin, voivat tehdä tämän.

MySQL: n natiivikomento voi tehdä sen.

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

Jos USER_NAME on tietokannan käyttäjänimi, table_name on taulukko, jonka vietämme XML: ään, ja table_name.xml on xml-tiedosto, johon tiedot tallennetaan.

Ans: MySQL_pconnect() avaa yhteyden, joka on pysyvä MySQL-tietokantaan, mikä tarkoittaa yksinkertaisesti sitä, että tietokantaa ei avata joka kerta, kun sivu latautuu, joten emme voi käytä MySQL_close() -sovellusta pysyvän yhteyden sulkemiseen.

Lyhyt ero MySQL_pconnectin ja MySQL_connectin välillä on.

Toisin kuin MySQL_pconnect, MySQL_connect - Avaa tietokannan joka kerta, kun sivu ladataan, joka voidaan sulkea milloin tahansa käskyllä MySQL_close().

Ans: Seuraava komento näyttää kaikki taulukon käyttäjän hakemistot.

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 tarkoittaa pilkuilla erotettuja arvoja eli merkillä erotettuja arvoja. CSV-taulukko tallentaa tiedot pelkkänä tekstinä ja taulukkomuodossa. Se sisältää tyypillisesti yhden tietueen riviä kohden.

Jokainen tietue on erotettu tietyillä erottimilla (pilkku, puolipiste,…), joissa jokaisella tietueella on sama kenttäsekvenssi. CSV-taulukoita käytetään yleisimmin puhelinkontaktien tallentamiseen tuontiin ja vientiin, ja niitä voidaan käyttää kaikenlaisen pelkkän tekstidatan tallentamiseen.

Tässä kaikki tältä erää. Tulen taas tänne toisen mielenkiintoisen artikkelin kanssa. Till sitten pysy kuulolla ja yhteydessä Tecmintiin.Älä unohda antaa meille arvokasta palautettasi alla olevassa kommenttiosassa.