11 Advance MySQL-database "Intervjuspørsmål og svar" for Linux-brukere


Vi har allerede publisert to MySQL-artikler, godt verdsatt av Tecmint Community. Dette er den tredje artikkelen om MySQL-intervjuserien og seksten i Intervjusjangerkolonnen.

  1. 15 Grunnleggende MySQL-intervjuspørsmål
  2. 10 MySQL-databaseintervjuspørsmål for mellomledd

Vi har nådd hit alle på grunn av din støtte, og vi søker det samme i fremtiden fra din ende. Her i denne artikkelen vil vi konsentrere oss om det praktiske aspektet ved MySQL, spørsmålet som er relevant for intervjuaspektet.

1. Bruk SELECT-setningen til å finne versjonen av serveren du kjører og skrive ut navnet på gjeldende database?

Svar: MySQL-kommandoen nedenfor vil vise serverversjonen og den valgte databasen.

mysql> SELECT VERSION(), DATABASE();

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

I databasekolonnen viser den NULL-verdien fordi vi ikke har valgt noen database. Så velg database som vist i følgende kommando.

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. BRUK IKKE-operatør (!) for å velge alle brukerne unntatt 'SAM' fra en tabell, si 'Tecmint'

Svar: Utsagnet nedenfor vil vise alle kolonnene til alle brukerne fra tabellen Tecmint, bortsett fra brukeren 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. Er det mulig å implementere ‘AND’ med IKKE (!) Operatør.

Svar: AND-operatoren brukes når vi bruker (=) og operatoren OR brukes når vi bruker (!=). Et eksempel på (=) med AND Operator.

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

Et eksempel på (!=) med OR-operatør.

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. = : betyr lik
  2. != : Ikke lik
  3. ! : representerer IKKE operatør

OG & ELLER behandles som joining-operatører i MySQL.

4. Hvilken IFNULL()-setning brukes til i MySQL?

Svar: Spørringen i MySQL kan skrives nøyaktig ved å bruke IFNULL()-setningen. IFNULL()-setningen tester det første argumentet og returnerer hvis det ikke er NULL, eller returnerer det andre argumentet.

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

+---------+---------+ 
| name 	  | id      | 
+---------+---------+ 
| bernina | 198-48  | 
| bertha  | Unknown | 
| ben     | Unknown | 
| bill    | 475-83  | 
+---------+---------+
5. Du vil bare se visse rader fra et resultatsett fra begynnelsen eller slutten av et resultatsett. Hvordan vil du gjøre det?

Svar: Vi må bruke LIMIT-klausulen sammen med ORDER BY for å oppnå scenariet ovenfor.

Vis 1 post
mysql> SELECT * FROM name LIMIT 1;

+----+------+------------+-------+----------------------+------+ 
| id | name | birth      | color | foods                | cats | 
+----+------+------------+-------+----------------------+------+ 
| 1  | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0    | 
+----+------+------------+-------+----------------------+------+
Vis 5 Record
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 vs MySQL. Hvilken og hvorfor?

Svar: Vel, begge har sine fordeler og ulemper. Som et spørsmål om tid foretrekker jeg MySQL.

Årsak til valg MySQL Over oracle
  1. Mysql er FOSS.
  2. MySQL er bærbart.
  3. MYSQL støtter både GUI og kommandoprompt.
  4. MySQL-administrasjon støttes over Query Browser.
7. Hvordan får du nåværende dato i MySQL?

Svar: Å få gjeldende dato i MySQL er like enkelt som å utføre SELECT-setningen nedenfor.

mysql> SELECT CURRENT_DATE();

+----------------+
| CURRENT_DATE() |
+----------------+
| 2014-06-17     |
+----------------+
8. Hvordan vil du eksportere tabeller som en XML-fil i MySQL?

Svar: Vi bruker "-e" (eksport)-alternativet for å eksportere MySQL-tabellen eller hele databasen til en XML-fil. Med store tabeller må vi kanskje implementere det manuelt, men for små tabeller kan applikasjoner som phpMyAdmin gjøre jobben.

En innfødt kommando av MySQL kan gjøre det.

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

Der USER_NAME er brukernavnet til databasen, er tabellnavn tabellen vi eksporterer til XML og tabellnavn.xml er xml-filen der data lagres.

9. Hva er MySQL_pconnect? Og hvordan skiller det seg fra MySQL_connect?

Svar: MySQL_pconnect() åpner en tilkobling som er vedvarende til MySQL-databasen, noe som ganske enkelt betyr at databasen ikke åpnes hver gang siden lastes inn, og vi kan derfor ikke bruk MySQL_close() for å lukke en vedvarende tilkobling.

En kort forskjell mellom MySQL_pconnect og MySQL_connect er.

I motsetning til MySQL_pconnect, MySQL_connect – Åpner databasen hver gang siden lastes, som kan lukkes når som helst ved å bruke setningen MySQL_close().

10. Du må vise alle indeksene som er definert i en tabell, si "bruker" av databasen si "mysql". Hvordan vil du oppnå dette?

Svar: Følgende kommando vil vise alle indeksene til en tabell 'bruker'.

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. Hva er CSV-tabeller?

Svar: CSV står for Comma-Separated Values aka Character-Separated Values. CSV-tabellen lagrer data i ren tekst og tabellformat. Den inneholder vanligvis én post per linje.

Hver post er atskilt med spesifikke skilletegn (komma, semikolon, ...) der hver post har samme sekvens av felt. CSV-tabeller er mest brukt til å lagre telefonkontakter for å importere og eksportere og kan brukes til å lagre alle slags ren tekstdata.

Det er alt for nå. Jeg vil være her igjen med en annen interessant artikkel, dere vil elske å lese. Inntil da, følg med og koble til Tecmint, og ikke glem å gi oss din verdifulle tilbakemelding i kommentarfeltet nedenfor.