top 40 best mysql interview questions
Örnek Sorgularla En Popüler MySQL Mülakat Sorularının Listesi (2021'in en son MySQL soruları):
MySQL, modern web uygulamasının önemli bir parçasıdır ve MySQL bilgisi, herhangi bir web geliştiricisinin işi için ortak bir gerekliliktir.
Yeni başlayanlar ve deneyimli profesyoneller için temel ve ileri düzey MySQL sorularının bir listesi bu makalede gerekli örneklerle açıklanmıştır.
Bu sorular, herhangi bir iş arayanın güven düzeyini artırmasına ve görüşmeyle başarılı bir şekilde yüzleşmesine yardımcı olacaktır.
En Sık Sorulan MySQL Mülakat Soruları
Aşağıda, uzmanlar tarafından röportajlarda sıkça sorulan en popüler MySQL mülakat soruları listelenmiştir.
S # 1) MySQL nedir?
Cevap: MySQL, Oracle Corporation tarafından geliştirilen ve dağıtılan açık kaynaklı bir DBMS'dir.
Windows, Linux vb. Gibi popüler işletim sistemlerinin çoğu tarafından desteklenir. Farklı türden uygulamalar geliştirmek için kullanılabilir, ancak esas olarak web uygulamaları geliştirmek için kullanılır.
Ayrıca okuyun = >> Web Devloper Mülakat Soruları
MySQL, GPL'yi (GNU Genel Kamu Lisansı) kullanır, böylece herkes ücretsiz olarak yayınlanacak veya dağıtılacak uygulamaları geliştirmek için onu indirip kurabilir. Ancak bir kullanıcı MySQL kullanarak herhangi bir ticari uygulama geliştirmek isterse, MySQL'in ticari sürümünü satın alması gerekecektir.
S # 2) MySQL'in özellikleri nelerdir?
Cevap: MySQL, onu popüler bir veritabanı yönetim yazılımı yapan birçok kullanışlı özelliğe sahiptir.
MySQL'in bazı önemli özellikleri aşağıda belirtilmiştir:
- Güvenilir ve kullanımı da kolaydır.
- Hem büyük hem de küçük uygulamalar için uygun bir veritabanı yazılımıdır.
- Bunu herkes ücretsiz olarak kurabilir ve kullanabilir.
- PHP, Java, C ++, PERL vb. Gibi birçok tanınmış programlama dili tarafından desteklenmektedir.
- Standart SQL'i (Yapılandırılmış Sorgu Dili) destekler.
- MySQL'in açık kaynaklı lisansı özelleştirilebilir. Dolayısıyla, bir geliştirici bunu uygulamanın gereksinimlerine göre değiştirebilir.
S # 3) MySQL'in varsayılan bağlantı noktası numarası nedir?
Cevap: MySQL'in varsayılan bağlantı noktası numarası 3306'dır.
S # 4) Kurulu MySQL'in sürümünü nasıl öğrenebilirsiniz?
Cevap: Kurulu MySQL sunucusunun sürümü, MySQL komut isteminden aşağıdaki komutu çalıştırarak kolayca bulunabilir.
mysql> “% version%” GİBİ DEĞİŞKENLERİ GÖSTER;
S # 5) MySQL kullanmanın avantajları ve dezavantajları nelerdir?
Cevap: MySQL'in şimdi onu daha popüler bir veritabanı sistemi yapan birçok avantajı vardır.
MySQL'in bazı önemli avantajları ve dezavantajları aşağıda belirtilmiştir.
Avantajlar:
- Güvenilir ve güvenli veritabanı yönetim sistemiyle tanınır. Bu yazılım kullanılarak web sitesinin işlem görevleri daha güvenli bir şekilde yapılabilir.
- Verileri depolamak için farklı depolama motorlarını destekler ve bu özellik için daha hızlı çalışır.
- Milyonlarca sorguyu yüksek hızlı işlem süreciyle işleyebilir.
- Çok seviyeli işlemler, veri bütünlüğü, kilitlenme tanımlama vb. Gibi birçok gelişmiş düzey veritabanı özelliğini destekler.
- Bu yazılım için bakım ve hata ayıklama işlemleri daha kolaydır.
Dezavantajları:
- MySQL'i ölçeklenebilir yapmak zordur.
- Çok geniş bir veritabanı türü için uygun değildir.
- Depolanan rutinlerin ve tetikleyicilerin kullanımı MySQL ile sınırlıdır.
S # 6) myisamchk'in işlevi nedir?
Cevap: myisamchk, MyISAM veritabanı tabloları hakkında bilgi almak için kullanılan kullanışlı bir veritabanı aracıdır.
Ayrıca, veritabanı tablolarını kontrol etmek, hata ayıklamak, onarmak ve optimize etmek için de kullanılır. Sunucu çalışmadığında veya gerekli tablolar sunucu tarafından kullanılmadığında bu komutu kullanmak daha iyidir.
Sözdizimi:
myisamchk (SEÇENEK) tablo_adı…
Bu aracın mevcut seçenekleri aşağıdaki komut kullanılarak alınabilir.
myisamchk – yardım
Tüm MyISAM tablolarını kontrol etmek veya onarmak için, veritabanı dizini konumundan yürütmek için aşağıdaki komut gerekecektir.
myisamchk * .MYI
S # 7) ENUM ve SET veri türlerini kullanmanın amaçları nelerdir?
Cevap: ENUM veri türü, önceden tanımlanmış listeden herhangi bir değeri seçmek için MySQL veritabanı tablosunda kullanılır.
Belirli bir alanın değeri, ENUM olarak bildirilen alan listenin dışındaki herhangi bir değeri kabul etmeyeceği için önceden tanımlanmış liste tanımlanarak sınırlandırılabilir.
SET veri türü, önceden tanımlanmış listeden bir veya daha fazla değeri veya tüm değerleri seçmek için kullanılır. Bu veri türü, yalnızca ENUM gibi önceden tanımlanmış değerler listesini eklemek için alanı kısıtlamak için de kullanılabilir.
Misal:
MySQL sunucusunu komut isteminden çalıştırın ve ENUM ve SET veri türünün kullanımını öğrenmek için aşağıdaki SQL komutlarını yürütün.
Aşağıdaki SQL komutları yeni bir veritabanı oluştur adlı newdb ’Ve kullanılacak veritabanını seçin.
CREATE DATABASE newdb;
USE newdb;
Aşağıdaki SQL komutu adında bir tablo oluşturacaktır. müşteriler ENUM ve SET veri türü alanları ile.
CREATE TABLE clients ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), membership ENUM('Silver', 'Gold', 'Diamond'), interest SET('Movie', 'Music', 'Concert'));
INSERT sorguları tabloda iki kayıt oluşturacaktır. ENUM alanı yalnızca tanımlanan listeden verileri kabul eder.
' Ödül 'Değeri ENUM listesinde mevcut değil. Bu nedenle ENUM alanının değeri ikinci kayıt için boş olacaktır. SET birden fazla değeri kabul edebilir ve her iki veri de ikinci kayda eklenecektir.
INSERT INTO clients (name, membership,interest) VALUES ('Sehnaz','Gold', 'Music'), ('Sourav','Premium', 'Movie,Concert'); SELECT * FROM clients;
S # 8) Birincil anahtar ile yabancı anahtar arasındaki farklar nelerdir?
Cevap: Veritabanı tablosu, her satırı benzersiz bir şekilde tanımlamak için bir birincil anahtar kullanır. Aralarında bir ilişki oluşturmayı gerektiren tablolarda birincil anahtarı bildirmek gerekir. Bir tablonun bir veya daha fazla alanı birincil anahtar olarak bildirilebilir.
Herhangi bir tablonun birincil anahtarı, başka bir tabloda birincil anahtar olarak veya bir veritabanı ilişkisi oluşturmak için başka bir alan olarak kullanıldığında, buna yabancı anahtar denir.
Bu iki anahtar arasındaki farklar aşağıda belirtilmiştir:
- Birincil anahtar bir kaydı benzersiz bir şekilde tanımlar, yabancı anahtar ise başka bir tablonun birincil anahtarını belirtir.
- Birincil anahtar hiçbir zaman bir NULL değeri kabul edemez, ancak yabancı anahtar bir NULL değeri kabul eder.
- Birincil anahtarı içeren bir tabloya bir kayıt eklendiğinde, bu birincil anahtar alanını içeren tabloya yabancı anahtar olarak değer eklemek gerekli değildir.
- Birincil anahtarı içeren tablodan bir kayıt silindiğinde, veri tutarlılığı için ilgili kayıt yabancı anahtarı içeren tablodan silinmelidir. Ancak, başka bir tablonun ilgili kaydını silmeden, yabancı anahtar içeren tablodan herhangi bir kayıt silinebilir.
Misal:
Adlı iki tablo üreticileri ve öğeler aşağıdaki iki SQL komutu çalıştırıldıktan sonra oluşturulacaktır.
Burada, ana anahtar üreticinin tablo, yabancı anahtar olarak kullanılır öğeler alan adına sahip tablo üretici_kimliği . Bu nedenle, üretici_kimliği alan yalnızca içinde bulunan değerleri içerecektir üreticinin tablo.
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));
S # 9) CHAR ve VARCHAR veri türleri arasındaki farklar nelerdir?
Cevap: Hem CHAR hem de VARCHAR veri türleri, tablonun alanında dize verilerini depolamak için kullanılır.
Bu veri türleri arasındaki farklar aşağıda belirtilmiştir:
- CHAR veri türü, sabit uzunlukta dizi verilerini depolamak için kullanılır ve VARCHAR veri türü, değişken uzunluklu dizi verilerini depolamak için kullanılır.
- CHAR veri türünün depolama boyutu her zaman bu veri türünün maksimum uzunluğu olacak ve VARCHAR'ın depolama boyutu, eklenen dizi verilerinin uzunluğu olacaktır. Bu nedenle, dizinin uzunluğu tüm kayıtlar için aynı uzunlukta olduğunda CHAR veri türünü kullanmak daha iyidir.
- CHAR küçük verileri saklamak için kullanılırken, VARCHAR büyük verileri depolamak için kullanılır.
- CHAR daha hızlı çalışır ve VARCHAR daha yavaş çalışır.
Daha Fazla Okuma = >> MySQL Veri Türleri
Misal:
Aşağıdaki SQL ifadesi Müşteriler adlı bir tablo oluşturacaktır. Bu tabloda, veri türü isim alanı VARCHAR'dır ve veri türü telefon alanı CHAR'dır.
Boyutunun isim alan, eklenen değerin uzunluğuna bağlı olacaktır. Boyutunun telefon girilen değerin uzunluğu 14 karakterden az olsa bile alan her zaman 14 karakter olacaktır.
CREATE TABLE customers ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), phone CHAR(14))
S # 10) TIMESTAMP veri türünü kullanmanın amacı nedir?
Cevap: TIMESTAMP veri türü, 19 karakter uzunluğundaki tarih ve saat değerinin kombinasyonunu saklamak için kullanılır.
TIMESTAMP biçimi YYYY-AA-GG SS: DD: SS şeklindedir. '1970-01-01 00:00:01' UTC ile '2038-01-19 03:14:07' UTC arasındaki verileri depolayabilir. Varsayılan olarak, yeni bir kayıt eklendiğinde veya güncellendiğinde sunucunun geçerli tarihi ve saati bu veri türünün alanına eklenir.
S # 11) mysql_fetch_array () ve ysql_fetch_object () arasındaki fark nedir?
Cevap: Hem mysql_fetch_array () hem de mysql_fetch_object (), MySQL veritabanı tablosundan kayıtları almak için PHP'nin yerleşik yöntemleridir.
Bu yöntemler arasındaki fark, mysql_fetch_array () işlevinin sonuç kümesini bir dizi olarak döndürmesi ve mysql_fetch_object () işlevinin sonuç kümesini bir nesne olarak döndürmesidir.
Misal:
$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); }
S # 12) Tablodan kayıtları alırken yinelenen verileri nasıl filtreleyebilirsiniz?
Cevap: Bir tablodan kayıtları alırken tablodan yinelenen verileri filtrelemek için bir DISTINCT anahtar sözcüğü kullanılır.
Misal:
Aşağıdaki SQL komutu, tüm kayıtları gösterir. öğeler tablo. Çıktı, tablonun Tür alanında yinelenen değerler içerdiğini gösterir.
SELECT * from items;
Aşağıdaki SQL komutu, tip alanı yinelenen değerleri kaldırarak.
SELECT DISTINCT type from items;
S # 13) NOW () ve CURRENT_DATE () arasındaki fark nedir?
Cevap: Her ikisi de ŞİMDİ () ve GEÇERLİ TARİH() yerleşik MySQL yöntemleridir. ŞİMDİ () sunucunun geçerli tarih ve saatini göstermek için kullanılır ve GEÇERLİ TARİH() yalnızca sunucunun tarihini göstermek için kullanılır.
SELECT now();
SELECT current_date();
S # 14) Kısmi eşleştirme için seçme sorgusunda hangi ifade kullanılır?
Cevap: REGEXP ve SEVMEK ifadeleri, kısmi eşleme için bir SELECT sorgusunda kullanılabilir. REGEXP, kalıba göre kayıtları aramak için kullanılır ve LIKE, belirli bir alan değerinin başında veya sonunda veya ortasındaki herhangi bir dizeyle eşleşerek herhangi bir kaydı aramak için kullanılır.
Misal:
İlk olarak, ' müşterilerin SELECT sorgusunu çalıştırarak tablo.
SELECT * FROM clients;
REGEXP yan tümcesine sahip SELECT sorgusunu çalıştırarak bu kayıtları müşteriler müşteri adı ' S '
SELECT * FROM clients WHERE name REGEXP '^S';
Bu kayıtları aramak için LIKE yan tümcesine sahip SELECT sorgusunu çalıştırın. müşteriler müşteri adı ' KİME '
SELECT * FROM clients WHERE name LIKE 'A%';
S # 15) Dizeyi birleştirmek için hangi MySQL işlevi kullanılır?
Cevap: CONCAT () işlevi, iki veya daha fazla dizi verisini birleştirmek için kullanılır. Bu fonksiyonun kullanımı burada bir örnekle verilmiştir.
Misal:
Devamındaki CONCAT ile sorgu SEÇ () işlevi, 'Hoş Geldiniz', 'Kime', 'Yazılım Testi Yardımı', '.' ve 'com' şeklinde beş kelimeyi birleştirecektir.
SELECT CONCAT('Welcome ',to ','SoftwareTestingHelp','.',com');
CONCAT () işlevi herhangi bir tabloda da kullanılabilir. Aşağıdaki SELECT sorgusu, iki alanı birleştirerek çıktıyı gösterecektir, marka ve tip nın-nin öğeler tablo.
SELECT CONCAT(brand,'=>',type) from items;
S # 16) SQL deyimini kullanarak var olan herhangi bir tablonun adını nasıl değiştirebilirsiniz?
Cevap: Aşağıdaki SQL komutu, veritabanının mevcut bir tablosunu yeniden adlandırmak için kullanılır.
RENAME TABLE table_name TO new_name
Misal:
Aşağıdaki komut, tablo listesini gösterecektir. newdb veri tabanı.
SHOW TABLES;
java'da kuyruk nasıl uygulanır
Aşağıdaki yeniden adlandırma komutu tabloyu yeniden adlandıracak öğeler yeni isme göre Ürün:% s .
RENAME TABLE items TO products;
SHOW TABLES;
S # 17) Bir SELECT sorgusu kullanarak herhangi bir sütun değerinin bir kısmını nasıl elde edebilirsiniz?
Cevap: SUBSTR () işlevi, herhangi bir sütunun bir bölümünü almak için kullanılır. Bu işlevin kullanımı burada bir örnekle açıklanmıştır.
Misal:
Burada, Ürünler tablosunun tüm kayıtlarını göstermek için ilk SELECT komutu kullanılır ve ikinci SELECT komutu, SUBSTR işlevi kullanılarak yürütülür ve bu, ad alanının yalnızca ilk beş karakterini yazdırır.
SELECT * FROM products;
SELECT SUBSTR(name,1,5) FROM products;
S # 18) HEAP tablosu kullanmanın amacı nedir?
Cevap: Karma indeks kullanan ve hafızada depolayan tabloya HEAP tablosu denir. Geçici bir tablo olarak çalışır ve onu başka bir tablo türünden daha hızlı yapan dizinleri kullanır.
MySQL herhangi bir nedenle çöktüğünde, bu tabloda depolanan tüm veriler kaybolabilir. Sabit uzunlukta veri türlerini kullanır. Bu nedenle BLOB ve TEXT veri türleri bu tablo tarafından desteklenmemektedir. Hızın en önemli faktör olduğu ve geçici verilerin kullanıldığı MySQL görevleri için kullanışlı bir tablodur.
S # 19) Bir tablonun herhangi bir sütununu nasıl ekleyebilir ve kaldırabilirsiniz?
Cevap: Mevcut bir tabloya herhangi bir sütun eklemek için sözdizimi aşağıda gösterilmiştir.
ALTER TABLE table_name ADD COLUMN column_name column_definition (FIRST|AFTER existing_column)
Misal:
DESCRIBE komutu, ürünler tablosunun yapısını göstermek için kullanılır.
DESCRIBE products;
ADD COLUMN yan tümcesine sahip aşağıdaki ALTER komutu, ' fiyat' masada Ürün:% s .
ALTER TABLE products ADD COLUMN price DECIMAL(5,2);
DESCRIBE products;
Mevcut bir tablodan herhangi bir sütunu kaldırmak için sözdizimi aşağıda gösterilmiştir.
ALTER TABLE table_name DROP COLUMN column_name;
Misal:
Aşağıdaki DROP COLUMN yan tümcesine sahip ALTER komutu, ' marka' masada ' Ürün:% s' .
ALTER TABLE products DROP COLUMN brand;
DESCRIBE products;
S # 20) İndeks nedir? MySQL'de bir indeks nasıl bildirilebilir?
Cevap: Bir dizin, sorguları hızlandırmak için kullanılan bir MySQL tablosunun veri yapısıdır.
Kayıtları daha hızlı bulmak için veritabanı arama motoru tarafından kullanılır. Bir tablonun bir veya daha fazla alanı, dizin anahtarı olarak kullanılabilir. Dizin anahtarı, tablo bildirimi sırasında atanabilir veya tablo oluşturulduktan sonra atanabilir.
Misal:
Kullanıcı adı ve e-posta alanlar aşağıdaki tablo oluşturma deyiminde dizin olarak ayarlanır.
CREATE TABLE users( username VARCHAR(50) PRIMARY KEY, email VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, INDEX (username, email));
Aşağıdaki komut, ' kullanıcılar' tablo.
SHOW INDEXES FROM users;
S # 21) Ondalık (5,2) ile ne kastedilmektedir?
Cevap: MySQL'de kesirli verileri depolamak için ondalık bir veri türü kullanılır.
Ondalık (5,2) 'nin anlamı, kesirli değerin toplam uzunluğunun 5 olduğu anlamına gelir. Alan, ondalık noktadan önce 3 hane ve ondalık noktadan sonra 2 hane içerebilir. Bir kullanıcı tanımlanan uzunluktan daha büyük herhangi bir değer eklerse, alana 999.99 ekler.
Bu veri tipinin kullanımı aşağıdaki örnekte açıklanmaktadır.
Misal:
Aşağıdaki ekleme sorgusunda, 789.56 eklendi fiyat alan. Bu değer 1000'den küçüktür ve kesirli kısımdaki toplam rakamlar 5'tir. Yani bu değer bu alan için geçerlidir.
INSERT INTO products (type, name, price, manufacturer_id) VALUES ('Mobile', 'iPhone 8', 789.56, 1); SELECT * FROM products;
Aşağıdaki ekleme sorgusunda, 34789.567 fiyat alanı için ayarlanmıştır. O zaman bu değer 1000'den büyüktür ve kesirli kısımları olan toplam rakam 8'dir. Dolayısıyla, 34789.567 yerine 999.99 varsayılan değer eklenir. .
INSERT INTO products (type, name, price, manufacturer_id) VALUES('TV','Sony 32' Smart TV',34789.567, 2); SELECT * FROM products;
S # 22) Görüş nedir? MySQL'de nasıl görünüm oluşturabilir ve bırakabilirsiniz?
Cevap: Görünüm, sorguyu depolamak için kullanılan ve çağrıldığında bir sonuç kümesi döndüren sanal bir tablo olarak çalışır. Güncellenebilir bir görünüm de MySQL tarafından desteklenmektedir.
MySQL'de bir görünümün nasıl oluşturulabileceği veya silinebileceği aşağıdaki örneklerde gösterilmektedir.
Görünüm Örneği Oluştur:
Aşağıdaki ifade, ' müşteri listesi Tabloya göre müşteriler .
CREATE VIEW `client_list` AS SELECT `name` as 'Name', `membership` as 'Membership' FROM `clients`;
SELECT ifadesi kayıtlarını gösterecek müşteri listesi değer.
SELECT * FROM client_list;
DROP Görünümü Örneği:
Drop view ifadesi, görünüm dosyasını siler. SELECT sorgusu, görünümü sildikten sonra bir hata gösterecektir.
DROP VIEW client_list;
SELECT * FROM client_list;
S # 23) mysqldump'ın işlevi nedir?
Cevap: mysqldump, yedekleme veya başka bir veritabanı sunucusuna aktarım için sunucudan bir veya daha fazla veritabanını dökmek için kullanılan kullanışlı bir MySQL yardımcı programı aracıdır.
Sözdizimi:
Tek bir veritabanı için,
mysqldump (SEÇENEKLER) db_name (TABLOLAR)
Çoklu veritabanları için,
mysqldump (SEÇENEKLER) - veritabanları DB1 (DB2 DB3…)
Tüm veritabanları için,
mysqldump (SEÇENEKLER) –tüm veritabanları
Misal:
Aşağıdaki komut, 'Newdb' veritabanı ve veritabanının içeriğini dosyada dışa aktarın, newdb.sql .
mysqldump --databases newdb > newdb.sql
S # 24) Bir MySQL kullanıcısının şifresini nasıl değiştirebilirsin?
Cevap: AYARLAMAK PAROLA ifadesi bir MySQL kullanıcısının şifresini değiştirmek için kullanılır.
Sözdizimi:
'Username' @ 'hostname' İÇİN ŞİFRE AYARLAYIN = PAROLA ('şifre');
Misal:
Aşağıdaki ifade root şifresini belirleyecek veya değiştirecektir.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
S # 25) UNIX TIMESTAMP ve MySQL TIMESTAMP arasındaki fark nedir?
Cevap: Hem UNIX TIMESTAMP hem de MySQL TIMESTAMP tarih ve saat değerini temsil etmek için kullanılır. Bu değerler arasındaki temel fark, UNIX TIMESTAMP'ın 32 bitlik tamsayılar kullanarak değeri ve MySQL TIMESTAMP'ın insan tarafından okunabilir formattaki değeri temsil etmesidir.
Misal:
Bir UNIX zaman değeri, tarih ve saat değerini insan tarafından okunabilir biçimde almak için SELECT sorgusunda FROM_UNIXTIME işlevi tarafından kullanılır.
SELECT FROM_UNIXTIME (1596222320) AS 'MySQLTIMESTAMP';
Tarih ve saat değeri, tarih ve saat değerini UNIX biçiminde almak için SELECT sorgusundaki UNIX_TIMESTAMP işlevi tarafından kullanılır.
SELECT UNIX_TIMESTAMP ('2018-12-25 09:45:40') AS 'UNIXTIMESTAMP';
S # 26) MySQL istemcisini kullanarak bir SQL dosyasındaki tabloları bir veritabanına nasıl aktarabilirsiniz?
Cevap: Veritabanı tabloları, aşağıdaki MySQL ifadesi kullanılarak bir SQL dosyasından bir veritabanına alınabilir.
mysql -u kullanıcı adı -p veritabanı_adı
Misal:
Kök kullanıcının şifresi boşsa, aşağıdaki komut tabloları 'newdb.sql' dosyasından veritabanına aktaracaktır. 'mydb'.
mysql -u root mydb
S # 27) Birincil anahtar ile Benzersiz anahtar arasındaki fark nedir?
Cevap: Benzersiz veriler, birincil anahtarda ve benzersiz anahtar alanlarında saklanır. Birincil anahtar alanı hiçbir zaman NULL değeri kabul etmez, ancak benzersiz bir anahtar alanı bir NULL değeri kabul eder.
Misal:
İçinde kullanıcılar' tablo İD alan birincil anahtar ve e-posta alan bir Benzersiz anahtarı . Tabloya, 2 kayıt için e-posta alanının BOŞ olduğu iki kayıt eklenir.ndkayıt. Benzersiz alan bir NULL değerini desteklediğinden kayıtlar düzgün bir şekilde eklenir.
INSERT INTO users (username, email, password) VALUES('admin', 'admin@example.com', '7890'), ('staff', 'NULL', '1234'); SELECT * FROM users;
S # 28) IFNULL () işlevini kullanmanın amacı nedir?
Cevap: IFNULL () fonksiyon iki argüman alır. İlk argümanın değeri NULL değilse ilk argüman değerini, ilk argümanın değeri NULL ise ikinci argümanı döndürür.
Misal:
Burada, IFNULL işlevinin ilk argümanı NULL değildir. Dolayısıyla, çıktı ilk bağımsız değişken değeridir.
SELECT IFNULL ('Tutorial', 'fahmidasclassroom.com');
Burada, IFNULL işlevinin ilk argümanı NULL'dur. Yani çıktı NULL olur.
SELECT IFNULL ('NULL', 'fahmidasclassroom.com');
S # 29) Birleştirme nedir? Farklı MySQL birleşim türlerini açıklayın.
Cevap: Eşleşen sütunlara göre iki veya daha fazla tablo arasında bağlantı kurmak için kullanılan SQL deyimine birleştirme adı verilir. Esas olarak karmaşık sorgular için kullanılır.
Aşağıda farklı SQL birleştirme türleri belirtilmiştir:
- İç birleşim : Varsayılan bir birleştirmedir. Birleştirme tablolarındaki değerler eşleştiğinde kayıtları döndürür.
- Sol dış katılma : Sağ tablodan eşleşen kayıtlara göre sol tablodaki tüm kayıtları döndürür.
- Sağ Dış Birleştirme : Sol tablodaki eşleşen kayıtlara göre sağ tablodaki tüm kayıtları döndürür.
- Tam Dış Birleştirme : Sol veya sağ tablodan eşleşen tüm kayıtları döndürür.
Misal:
İki masa, üreticileri ve Ürün:% s INNER JOIN'in kullanımını göstermek için bu örnekte kullanılmıştır. Burada, bu iki tablonun mevcut kayıtlarını göstermek için SELECT sorguları kullanılır.
SELECT * FROM manufacturers;
SELECT * FROM products;
INNER JOIN, ürünler tablosunun tüm kimliği ve adının eşleşmeye göre görüntüleneceği aşağıdaki SELECT sorgusunda kullanılır üretici_kimliği of Ürün:% s bir ile İD of üreticinin tablo.
SELECT products.id, products.name FROM products INNER JOIN manufacturers ON manufacturers.id= products.manufacturer_id;
S # 30) Bir tablodan belirli sayıda kaydı nasıl elde edebilirsiniz?
Cevap: SINIR deyimi, bir tablodan belirli sayıda kaydı almak için SQL deyimiyle birlikte kullanılır. Hangi kayıttan ve kaç kaydın alınacağı LIMIT maddesi ile tanımlanır.
Sözdizimi:
LIMIT başlangıç_sayı, sıra_sayısı
Misal:
Ürünler tablosunda ilk SELECT sorgusu tarafından görüntülenen 5 kayıt vardır ve ikinci SELECT sorgusu 2'den kayıtları görüntülemek için kullanılırnd3'erdLIMIT 1, 2 kullanarak.
c ++ ve java arasındaki fark
SELECT * FROM products;
SELECT * FROM products LIMIT 1, 2;
S # 31) Tabloyu MySQL'de bir XML dosyası olarak nasıl dışa aktarabilirsiniz?
Cevap: Dosyayı XML olarak dışa aktarmak için 'mysql' komutuyla birlikte '-X' seçeneği kullanılır. Aşağıdaki ifade bir veritabanındaki herhangi bir tabloyu XML dosyası olarak dışa aktaracaktır.
mysql -u kullanıcı adı -X -e “SEÇME sorgusu” veritabanı_adı
Misal:
Aşağıdaki komut, öğeler masa içine bir xmlData.xml dosya.
mysql -u root -X -e 'SELECT * from products' newdb > xmlData.xml
S # 32) CSV tablosu nedir?
Cevap: CSV depolama motorunu kullanan MySQL tablosuna CSV tablosu denir. Veriler, CSV tablosunda virgülle ayrılmış değerler olarak saklanır. MySQL sunucusu, CSV tablosunun içeriğini depolamak için '.csv' uzantılı bir veri dosyası oluşturur.
Misal:
Aşağıdaki create ifadesi kitap adında bir CSV dosyası oluşturacaktır.
CREATE TABLE book ( id INT NOT NULL) ENGINE=CSV;
S # 33) Bir tablonun herhangi bir sütununun toplamını nasıl hesaplayabilirsiniz?
Cevap: TOPLA () işlevi, herhangi bir sütunun toplamını hesaplamak için kullanılır.
Sözdizimi:
SUM (DISTINCT ifadesi)
Misal:
Ürünler tablosunda fiyat adlı sayısal bir alan vardır. Bu örnekte, TOPLA () işlevi toplam değerini hesaplamak için kullanılır fiyat alan.
SELECT * FROM products; SELECT SUM(price) as total FROM products;
S # 34) Herhangi bir tablonun toplam kayıt sayısını nasıl hesaplayabilirsiniz?
Cevap: MİKTAR() işlevi herhangi bir tablonun toplam kayıt sayısını saymak için kullanılır.
Sözdizimi:
COUNT (ifade)
Misal:
Aşağıdaki SELECT sorgusu, kayıtların toplam sayısını saymak için kullanılır. Ürün:% s tablo.
SELECT COUNT(*) as `Total Records` FROM products;
S # 35) DELETE ve TRUNCATE arasındaki farkı açıklayın.
Cevap: Herhangi bir veritabanı tablosundaki kayıtları silmek için hem DELETE hem de TRUNCATE komutları kullanılır. Ancak, bu komutlar arasında bazı önemli farklılıklar vardır. Tablo AUTO_INCREMENT PRIMARY KEY alanını içeriyorsa, bu komutların etkisi düzgün bir şekilde gösterilebilir.
Bu komutlar arasındaki iki fark aşağıda belirtilmiştir.
- DELETE komutu, tablodan bir veya birden fazla kaydı veya tüm kayıtları silmek için kullanılır. TRUNCATE komutu, tablodaki tüm kayıtları silmek veya tabloyu boşaltmak için kullanılır.
- Tablodaki tüm kayıtları silmek için DELETE komutu kullanıldığında, tabloyu yeniden başlatmaz. Dolayısıyla, AUTO_INCREMENT alanı, kullanıcı herhangi bir kayıt eklediğinde 1'den sayılmaz.
Ancak herhangi bir tablonun tüm kayıtları TRUNCATE komutu kullanılarak silindiğinde tabloyu yeniden başlatır ve AUTO_INCREMENT alanı için bir taneden yeni bir kayıt başlar.
Misal:
Bu örnekte önceden oluşturulan kullanıcı tablosu kullanılmıştır.
İlk olarak, SELECT sorgusu, kullanıcı tablosunun tüm kayıtlarını gösterecektir. DELETE sorgusu, kullanıcının tablosundaki tüm kayıtları silecektir. INSERT sorgusu, kullanıcının tablosuna yeni bir kayıt ekleyecektir. Eklemeden sonra, SELECT sorgusu tekrar çalıştırılırsa yeni bir İD silindikten sonra hesaplanır İD .
SELECT * FROM users; DELETE FROM users; INSERT INTO users (username, email) VALUES ('Durjoy', 'durjoy@gmail.com'); SELECT * FROM users;
Şu anda, kullanıcının tablosunda iki kayıt vardır ve tüm kayıtlar silindikten sonra yeni bir kayıt eklendiğinde yeni kimlik 1 değil 3 olur.
Bu bölümde aynı sorgular yürütülür, sadece DELETE yerine TRUNCATE deyimi kullanılır. Yeni kaydın id değerinin 1 olduğu gösterilmiştir.
TRUNCATE table users; INSERT INTO users (username, email) VALUES ('Farheen', 'farheen@gmail.com'); SELECT * FROM users;
S # 36) Depolama motoru nedir? InnoDB ve MyISAM motorları arasındaki farklar nelerdir?
Cevap: MySQL sunucusunun ana bileşenlerinden biri, farklı türde veritabanı işlemleri yapmak için kullanılan depolama motorudur. Oluşturulan her veritabanı tablosu, belirli bir depolama motorunu temel alır.
MySQL iki tür depolama motorunu destekler, yani işlemsel ve işlemsel olmayan . InnoDB, işlemsel olan MySQL'in varsayılan depolama motorudur. MyISAM depolama motoru, işlemsel olmayan bir depolama motorudur.
InnoDB ve MyISAM depolama motorları arasındaki farklar aşağıda tartışılmaktadır:
- MyISAM, FULLTEXT dizinini destekler ancak InnoDB, FULLTEXT dizinini desteklemez.
- MyISAM daha hızlıdır ve InnoDB daha yavaştır.
- InnoDB, ACID (Atomiklik, Tutarlılık, İzolasyon ve Dayanıklılık) özelliğini destekler ancak MyISAM desteklemez.
- InnoDB satır düzeyinde kilitlemeyi destekler ve MyISAM, tablo düzeyinde kilitlemeyi destekler.
- InnoDB, büyük veritabanları için uygundur ve MyISAM, küçük bir veritabanı için uygundur.
S # 37) İşlem nedir? MySQL işlem özelliklerini açıklayın.
Cevap: Bir grup veritabanı işlemi tek bir birim olarak yapıldığında buna işlem denir. İşlemsel görevlerin herhangi bir görevi eksik kalırsa, işlem başarılı olmayacaktır. Bu nedenle, işlemi başarılı kılmak için bir işlemin tüm görevlerini tamamlamak zorunludur.
Bir işlemin ACID özelliği olarak bilinen dört özelliği vardır. Bu özellikler aşağıda açıklanmıştır.
- Atomiklik: Bir işlemin tüm görevlerinin başarıyla tamamlanmasını sağlar, aksi takdirde tamamlanan tüm görevler herhangi bir başarısızlık durumunda önceki duruma geri döndürülür.
- Tutarlılık: Gerçekleştirilen işlem için veritabanı durumunun doğru bir şekilde değiştirilmesini sağlar.
- İzolasyon: Bir işlemin tüm görevlerinin bağımsız ve şeffaf bir şekilde yapılmasını sağlar.
- Dayanıklılık: Tüm taahhüt edilen işlemlerin her tür sistem arızası için tutarlı olmasını sağlar.
S # 38) commit ve rollback deyimlerinin işlevleri nelerdir?
Cevap: Commit, bir işlemin tüm görevleri başarıyla tamamlandığında yürütülen bir işlem komutudur. İşlemi onaylamak için veritabanını kalıcı olarak değiştirecektir.
Sözdizimi:
COMMIT;
Geri alma, işlem görevlerinden herhangi biri başarısız olduğunda çalıştırılan ve işlemi başarısız kılmak için herhangi bir işlem görevi tarafından yapılan tüm değişiklikleri geri alan başka bir işlem komutudur.
Sözdizimi:
GERİ DÖNÜŞ;
S # 39) MyISAM Static ve MyISAM Dynamic arasındaki fark nedir?
Cevap: MyISAM Static ve MyISAM dinamik, MyISAM depolama motorunun varyasyonlarıdır. Bu tablolar arasındaki farklar aşağıda belirtilmiştir.
- MyISAM statik tablosunun tüm alanları sabit uzunluktadır ve MyISAM dinamik tablosu BLOB, TEXT, vb. Gibi değişken uzunluklu alanları kabul eder.
- Veri bozulmasından sonra, MyISAM statik tablosunu geri yüklemek MyISAM dinamik tablosundan daha kolaydır.
S # 40) Tetikleyici nedir? MySQL'de nasıl tetikleyici oluşturabilirsiniz?
Cevap: MySQL veritabanının önemli özelliklerinden biri, belirli bir veritabanı olayı gerçekleştiğinde otomatik olarak çalışan bir tetikleyicidir.
Bir ekleme veya güncellemenin yürütülmesinden sonra veya öncesinde tetiklenir veya bir deyimi siler. Bir veritabanı kullanıcısı bazı veritabanı işlemlerini otomatik olarak yapmak istediğinde çok kullanışlı bir seçenektir.
Tetikleyici Örneği:
Bir tedarikçinin kalemlerini bilgisayardan silmek isterseniz öğeler belirli bir tedarikçinin girişini ' tedarikçilerin daha sonra tetiği aşağıdaki şekilde yazın.
Misal:
Bu, listeden herhangi bir kayıt kaldırıldığında otomatik olarak etkinleşen silme sonrası tetikleyicisinin bir örneğidir. üretici firma tablosundan tüm kayıtları siler ve Ürün:% s silinen tablo İD of üretici firma tablo ile eşleşir üretici_kimliği alanı Ürün:% s tablo.
DELIMITER // CREATE TRIGGER manufacturer_after_delete AFTER DELETE ON manufacturers FOR EACH ROW BEGIN DELETE FROM products WHERE products.manufacturers_id = OLD.id; END; //
Sonuç
MySQL sunucusu, tablo verileri üzerinde farklı eylem türleri gerçekleştirmek için çeşitli yerleşik işlevlere ve yan tümcelere sahiptir. MySQL sunucusunun en sık kullanılan SQL işlevleri ve cümleleri bu makalede farklı örneklerle açıklanmıştır.
Umarım, en iyi MySQL mülakat soruları hakkındaki bu makale, daha taze ve deneyimli profesyoneller için MySQL sunucusunun temel ve ileri düzey kavramlarını anlamanıza yardımcı olacaktır.
Sizin için en iyisini diliyoruz!!
Önerilen Kaynaklar
- Mülakat Soruları ve Cevapları
- Bazı İlginç Yazılım Testi Görüşme Soruları
- En Popüler Oracle Mülakat Soruları: Oracle Basic, SQL, PL / SQL Soruları
- 2021'de Röportajı Temizlemek İçin 20 Seçici KG Mülakat Sorusu
- ETL Test Mülakat Soruları ve Cevapları
- En İyi 40 C Programlama Mülakat Soruları ve Cevapları
- En Popüler Teradata Mülakat Soruları ve Cevapları
- En Popüler 40 J2EE Mülakat Sorusu ve Okumanız Gereken Cevapları
- SQL Vs MySQL Vs SQL Server Arasındaki Fark (Örneklerle)
- En İyi 40 MySQL Mülakat Soruları ve Cevapları (2021 Soru)