top 40 best mysql interview questions
Lista celor mai populare întrebări de interviu MySQL cu exemple de întrebări (cele mai recente întrebări MySQL din 2021):
MySQL este o parte esențială a aplicației web moderne, iar cunoașterea MySQL este o cerință obișnuită pentru slujba oricărui dezvoltator web.
O listă de întrebări de bază, precum și de nivel avansat MySQL pentru începători și profesioniști cu experiență, sunt explicate în acest articol cu exemple necesare.
Aceste întrebări vor ajuta orice căutător de locuri de muncă să își crească nivelul de încredere și să facă față interviului cu succes.
Cele mai frecvente întrebări de interviu MySQL
Mai jos sunt enumerate cele mai populare întrebări de interviu MySQL care sunt adresate frecvent în interviuri de către experți.
Q # 1) Ce este MySQL?
Răspuns: MySQL este un SGBD open-source dezvoltat și distribuit de Oracle Corporation.
Este acceptat de majoritatea sistemelor de operare populare, cum ar fi Windows, Linux etc. Acesta poate fi utilizat pentru a dezvolta diferite tipuri de aplicații, dar este utilizat în principal pentru dezvoltarea de aplicații web.
Citiți și = >> Întrebări despre interviul Web Devloper
MySQL folosește GPL (GNU General Public License), astfel încât oricine îl poate descărca și instala pentru a dezvolta acele aplicații care vor fi publicate sau distribuite în mod liber. Dar dacă un utilizator dorește să dezvolte orice aplicație comercială utilizând MySQL, atunci va trebui să cumpere versiunea comercială a MySQL.
Q # 2) Care sunt caracteristicile MySQL?
Răspuns: MySQL are mai multe caracteristici utile care îl fac un software popular de gestionare a bazelor de date.
Unele caracteristici importante ale MySQL sunt menționate mai jos:
- Este de asemenea fiabil și ușor de utilizat.
- Este un software adecvat pentru baze de date atât pentru aplicații mari, cât și pentru aplicații mici.
- Oricine îl poate instala și utiliza fără costuri.
- Este susținut de multe limbaje de programare bine cunoscute, cum ar fi PHP, Java, C ++, PERL etc.
- Suportă SQL standard (Structured Query Language).
- Licența open-source MySQL este personalizabilă. Prin urmare, un dezvoltator îl poate modifica în funcție de cerințele aplicației.
Î # 3) Care este numărul de port implicit al MySQL?
Răspuns: Numărul implicit de port al MySQL este 3306.
Q # 4) Cum puteți afla versiunea MySQL instalată?
Răspuns: Versiunea serverului MySQL instalat poate fi găsită cu ușurință executând următoarea comandă din promptul MySQL.
mysql> AFIȘAȚI VARIABILELE CA „% version%”;
Q # 5) Care sunt avantajele și dezavantajele utilizării MySQL?
Răspuns: Există mai multe avantaje ale MySQL care îl fac acum un sistem de baze de date mai popular.
Unele avantaje și dezavantaje semnificative ale MySQL sunt menționate mai jos.
Avantaje:
- Este bine-cunoscut pentru sistemul său sigur de gestionare a bazelor de date. Sarcinile tranzacționale ale site-ului web pot fi realizate mai sigur prin utilizarea acestui software.
- Suportă diferite tipuri de motoare de stocare pentru stocarea datelor și funcționează mai rapid pentru această caracteristică.
- Poate gestiona milioane de interogări cu un proces tranzacțional de mare viteză.
- Suportă multe funcții de baze de date la nivel avansat, cum ar fi tranzacții pe mai multe niveluri, integritatea datelor, identificarea blocajului etc.
- Procesele de întreținere și depanare sunt mai ușoare pentru acest software.
Dezavantaje:
- Este greu să faci MySQL scalabil.
- Nu este potrivit pentru un tip foarte mare de baze de date.
- Utilizările rutinelor și declanșatoarelor stocate sunt limitate la MySQL.
Q # 6) Care este funcția myisamchk?
Răspuns: myisamchk este un instrument util de utilitate pentru baze de date care este utilizat pentru a obține informații despre tabelele bazei de date MyISAM.
Este, de asemenea, utilizat pentru verificarea, depanarea, repararea și optimizarea tabelelor bazei de date. Este mai bine să utilizați această comandă atunci când serverul este oprit sau când tabelele necesare nu sunt utilizate de server.
Sintaxă:
myisamchk (OPTION) nume_tabel ...
Opțiunile disponibile ale acestui instrument pot fi recuperate folosind următoarea comandă.
myisamchk –help
Pentru a verifica sau repara toate tabelele MyISAM, va fi necesară următoarea comandă pentru executarea din locația directorului bazei de date.
myisamchk * .MYI
Q # 7) Care sunt scopurile utilizării tipurilor de date ENUM și SET?
Răspuns: Tipul de date ENUM este utilizat în tabelul bazei de date MySQL pentru a selecta orice valoare din lista predefinită.
Valoarea unui anumit câmp poate fi restricționată prin definirea listei predefinite, deoarece câmpul declarat ca ENUM nu va accepta nicio valoare în afara listei.
Tipul de date SET este utilizat pentru a selecta una sau mai multe sau toate valorile din lista predefinită. Acest tip de date poate fi, de asemenea, utilizat pentru a restricționa câmpul pentru inserarea numai a listei predefinite de valori, cum ar fi ENUM.
Exemplu:
Rulați serverul MySQL de la promptul de comandă și executați următoarele comenzi SQL pentru a cunoaște utilizarea tipului de date ENUM și SET.
Următoarele comenzi SQL creați o nouă bază de date numit ' newdb ’Și selectați baza de date pentru utilizare.
CREATE DATABASE newdb;
USE newdb;
Următoarea comandă SQL va crea un tabel numit clienți cu câmpurile ENUM și SET tip de date.
CREATE TABLE clients ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), membership ENUM('Silver', 'Gold', 'Diamond'), interest SET('Movie', 'Music', 'Concert'));
INSERT interogări vor crea două înregistrări în tabel. Câmpul ENUM acceptă doar date din lista definită.
' Premium 'Valoare nu există pe lista ENUM. Prin urmare, valoarea câmpului ENUM va fi goală pentru a doua înregistrare. SET poate accepta mai multe valori și ambele date vor fi inserate în a doua înregistrare.
INSERT INTO clients (name, membership,interest) VALUES ('Sehnaz','Gold', 'Music'), ('Sourav','Premium', 'Movie,Concert'); SELECT * FROM clients;
Q # 8) Care sunt diferențele dintre o cheie primară și o cheie străină?
Răspuns: Tabelul bazei de date utilizează o cheie principală pentru a identifica fiecare rând în mod unic. Este necesar să declarați cheia primară pe acele tabele care necesită crearea unei relații între ele. Unul sau mai multe câmpuri ale unui tabel pot fi declarate ca cheie primară.
Când cheia primară a oricărei tabele este utilizată într-un alt tabel ca cheie primară sau un alt câmp pentru realizarea unei relații cu baza de date, atunci aceasta se numește cheie străină.
Diferențele dintre aceste două chei sunt menționate mai jos:
- Cheia primară identifică în mod unic o înregistrare, în timp ce cheia externă se referă la cheia primară a altui tabel.
- Cheia primară nu poate accepta niciodată o valoare NULL, dar cheia străină acceptă o valoare NULL.
- Când o înregistrare este inserată într-un tabel care conține cheia primară, atunci nu este necesar să introduceți valoarea pe tabela care conține acest câmp cheie primară ca cheie externă.
- Când o înregistrare este ștearsă din tabelul care conține cheia primară, atunci înregistrarea corespunzătoare trebuie ștearsă din tabelul care conține cheia externă pentru coerența datelor. Dar orice înregistrare poate fi ștearsă din tabel care conține o cheie străină fără a șterge o înregistrare legată a altui tabel.
Exemplu:
Două tabele numite producători și obiecte va fi creat după executarea următoarelor două comenzi SQL.
Aici, cheia principală a producătorului tabelul este folosit ca cheie străină în obiecte tabel cu numele câmpului producător_id . Prin urmare, producător_id câmpul va conține numai acele valori care există în producătorului masa.
CREATE TABLE manufacturers ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50)); CREATE TABLE items ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), type VARCHAR(50), brand VARCHAR(50), manufacturer_id INT, FOREIGN KEY (manufacturer_id) REFERENCES manufacturers(id));
Q # 9) Care sunt diferențele dintre tipurile de date CHAR și VARCHAR?
Răspuns: Atât tipurile de date CHAR, cât și VARCHAR sunt utilizate pentru a stoca date șir în câmpul tabelului.
Diferențele dintre aceste tipuri de date sunt menționate mai jos:
- Tipul de date CHAR este utilizat pentru a stoca date de șir de lungime fixă, iar tipul de date VARCHAR este utilizat pentru a stoca date de șir de lungime variabilă.
- Dimensiunea de stocare a tipului de date CHAR va fi întotdeauna lungimea maximă a acestui tip de date, iar dimensiunea de stocare a VARCHAR va fi lungimea datelor șirului inserate. Prin urmare, este mai bine să utilizați tipul de date CHAR atunci când lungimea șirului va fi aceeași lungime pentru toate înregistrările.
- CHAR este utilizat pentru a stoca date mici, în timp ce VARCHAR este utilizat pentru a stoca date mari.
- CHAR funcționează mai repede și VARCHAR funcționează mai lent.
Lecturi suplimentare = >> Tipuri de date MySQL
Exemplu:
Următoarea declarație SQL va crea un tabel numit Clienți. În acest tabel, tipul de date al Nume câmpul este VARCHAR și tipul de date al telefon câmpul este CHAR.
Dimensiunea Nume câmpul va depinde de lungimea valorii inserate. Dimensiunea telefon câmpul va avea întotdeauna 14 caractere, chiar dacă lungimea valorii inserate este mai mică de 14 caractere.
CREATE TABLE customers ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), phone CHAR(14))
Q # 10) Care este scopul utilizării tipului de date TIMESTAMP?
Răspuns: Un tip de date TIMESTAMP este utilizat pentru a stoca combinația dintre data și ora, care are 19 caractere.
Formatul TIMESTAMP este AAAA-LL-ZZ HH: MM: SS. Poate stoca date de la ‘1970-01-01 00:00:01’ UTC până la ‘2038-01-19 03:14:07’ UTC. În mod implicit, data și ora curente ale serverului sunt inserate în câmpul acestui tip de date atunci când este introdusă sau actualizată o nouă înregistrare.
Q # 11) Care este diferența dintre mysql_fetch_array () și ysql_fetch_object ()?
Răspuns: Atât mysql_fetch_array (), cât și mysql_fetch_object () sunt metode încorporate de PHP pentru a extrage înregistrări din tabelul bazei de date MySQL.
Diferența dintre aceste metode este că mysql_fetch_array () returnează setul de rezultate ca matrice și mysql_fetch_object () returnează setul de rezultate ca obiect.
Exemplu:
$result = mysql_query('SELECT id, name FROM clients'); //using mysql_fetch_array() while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf('ID: %s Name: %s', $row(0), $row(1)); } //using mysql_fetch_object() while ($row = mysql_fetch_object($result)) { printf('ID: %s Name: %s', $row->id, $row->name); }
Q # 12) Cum puteți filtra datele duplicate în timp ce preluați înregistrări din tabel?
Răspuns: Un cuvânt cheie DISTINCT este utilizat pentru a filtra datele duplicate din tabel în timp ce preluați înregistrările dintr-un tabel.
Exemplu:
Următoarea comandă SQL arată toate înregistrările fișierului obiecte masa. Rezultatul arată că tabelul conține valori duplicate în câmpul Tip.
SELECT * from items;
Următoarea comandă SQL va afișa valorile fișierului tip câmp eliminând valorile duplicate.
SELECT DISTINCT type from items;
Q # 13) Care este diferența dintre ACUM () și CURRENT_DATE ()?
Răspuns: Ambii ACUM() și DATA CURENTA() sunt metode MySQL încorporate. ACUM() este folosit pentru a afișa data și ora curente ale serverului și DATA CURENTA() este folosit pentru a afișa doar data serverului.
SELECT now();
SELECT current_date();
Q # 14) Care declarație este utilizată într-o interogare selectată pentru potrivirea parțială?
Răspuns: REGEXP și CA instrucțiunile pot fi utilizate într-o interogare SELECT pentru potrivirea parțială. REGEXP este utilizat pentru a căuta înregistrări bazate pe model și LIKE este folosit pentru a căuta orice înregistrare prin potrivirea oricărui șir la începutul sau sfârșitul sau mijlocul unei anumite valori de câmp.
Exemplu:
Mai întâi, verificați înregistrările existente ale „ clientilor tabel executând interogarea SELECT.
SELECT * FROM clients;
Rulați interogarea SELECT cu clauza REGEXP pentru a căuta acele înregistrări din clienți unde numele clientului începe cu „ S '
SELECT * FROM clients WHERE name REGEXP '^S';
Rulați interogarea SELECT cu clauza LIKE pentru a căuta acele înregistrări din clienți unde numele clientului începe cu „ LA '
SELECT * FROM clients WHERE name LIKE 'A%';
Q # 15) Care funcție MySQL este utilizată pentru a concatena șirul?
Răspuns: CONCAT () funcția este utilizată pentru a combina două sau mai multe date șir. Utilizarea acestei funcții este aici cu un exemplu.
Exemplu:
Următoarele Selectați interogarea cu CONCAT () funcția va combina cinci cuvinte, „Bun venit”, „către”, „SoftwareTestingHelp”, „.” și „com”.
SELECT CONCAT('Welcome ',to ','SoftwareTestingHelp','.',com');
Funcția CONCAT () poate fi utilizată și pe orice masă. Următoarea interogare SELECT va afișa rezultatul combinând două câmpuri, marca și tip de obiecte masa.
SELECT CONCAT(brand,'=>',type) from items;
Q # 16) Cum puteți schimba numele oricărui tabel existent utilizând instrucțiunea SQL?
Răspuns: Următoarea comandă SQL este utilizată pentru a redenumi un tabel existent al bazei de date.
RENAME TABLE table_name TO new_name
Exemplu:
Următoarea comandă va afișa lista de tabele a newdb Bază de date.
SHOW TABLES;
cel mai bun convertor video gratuit pe DVD
Următoarea comandă de redenumire va redenumi tabelul obiecte după un nume nou produse .
RENAME TABLE items TO products;
SHOW TABLES;
Q # 17) Cum puteți recupera o porțiune din orice valoare a coloanei utilizând o interogare SELECT?
Răspuns: SUBSTR () funcția este utilizată pentru a prelua porțiunea oricărei coloane. Utilizarea acestei funcții este explicată aici cu un exemplu.
Exemplu:
Aici, prima comandă SELECT este utilizată pentru a afișa toate înregistrările din tabelul Produse și a doua comandă SELECT este executată utilizând funcția SUBSTR și care tipărește doar primele cinci caractere ale câmpului de nume.
SELECT * FROM products;
SELECT SUBSTR(name,1,5) FROM products;
Q # 18) Care este scopul utilizării unui tabel HEAP?
Răspuns: Tabelul care folosește un index hash și stochează în memorie se numește tabel HEAP. Funcționează ca un tabel temporar și folosește indicii care îl fac mai rapid decât un alt tip de tabel.
Când MySQL se blochează din orice motiv, toate datele stocate în acest tabel pot fi pierdute. Folosește tipuri de date cu lungime fixă. Prin urmare, tipurile de date BLOB și TEXT nu sunt acceptate de acest tabel. Este un tabel util pentru acele sarcini MySQL în care viteza este cel mai important factor și se utilizează date temporare.
Q # 19) Cum puteți adăuga și elimina orice coloană a unui tabel?
Răspuns: Sintaxa pentru adăugarea oricărei coloane într-un tabel existent este prezentată mai jos.
ALTER TABLE table_name ADD COLUMN column_name column_definition (FIRST|AFTER existing_column)
Exemplu:
Comanda DESCRIBE este utilizată pentru a arăta structura tabelului de produse.
DESCRIBE products;
Următoarea comandă ALTER cu clauza ADD COLUMN va adăuga un nou câmp numit „ Preț' in masa produse .
ALTER TABLE products ADD COLUMN price DECIMAL(5,2);
DESCRIBE products;
Sintaxa pentru eliminarea oricărei coloane dintr-un tabel existent este prezentată mai jos.
ALTER TABLE table_name DROP COLUMN column_name;
Exemplu:
Următoarea comandă ALTER cu o clauză DROP COLUMN va elimina câmpul numit „ marca' in masa ' produse' .
ALTER TABLE products DROP COLUMN brand;
DESCRIBE products;
Q # 20) Ce este un index? Cum poate fi declarat un index în MySQL?
Răspuns: Un index este o structură de date a unui tabel MySQL care este utilizat pentru a accelera interogările.
Este folosit de motorul de căutare a bazelor de date pentru a afla înregistrările mai repede. Unul sau mai multe câmpuri ale unui tabel pot fi utilizate ca cheie de index. Cheia index poate fi atribuită în momentul declarării tabelului sau poate fi atribuită după crearea tabelului.
Exemplu:
nume de utilizator și e-mail câmpurile sunt setate ca index în următoarea instrucțiune create table.
CREATE TABLE users( username VARCHAR(50) PRIMARY KEY, email VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, INDEX (username, email));
Următoarea comandă va afișa informațiile cheie index ale „ utilizatorilor masa.
SHOW INDEXES FROM users;
Q # 21) Ce se înțelege prin zecimal (5,2)?
Răspuns: Un tip de date zecimal este utilizat în MySQL pentru a stoca datele fracționate.
Înțelesul zecimalului (5,2) înseamnă că lungimea totală a valorii fracționare este 5. Câmpul poate conține 3 cifre înainte de punctul zecimal și 2 cifre după punctul zecimal. Dacă un utilizator adaugă o valoare mai mare decât lungimea definită, atunci va introduce 999,99 în câmp.
Utilizarea acestui tip de date este explicată în exemplul următor.
Exemplu:
În următoarea interogare de inserare, 789,56 este inserat în Preț camp. Această valoare este mai mică de 1000, iar cifrele totale cu partea fracționată sunt 5. Deci, această valoare este valabilă pentru acest câmp.
INSERT INTO products (type, name, price, manufacturer_id) VALUES ('Mobile', 'iPhone 8', 789.56, 1); SELECT * FROM products;
În următoarea interogare de inserare, 34789.567 este setat pentru câmpul de preț. Atunci această valoare este mai mare de 1000 și cifrele totale cu părți fracționate sunt 8. Deci, valoarea implicită 999.99 este inserată în locul 34789.567 .
INSERT INTO products (type, name, price, manufacturer_id) VALUES('TV','Sony 32' Smart TV',34789.567, 2); SELECT * FROM products;
Q # 22) Care este punctul de vedere? Cum puteți crea și elimina vizualizarea în MySQL?
Răspuns: O vizualizare funcționează ca o masă virtuală care este utilizată pentru a stoca interogarea și returnează un set de rezultate atunci când este apelat. O vizualizare actualizabilă este, de asemenea, acceptată de MySQL.
Cum se poate crea sau șterge o vizualizare în MySQL sunt prezentate în următoarele exemple.
Creați un exemplu de vizualizare:
Următoarea declarație va crea un fișier de vizualizare numit „ lista de clienti 'Pe baza tabelului clienți .
CREATE VIEW `client_list` AS SELECT `name` as 'Name', `membership` as 'Membership' FROM `clients`;
Instrucțiunea SELECT va afișa înregistrările lista de clienti valoare.
SELECT * FROM client_list;
Exemplu de vizualizare DROP:
Declarația de vizualizare drop va șterge fișierul de vizualizare. Interogarea SELECT va afișa o eroare după ștergerea vizualizării.
DROP VIEW client_list;
SELECT * FROM client_list;
Q # 23) Care este funcția mysqldump?
Răspuns: mysqldump este un instrument utilitar util al MySQL care este folosit pentru a arunca una sau mai multe sau toate bazele de date de pe server pentru backup sau transfer pe alt server de baze de date.
Sintaxă:
Pentru o singură bază de date,
mysqldump (OPȚIUNI) db_name (TABLES)
Pentru mai multe baze de date,
mysqldump (OPȚIUNI) –baze de date DB1 (DB2 DB3 ...)
Pentru toate bazele de date,
c ++ listă dublă legată
mysqldump (OPTIONS) - toate bazele de date
Exemplu:
Următoarea comandă va crea un dump al fișierului „Newdb” baza de date și exportați conținutul bazei de date în fișier, newdb.sql .
mysqldump --databases newdb > newdb.sql
Q # 24) Cum puteți schimba parola unui utilizator MySQL?
Răspuns: A STABILIT PAROLA declarația este utilizată pentru a schimba parola unui utilizator MySQL.
Sintaxă:
SET PASSWORD FOR ‘username’ @ ‘hostname’ = PASSWORD (‘parolă’);
Exemplu:
Următoarea declarație va seta sau modifica parola de root.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
Q # 25) Care este diferența dintre UNIX TIMESTAMP și MySQL TIMESTAMP?
Răspuns: Atât UNIX TIMESTAMP, cât și MySQL TIMESTAMP sunt utilizate pentru a reprezenta data și ora valorii. Principala diferență dintre aceste valori este că UNIX TIMESTAMP reprezintă valoarea utilizând numere întregi de 32 de biți și MySQL TIMESTAMP reprezintă valoarea în formatul lizibil de către om.
Exemplu:
O funcție de timp UNIX este utilizată de funcția FROM_UNIXTIME în interogarea SELECT pentru a obține data și ora în format care poate fi citit de om.
SELECT FROM_UNIXTIME (1596222320) AS 'MySQLTIMESTAMP';
Valoarea de dată și oră este utilizată de funcția UNIX_TIMESTAMP în interogarea SELECT pentru a obține valoarea de dată și oră în formatul UNIX.
SELECT UNIX_TIMESTAMP ('2018-12-25 09:45:40') AS 'UNIXTIMESTAMP';
Q # 26) Cum puteți importa tabele dintr-un fișier SQL într-o bază de date utilizând clientul MySQL?
Răspuns: Tabelele bazei de date pot fi importate într-o bază de date dintr-un fișier SQL utilizând următoarea instrucțiune MySQL.
mysql -u nume de utilizator -p nume_bază de date
Exemplu:
Dacă parola utilizatorului rădăcină este goală, atunci următoarea comandă va importa tabele din fișierul „newdb.sql” în baza de date `mydb`.
mysql -u root mydb
Q # 27) Care este diferența dintre cheia primară și cheia unică?
Răspuns: Datele unice sunt stocate în cheia primară și în câmpurile cheie unice. Câmpul cheie primară nu acceptă niciodată valoarea NULL, dar un câmp cheie unic acceptă o valoare NULL.
Exemplu:
În utilizatorilor masa, id câmpul este cheia principala si e-mail câmpul este un cheie unică . Două înregistrări sunt inserate în tabelul în care câmpul de e-mail este NULL pentru 2ndrecord. Înregistrările sunt inserate corect deoarece câmpul unic acceptă o valoare NULL.
INSERT INTO users (username, email, password) VALUES('admin', 'admin@example.com', '7890'), ('staff', 'NULL', '1234'); SELECT * FROM users;
Q # 28) Care este scopul utilizării funcției IFNULL ()?
Răspuns: IFNULL () funcția ia două argumente. Returnează valoarea primului argument dacă valoarea primului argument nu este NULL și returnează al doilea argument dacă valoarea primului argument este NULL.
Exemplu:
Aici, primul argument al funcției IFNULL nu este NULL. Deci, ieșirea este prima valoare a argumentului.
SELECT IFNULL ('Tutorial', 'fahmidasclassroom.com');
Aici, primul argument al funcției IFNULL este NULL. Deci, ieșirea este NULL.
SELECT IFNULL ('NULL', 'fahmidasclassroom.com');
Q # 29) Ce este un join? Explicați diferitele tipuri de îmbinări MySQL.
Răspuns: Instrucțiunea SQL care este utilizată pentru a face o conexiune între două sau mai multe tabele pe baza coloanelor potrivite se numește unire. Este utilizat în principal pentru interogări complexe.
Diferite tipuri de îmbinări SQL sunt menționate mai jos:
- Alăturare interioară : Este o alăturare implicită. Returnează înregistrări atunci când valorile se potrivesc în tabelele de alăturare.
- Înscriere în partea stângă : Returnează toate înregistrările din tabelul din stânga pe baza înregistrărilor potrivite din tabelul din dreapta.
- Alăturați-vă la dreapta : Returnează toate înregistrările din tabelul din dreapta pe baza înregistrărilor potrivite din tabelul din stânga.
- Alăturare completă exterioară : Returnează toate înregistrările care se potrivesc din tabelul din stânga sau din dreapta.
Exemplu:
Două mese, producători și produse sunt utilizate în acest exemplu pentru a arăta utilizarea INNER JOIN. Aici, interogările SELECT sunt utilizate pentru a afișa înregistrările curente ale acestor două tabele.
SELECT * FROM manufacturers;
SELECT * FROM products;
INNER JOIN este utilizat în următoarea interogare SELECT în care vor fi afișate toate ID-urile și numele tabelului de produse pe baza potrivirii producător_id din produse cu un id din producătorului masa.
SELECT products.id, products.name FROM products INNER JOIN manufacturers ON manufacturers.id= products.manufacturer_id;
Î # 30) Cum puteți extrage un anumit număr de înregistrări dintr-un tabel?
Răspuns: LIMITĂ clauza este utilizată cu instrucțiunea SQL pentru a extrage un anumit număr de înregistrări dintr-un tabel. Din ce înregistrare și câte înregistrări vor fi preluate sunt definite de clauza LIMIT.
Sintaxă:
LIMIT start_number, number_of_rows
Exemplu:
Tabelul Produse conține 5 înregistrări care sunt afișate de prima interogare SELECT și a doua interogare SELECT este utilizată pentru a afișa înregistrările de la 2ndla 3rdfolosind LIMIT 1, 2.
SELECT * FROM products;
SELECT * FROM products LIMIT 1, 2;
Q # 31) Cum puteți exporta tabelul ca fișier XML în MySQL?
Răspuns: Opțiunea ‘-X’ este utilizată cu comanda `mysql` pentru exportul fișierului ca XML. Următoarea declarație va exporta orice tabel dintr-o bază de date ca fișier XML.
mysql -u nume de utilizator -X -e „SELECT interogare” nume_bază
Exemplu:
Următoarea comandă va exporta datele fișierului obiecte masa în un xmlData.xml fişier.
mysql -u root -X -e 'SELECT * from products' newdb > xmlData.xml
Q # 32) Ce este un tabel CSV?
Răspuns: Tabelul MySQL care utilizează motorul de stocare CSV se numește tabel CSV. Datele sunt stocate ca valori separate prin virgulă în tabelul CSV. Serverul MySQL creează un fișier de date cu extensia „.csv” pentru a stoca conținutul tabelului CSV.
Exemplu:
Următoarea declarație create va crea un fișier CSV numit carte.
CREATE TABLE book ( id INT NOT NULL) ENGINE=CSV;
Q # 33) Cum puteți calcula suma oricărei coloane dintr-un tabel?
Răspuns: SUMĂ() funcția este utilizată pentru a calcula suma oricărei coloane.
Sintaxă:
SUM (expresie DISTINCTĂ)
Exemplu:
Tabelul cu produse are un câmp numeric numit, preț. În acest exemplu, Funcția SUM () este utilizat pentru a calcula valoarea totală a Preț camp.
SELECT * FROM products; SELECT SUM(price) as total FROM products;
Q # 34) Cum puteți număra numărul total de înregistrări ale oricărui tabel?
Răspuns: NUMARA() funcţie este folosit pentru a număra numărul total de înregistrări ale oricărui tabel.
Sintaxă:
COUNT (expresie)
Exemplu:
Următoarea interogare SELECT este utilizată pentru a număra numărul total de înregistrări ale produse masa.
SELECT COUNT(*) as `Total Records` FROM products;
Q # 35) Explicați diferența dintre ȘTERGERE și TRUNCARE.
Răspuns: Ambele comenzi DELETE și TRUNCATE sunt utilizate pentru a șterge înregistrările din orice tabel de baze de date. Cu toate acestea, există unele diferențe semnificative între aceste comenzi. Dacă tabelul conține câmpul AUTO_INCREMENT PRIMARY KEY, atunci efectul acestor comenzi poate fi afișat corect.
Două diferențe între aceste comenzi sunt menționate mai jos.
- Comanda DELETE este utilizată pentru a șterge o singură sau mai multe sau toate înregistrările din tabel. Comanda TRUNCATE este utilizată pentru a șterge toate înregistrările din tabel sau pentru a face tabelul gol.
- Când comanda DELETE este utilizată pentru a șterge toate înregistrările din tabel, atunci nu reinicializează tabelul. Deci, câmpul AUTO_INCREMENT nu contează de la unul atunci când utilizatorul introduce orice înregistrare.
Dar când toate înregistrările oricărui tabel sunt șterse folosind comanda TRUNCATE, atunci acesta reinicializează tabelul și o nouă înregistrare va începe de la una pentru câmpul AUTO_INCREMENT.
Exemplu:
Tabelul de utilizator creat anterior este utilizat în acest exemplu.
În primul rând, interogarea SELECT va afișa toate înregistrările din tabelul utilizatorului. Ștergerea interogării va șterge toate înregistrările din tabelul utilizatorului. Interogarea INSERT va insera o nouă înregistrare în tabelul utilizatorului. După inserare, dacă interogarea SELECT se execută din nou, atunci se va arăta că un nou id se calculează după ștergere id .
SELECT * FROM users; DELETE FROM users; INSERT INTO users (username, email) VALUES ('Durjoy', 'durjoy@gmail.com'); SELECT * FROM users;
În prezent, există două înregistrări în tabelul utilizatorului și atunci când se introduce o nouă înregistrare după ștergerea tuturor înregistrărilor, atunci noul id este 3 și nu 1.
Aceleași interogări sunt executate în această parte, tocmai am folosit instrucțiunea TRUNCATE în locul DELETE. Se arată că valoarea id a noii înregistrări este 1.
TRUNCATE table users; INSERT INTO users (username, email) VALUES ('Farheen', 'farheen@gmail.com'); SELECT * FROM users;
Q # 36) Ce este un motor de stocare? Care sunt diferențele dintre motoarele InnoDB și MyISAM?
Răspuns: Una dintre componentele majore ale serverului MySQL este motorul de stocare pentru efectuarea diferitelor tipuri de operațiuni în baza de date. Fiecare tabel de baze de date creat se bazează pe motorul de stocare specific.
MySQL acceptă două tipuri de motoare de stocare, adică tranzacționale și netransacționale . InnoDB este motorul de stocare implicit al MySQL, care este tranzacțional. Motorul de stocare MyISAM este un motor de stocare non-tranzacțional.
Diferențele dintre motoarele de stocare InnoDB și MyISAM sunt discutate mai jos:
- MyISAM acceptă indexul FULLTEXT, dar InnoDB nu acceptă indexul FULLTEXT.
- MyISAM este mai rapid, iar InnoDB este mai lent.
- InnoDB acceptă proprietățile ACID (atomicitate, consistență, izolare și durabilitate), dar MyISAM nu.
- InnoDB acceptă blocarea la nivel de rând, iar MyISAM acceptă blocarea la nivel de masă.
- InnoDB este potrivit pentru baze de date mari, iar MyISAM este potrivit pentru o bază de date mică.
Q # 37) Ce este o tranzacție? Descrieți proprietățile tranzacției MySQL.
Răspuns: Atunci când un grup de operațiuni de bază de date se face ca o singură unitate, atunci se numește tranzacție. Dacă orice sarcină a sarcinilor tranzacționale rămâne incompletă, atunci tranzacția nu va reuși. Prin urmare, este obligatoriu să finalizați toate sarcinile unei tranzacții pentru a face tranzacția să aibă succes.
O tranzacție are patru proprietăți cunoscute sub numele de proprietate ACID. Aceste proprietăți sunt descrise mai jos.
- Atomicitate: Se asigură că toate sarcinile unei tranzacții vor fi finalizate cu succes, altfel toate sarcinile finalizate vor fi readuse la starea anterioară pentru orice eșec.
- Coerență: Se asigură că starea bazei de date trebuie modificată cu precizie pentru tranzacția angajată.
- Izolare: Se asigură că toate sarcinile unei tranzacții vor fi realizate independent și transparent.
- Durabilitate: Se asigură că toate tranzacțiile angajate sunt consecvente pentru orice tip de defecțiune a sistemului.
Î # 38) Care sunt funcțiile declarațiilor de comitere și de revenire?
Răspuns: Commit este o comandă de tranzacție care se execută atunci când toate sarcinile unei tranzacții sunt finalizate cu succes. Acesta va modifica baza de date permanent pentru a confirma tranzacția.
Sintaxă:
COMITIA;
Revenirea este o altă comandă tranzacțională care se execută atunci când oricare dintre sarcinile tranzacționale devine nereușită și anulează toate modificările efectuate de orice activitate tranzacțională pentru a face tranzacția nereușită.
Sintaxă:
ROLLBACK;
Q # 39) Care este diferența dintre MyISAM Static și MyISAM Dynamic?
Răspuns: MyISAM Static și MyISAM dinamic sunt variațiile motorului de stocare MyISAM. Diferențele dintre aceste tabele sunt menționate mai jos.
- Toate câmpurile tabelului static MyISAM au o lungime fixă, iar tabelul dinamic MyISAM acceptă câmpuri cu lungime variabilă precum BLOB, TEXT etc.
- După corupția datelor, este mai ușor să restaurați tabelul static MyISAM decât tabelul dinamic MyISAM.
Q # 40) Ce este un declanșator? Cum puteți crea un declanșator în MySQL?
Răspuns: Una dintre caracteristicile importante ale bazei de date MySQL este un declanșator care se execută automat atunci când apare un anumit eveniment de bază de date.
Se declanșează după sau înainte de executarea unui insert sau a unei actualizări sau șterge o declarație. Este o opțiune foarte utilă atunci când un utilizator al bazei de date dorește să efectueze automat unele operațiuni în baza de date.
Exemplu de declanșare:
Dacă doriți să ștergeți articolele unui furnizor din obiecte tabel automat după ștergerea intrării anumitor furnizori din „ furnizorii tabel, apoi scrieți declanșatorul în felul următor.
Exemplu:
Acesta este un exemplu de declanșare după ștergere care se va declanșa automat atunci când orice înregistrare este eliminată din producător tabel și șterge toate înregistrările din produse tabelul unde a fost șters id din producător meciuri de masă cu producător_id câmpul produse masa.
DELIMITER // CREATE TRIGGER manufacturer_after_delete AFTER DELETE ON manufacturers FOR EACH ROW BEGIN DELETE FROM products WHERE products.manufacturers_id = OLD.id; END; //
Concluzie
Serverul MySQL are mai multe funcții și clauze încorporate pentru a efectua diferite tipuri de acțiuni pe datele tabelului. Cele mai frecvent utilizate funcții SQL și clauze ale serverului MySQL sunt explicate în acest articol cu exemple diferite.
Sper, acest articol despre cele mai bune întrebări de interviu MySQL vă va ajuta să înțelegeți noțiunile de bază, precum și conceptele avansate ale serverului MySQL, atât pentru profesioniști mai proaspeți, cât și pentru experți.
Vă dorim tot binele !!
Lectură recomandată
- Întrebări și răspunsuri la interviu
- Câteva întrebări interesante despre testarea software-ului
- Top Oracle Interview Questions: Oracle Basic, SQL, PL / SQL Questions
- 20 de întrebări selective privind interviul de asigurare a calității pentru a șterge interviul în 2021
- Întrebări și răspunsuri la interviuri de testare ETL
- Top 40 C Întrebări și răspunsuri la interviu de programare
- Întrebări și răspunsuri de top pentru interviu Teradata
- Top 40 de întrebări și răspunsuri populare despre interviurile J2EE pe care ar trebui să le citiți
- Diferența dintre SQL și MySQL împotriva SQL Server (cu exemple)
- Top 40 cele mai bune întrebări și răspunsuri la interviu MySQL (2021 întrebări)