คำถามและคำตอบในการสัมภาษณ์ MySQL 27 อันดับแรกสำหรับผู้เริ่มต้นและผู้มีประสบการณ์ [2022]
เผยแพร่แล้ว: 2021-01-07มีการสัมภาษณ์ด้านวิศวกรรมข้อมูลหรือวิทยาศาสตร์ข้อมูลหรือไม่? ต้องการฝึกฝน คำถามสัมภาษณ์ MySQL ที่ถามบ่อยที่สุด หรือไม่ บทความนี้รวบรวมรายการ คำถามสัมภาษณ์ MySQL ที่คุณควรรู้
เรียนรู้การสร้างแอปพลิเคชัน เช่น Swiggy, Quora, IMDB และอื่นๆ
คำถามและคำตอบสัมภาษณ์ MySQL ทั่วไป
1. MySQL คืออะไร?
MySQL เป็นหนึ่งใน DBMS โอเพ่นซอร์สที่ได้รับความนิยมมากที่สุด (ระบบการจัดการฐานข้อมูล) MySQL ใช้งานง่าย เชื่อถือได้ และรวดเร็ว ระบบการจัดการ DB ที่ทำงานบนระบบฝังตัว ตลอดจนระบบไคลเอ็นต์-เซิร์ฟเวอร์
2. ทำไม MySQL ถึงได้รับความนิยม?
ก่อนอื่น MySQL เป็นโอเพ่นซอร์ส ประการที่สอง มีการใช้กันอย่างแพร่หลาย ดังนั้นจึงมีโค้ดจำนวนมากอยู่แล้ว แม้แต่ระบบที่พัฒนาแล้วทั้งหมดก็สามารถอ้างอิงถึงโครงการที่จะเกิดขึ้นได้ MySQL มีฐานข้อมูลเชิงสัมพันธ์ ดังนั้นจึงทำให้มีการจัดเก็บที่มีระเบียบมากกว่าการทิ้งขยะขนาดใหญ่ที่ไม่มีการรวบรวมกัน และสุดท้าย ตามที่กล่าวไว้ก่อนหน้านี้ MySQL นั้นรวดเร็วและมีประสิทธิภาพ

3. ตารางใน MySQL คืออะไร? อธิบายประเภท.
นี่เป็น คำถามสัมภาษณ์ MySQL ที่ ต้องรู้ มาดูคำตอบกัน -
MySQL เก็บทุกอย่างไว้ในตารางตรรกะ ตารางถือได้ว่าเป็นโครงสร้างการจัดเก็บข้อมูลหลักของ MySQL และด้วยเหตุนี้ตารางจึงเรียกว่าเอ็นจิ้นการจัดเก็บ นี่คือเอ็นจิ้นการจัดเก็บที่จัดเตรียมโดย MySQL:
· MyISAM – MyISAM เป็นเครื่องมือจัดเก็บข้อมูลเริ่มต้นสำหรับ MySQL มันขยายเอ็นจิ้นการจัดเก็บ ISAM เดิม MyISAM นำเสนอพื้นที่เก็บข้อมูลขนาดใหญ่ถึง 256TB! นอกจากนี้ยังสามารถบีบอัดตารางเพื่อเพิ่มพื้นที่จัดเก็บได้อีกด้วย ตาราง MyISAM ไม่ปลอดภัยในการทำธุรกรรม
· MERGE – ตารางการรวมเป็นตารางเสมือนที่รวมตาราง MyISAM ที่แตกต่างกันซึ่งมีโครงสร้างที่เทียบเคียงได้กับตารางเดียว ตาราง MERGE ใช้ดัชนีของตารางฐาน เนื่องจากไม่มีดัชนีของตัวเอง
· ARCHIVE – ตามชื่อของมัน Archive ช่วยในการเก็บถาวรตารางโดยการบีบอัดตาราง ในทางกลับกันจะลดพื้นที่จัดเก็บ ดังนั้น คุณสามารถจัดเก็บบันทึกจำนวนมากด้วยการเก็บถาวร ใช้ขั้นตอนการบีบอัดและคลายการบีบอัดขณะเขียนและอ่านบันทึกตาราง ทำได้โดยใช้ไลบรารี Zlib
· CSV – นี่เป็นเหมือนรูปแบบการจัดเก็บ โปรแกรม CSV เก็บค่าในรูปแบบค่าที่คั่นด้วยเครื่องหมายจุลภาค (CSV) เอ็นจิ้นนี้ทำให้ง่ายต่อการโยกย้ายตารางไปยังไปป์ไลน์ที่ไม่ใช่ SQL
· InnoDB – InnoDB เหมาะสมที่สุดในขณะที่เลือกเครื่องยนต์เพื่อขับเคลื่อนประสิทธิภาพ InnoDB เป็นเครื่องมือที่ปลอดภัยในการทำธุรกรรม ดังนั้นจึงเป็นไปตามข้อกำหนดของ ACID และสามารถกู้คืนฐานข้อมูลของคุณไปยังสถานะที่เสถียรที่สุดในกรณีที่เกิดการขัดข้องได้อย่างมีประสิทธิภาพ
· หน่วยความจำ – ตารางหน่วยความจำเดิมเรียกว่า HEAP ด้วยตารางหน่วยความจำ สามารถเพิ่มประสิทธิภาพได้เนื่องจากตารางถูกจัดเก็บไว้ในหน่วยความจำ แต่ใช้ไม่ได้กับตารางข้อมูลขนาดใหญ่ด้วยเหตุผลเดียวกัน
· Federated – ตารางแบบรวมศูนย์อนุญาตให้เข้าถึงตารางเซิร์ฟเวอร์ MySQL ระยะไกล สามารถทำได้โดยไม่ต้องผสานรวมกับบุคคลที่สามหรือเทคโนโลยีคลัสเตอร์
อ่าน: SQL สำหรับ Data Science: ทำไมต้องเป็น SQL, รายการประโยชน์ & คำสั่ง
4. เขียนแบบสอบถามสำหรับการเพิ่มคอลัมน์ใน MySQL
สำหรับสิ่งนี้ จำเป็นต้องมีการสืบค้น ALTER TABLE เมื่อเรียกใช้แล้ว ให้พูดถึงคอลัมน์และคำจำกัดความของคอลัมน์ บางอย่างเช่นนี้:
รถดัดแปลงตาราง
ADD COLUMN เครื่องยนต์ VARCHAR(80) หลังทำสี;
5. กุญแจต่างประเทศคืออะไร? เขียนแบบสอบถามเพื่อนำไปใช้ใน MySQL
ใช้คีย์นอกเพื่อเชื่อมต่อสองตาราง FOREIGN KEY เป็นเขตข้อมูล (หรือการแบ่งประเภท) ในตารางหนึ่งที่หมายถึงคีย์หลักในอีกตารางหนึ่ง ข้อกำหนดของ FOREIGN KEY ใช้เพื่อขัดขวางกิจกรรมที่จะทำลายการรวมระหว่างตาราง
ในการกำหนดคีย์นอก สิ่งสำคัญคือต้องพูดถึงคีย์ในขณะสร้างตาราง สามารถกำหนดได้โดยเรียกใช้ข้อความค้นหา FOREIGN KEY บางอย่างเช่นนี้:
คีย์ต่างประเทศ (Any_ID) ข้อมูลอ้างอิง Table_to_reference (Any_ID)
6. โต๊ะทำงานของ MySQL คืออะไร?
MySQL Workbench เป็นเครื่องมือภาพที่เชื่อมโยงกันสำหรับผู้สร้างแบบจำลองฐานข้อมูล นักออกแบบ และ DBA MySQL Workbench มี Data modelling, SQL และชุดการตั้งค่าเซิร์ฟเวอร์ของเครื่องมือการดูแลระบบ พูดง่ายๆ คือ MySQL workbench ทำให้สามารถใช้งานระบบการจัดการฐานข้อมูลผ่าน GUI ได้
7. การนำเข้า/ส่งออกฐานข้อมูลใน MySQL ทำงานอย่างไร
สามารถทำได้สองวิธี หนึ่งคือใช้ phpMyAdmin และอย่างที่สองคือใช้การเข้าถึงบรรทัดคำสั่งของ MySQL หลังสามารถทำได้โดยใช้คำสั่งชื่อ mysqldump มันไปบางอย่างเช่นนี้:
· mysqldump -u username -p ชื่อฐานข้อมูล > dbsample.sql
ในการนำเข้าฐานข้อมูลไปยัง MySQL จำเป็นต้องเปลี่ยนเครื่องหมายเท่านั้น โดยใช้คำสั่งของ MySQL คำสั่งมีลักษณะดังนี้:
· mysql -u username -p ชื่อฐานข้อมูล < dbsample.sql
8. เราจะลบคอลัมน์หรือแถวใน MySQL ได้อย่างไร?
ตอนนี้การวางคอลัมน์สามารถทำได้ง่ายๆ โดยใช้คำสั่ง ALTER TABLE จากนั้นใช้คำสั่ง DROP มันไปบางอย่างเช่นนี้:
แก้ไขตาราง table_name DROP ชื่อคอลัมน์;
ในการวางแถว ก่อนอื่น จำเป็นต้องมีข้อมูลระบุสำหรับแถว เมื่อสะดวกแล้ว ให้ใช้คำสั่ง DELETE ร่วมกับคำสั่งเงื่อนไข WHERE บางอย่างเช่นนี้:
ลบออกจากรถยนต์ที่ carID = 3;
9. วิธีเข้าร่วมตารางใน MySQL ต่างกันอย่างไร
เข้าร่วมใช้เพื่อเชื่อมโยงตารางอย่างน้อยหนึ่งตารางเข้าด้วยกัน โดยมีค่าของคอลัมน์ทั่วไปในทั้งสองตาราง โดยหลักแล้วมีการรวมสี่ประเภท:
1. Inner Join – Inner join ใช้เพรดิเคต join ซึ่งเป็นเงื่อนไขที่ใช้ในการทำการ join นี่คือไวยากรณ์:
เลือกบางอย่างจากชื่อตาราง INNER JOIN ตารางอื่นในเงื่อนไข

2. Left Join – Left join ยังต้องมีเงื่อนไขการเข้าร่วมด้วย การรวมด้านซ้ายจะเลือกข้อมูลที่เริ่มต้นจากตารางด้านซ้าย สำหรับแต่ละรายการในตารางด้านซ้าย ด้านซ้ายจะเปรียบเทียบแต่ละรายการในตารางด้านขวา นี่คือไวยากรณ์:
เลือกบางอย่างจากชื่อตาราง ซ้าย เข้าร่วมตารางอื่นในเงื่อนไข
3. เข้าร่วมทางขวา – ตรงข้ามกับการเข้าร่วมทางซ้าย และด้วยความแตกต่างในแบบสอบถาม นั่นคือชื่อของการรวม ที่นี่ควรระมัดระวังเกี่ยวกับลำดับของตาราง นี่คือไวยากรณ์:
เลือกบางอย่างจากชื่อตาราง ซ้าย เข้าร่วมตารางอื่นในเงื่อนไข
4. การเข้าร่วมแบบไขว้ – การเข้าร่วมแบบไขว้ไม่มีเงื่อนไขการเข้าร่วม มันทำให้คาร์ทีเซียนของแถวของทั้งสองตาราง นี่คือไวยากรณ์:
เลือกบางอย่างจากชื่อตาราง CROSS เข้าร่วมตารางอื่น
หมายเหตุ: ในขณะที่จัดการกับโต๊ะเดียว การรวมตัวเองก็สามารถทำได้เช่นกัน
เป็นหนึ่งใน คำถามสัมภาษณ์ MySQL ที่จัดการมาก ที่สุด ผู้สัมภาษณ์ชอบที่จะดูว่าผู้สมัครเข้าใจพื้นฐานหรือไม่และเข้าร่วมแนวคิดหลักข้อใดข้อหนึ่ง
อ่าน: คำถามและคำตอบสัมภาษณ์ PHP
10. สามารถลบคีย์หลักใน MySQL ได้หรือไม่? ถ้าใช่อย่างไร?
ได้ เป็นไปได้ที่จะวางคีย์หลักจากตาราง คำสั่งที่จะใช้อีกครั้งคือ ALTER TABLE ตามด้วย DROP มันไปเช่นนี้:
แก้ไขตาราง table_name DROP PRIMARY KEY;
11. ขั้นตอนใน MySQL คืออะไร?
ขั้นตอน (หรือกระบวนงานที่เก็บไว้) เป็นโปรแกรมย่อย เช่นเดียวกับในภาษาปกติที่ฝังอยู่ในฐานข้อมูล กระบวนงานที่เก็บไว้ประกอบด้วยชื่อ คำสั่ง SQL และพารามิเตอร์ มันใช้การแคชใน MySQL จึงช่วยประหยัดเวลาและหน่วยความจำ เช่นเดียวกับคำสั่งที่เตรียมไว้
12. ทริกเกอร์ใน MySQL คืออะไร?
ทริกเกอร์คืออ็อบเจ็กต์ฐานข้อมูลที่เกี่ยวข้องกับตารางใน MySQL เปิดใช้งานเมื่อมีการดำเนินการที่ระบุ
สามารถเรียกทริกเกอร์ได้หลังจากหรือก่อนเหตุการณ์จะเกิดขึ้น สามารถใช้กับ INSERT, DELETE และ UPDATE ใช้ไวยากรณ์ตามลำดับเพื่อกำหนดทริกเกอร์ ตัวอย่างเช่น BEFORE INSERT, AFTER DELETE เป็นต้น
13. จะเพิ่มผู้ใช้ใน MySQL ได้อย่างไร?
พูดง่ายๆ ก็คือ คุณสามารถเพิ่มผู้ใช้ได้โดยใช้คำสั่ง CREATE และระบุข้อมูลประจำตัวที่จำเป็น ขั้นแรก ลงชื่อเข้าใช้บัญชี MySQL แล้วใช้ไวยากรณ์ บางอย่างเช่นนี้:
สร้างผู้ใช้ 'ผู้ใช้ทดสอบ' ระบุโดย 'รหัสผ่านตัวอย่าง';
ผู้ใช้สามารถได้รับสิทธิ์ตามคำสั่งต่อไปนี้:
GRANT เลือกบน * . * ถึง 'ผู้ใช้ทดสอบ';
14. อะไรคือความแตกต่างหลักระหว่าง Oracle และ MySQL?
ความแตกต่างหลักคือ MySQL ทำงานบนฐานข้อมูลรุ่นเดียว นั่นหมายความว่าสามารถทำงานกับโครงสร้างฐานเดียวเท่านั้น ในขณะที่ Oracle เป็นฐานข้อมูลแบบหลายรุ่น หมายความว่าสามารถรองรับโมเดลข้อมูลต่างๆ เช่น กราฟ เอกสาร คีย์-ค่า ฯลฯ
ความแตกต่างพื้นฐานอีกประการหนึ่งคือ การสนับสนุนของ Oracle มาพร้อมกับป้ายราคาสำหรับโซลูชันอุตสาหกรรม ในขณะที่ MySQL เป็นโอเพ่นซอร์ส
ตอนนี้คำถามนี้เป็นหนึ่งใน คำถามสัมภาษณ์ MySQL ที่ควรเข้าใจอย่างรอบคอบ เพราะมันเกี่ยวข้องโดยตรงกับมาตรฐานอุตสาหกรรมและสิ่งที่บริษัทต้องการ
15. CHAR และ VARCHAR ใน MySQL คืออะไร?
ทั้งคู่กำหนดสตริง ความแตกต่างหลักคือ CHAR มีความยาวคงที่ในขณะที่ VARCHAR มีความยาวผันแปร ตัวอย่างเช่น หากมีการกำหนด CHAR(5) จะต้องมีอักขระห้าตัวพอดี หากมีการกำหนด VARCHAR(5) ก็สามารถใช้อักขระได้ไม่เกินห้าตัว อาจกล่าวได้ว่า VARCHAR มีประสิทธิภาพมากขึ้นในการใช้หน่วยความจำ เนื่องจากมีการจัดสรรหน่วยความจำแบบไดนามิก
16. ไดรเวอร์ใดบ้างที่จำเป็นสำหรับ MySQL?
มีไดรเวอร์หลายประเภทใน MySQL ส่วนใหญ่จะใช้สำหรับการเชื่อมต่อกับภาษาคอมพิวเตอร์ต่างๆ บางส่วนของพวกเขามีการระบุไว้ด้านล่าง:
· ไดรเวอร์ PHP
· JDBC
· OBDC
· ไดรเวอร์ไพทอน
· C – เสื้อคลุม
·ไดรเวอร์ Perl และ Ruby
17. คำสั่ง LIKE คืออะไร? อธิบาย % และ _ ใน LIKE
ขณะใช้ตัวกรองในคำสั่งเช่น SELECT, UPDATE และ DELETE เงื่อนไขอาจต้องมีรูปแบบเพื่อตรวจจับ LIKE ใช้สำหรับทำอย่างนั้น LIKE มีอักขระตัวแทนสองตัวคือ % (เปอร์เซ็นต์) และ _ (ขีดล่าง) เปอร์เซ็นต์ (%) จับคู่สตริงของอักขระ ขณะที่ขีดล่างตรงกับอักขระตัวเดียว
ตัวอย่างเช่น %t จะตรวจจับต้นไม้และใบชาทั้งคู่ อย่างไรก็ตาม _t จะตรวจพบอักขระพิเศษเพียงตัวเดียวเท่านั้น กล่าวคือ สตริง เช่น ti หรือ te
18. จะแปลงการประทับเวลาเป็นวันที่ใน MySQL ได้อย่างไร
เป็นคำถามง่ายๆ ที่ต้องใช้ความรู้สองคำสั่ง เช่น DATE_FORMAT และ FROM_UNIXTIME
DATE_FORMAT(FROM_UNIXTIME(`date_in_timestamp`), '%e %b %Y') เป็น 'date_formatted'
อ่านเพิ่มเติม: คำถามและคำตอบสัมภาษณ์ Java
19. สามารถเขียนแบบสอบถามใน MySQL ในกรณีใด ๆ ได้หรือไม่?
คำถามสัมภาษณ์ MySQL นี้มักจะสร้างความสับสนให้กับผู้ที่เพิ่งเริ่มต้นใช้งาน MySQL แม้ว่าโดยส่วนใหญ่แล้ว การสืบค้นข้อมูลจะถูกเขียนด้วยตัวพิมพ์ใหญ่หรือบางตัวเป็นตัวพิมพ์เล็ก แต่ไม่มีความละเอียดอ่อนของตัวพิมพ์ในการสืบค้น MySQL
ตัวอย่างเช่นทั้งสร้างชื่อตารางและชื่อตาราง CREATE TABLE ทำงานได้ดี
อย่างไรก็ตาม หากจำเป็น เป็นไปได้ที่จะทำให้การสืบค้นมีความละเอียดอ่อนโดยใช้คำหลัก BINARY
คำถามสัมภาษณ์ MySQL นี้ อาจเป็นเรื่องยาก โดยเฉพาะอย่างยิ่งเมื่อถูกขอให้ระบุตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ของแบบสอบถามอย่างชัดเจน
20. จะบันทึกรูปภาพใน MySQL ได้อย่างไร?
สามารถจัดเก็บรูปภาพในฐานข้อมูล MySQL โดยแปลงเป็น BLOBS แต่มันไม่เป็นที่นิยมเนื่องจากมันสร้างค่าใช้จ่ายสูง นอกจากนี้ยังทำให้ RAM โหลดโดยไม่จำเป็นขณะโหลดฐานข้อมูลทั้งหมด ดังนั้นจึงเป็นที่ต้องการในการจัดเก็บเส้นทางในฐานข้อมูลและจัดเก็บภาพบนดิสก์
21. จะรับผลลัพธ์หลายเงื่อนไขจากข้อมูลใน MySQL ได้อย่างไร
มีสองวิธีในการทำเช่นนั้น อย่างแรกคือการใช้คีย์เวิร์ด OR ในขณะที่ใช้เงื่อนไข WHERE อีกวิธีหนึ่งคือการใช้รายการค่าเพื่อตรวจสอบและใช้ IN กับ WHERE
22. รูปแบบไฟล์ต่าง ๆ ที่ MyISAM ใช้คืออะไร?
โดยปกติ ตาราง MyISAM จะถูกจัดเก็บโดยใช้ไฟล์สามไฟล์บนดิสก์ ไฟล์ข้อมูลและไฟล์ดัชนีซึ่งกำหนดด้วยนามสกุล .MYD และ .MYI ตามลำดับ มีไฟล์นิยามตารางที่มีนามสกุล .frm
23. DISTINCT ทำงานอย่างไรใน MySQL?
ใช้ DISTINCT เพื่อหลีกเลี่ยงปัญหาการซ้ำซ้อนขณะดึงผลลัพธ์ของข้อความค้นหาเฉพาะ DISTINCT ใช้เพื่อให้แน่ใจว่าผลลัพธ์ไม่มีค่าที่ซ้ำกัน สามารถใช้ DISTINCT กับส่วนคำสั่ง SELECT นี่คือไวยากรณ์สำหรับมัน:
เลือก DISTINCT บางอย่างจากชื่อตาราง
24. มีขีดจำกัดบนสำหรับจำนวนคอลัมน์ในตารางหรือไม่?
แม้ว่าข้อจำกัดด้านขนาดที่แน่นอนจะขึ้นอยู่กับหลายปัจจัย แต่ MySQL ก็มีขีดจำกัดสูงสุดสำหรับขนาดสูงสุดที่ 4096 คอลัมน์ แต่ดังที่กล่าวไว้ สำหรับตารางที่กำหนด ค่าสูงสุดที่มีประสิทธิผลอาจน้อยกว่า
25. Access Control List หรือ ACLs ตาม MySQL คืออะไร?
ACLs หรือรายการควบคุมการเข้าถึงถูกใช้เพื่อเป็นแนวทางในการรักษาความปลอดภัยในฐานข้อมูล MySQL MySQL ให้การรักษาความปลอดภัยตาม ACL สำหรับงานทั้งหมดที่ดำเนินการโดยผู้ใช้ เช่น คำขอเชื่อมต่อ การสืบค้น และการดำเนินการอื่นๆ
26. จะทำให้การเชื่อมต่อคงอยู่ใน MySQL ได้อย่างไร?
ขณะทำการร้องขอการเชื่อมต่อ หากใช้ Mysql_pconnect แทน mysql_connect ก็สามารถทำให้การเชื่อมต่อคงอยู่ได้ ในที่นี้ 'p' หมายถึง ขัดขืน การเชื่อมต่อฐานข้อมูลไม่ได้ปิดทุกครั้ง
27. อธิบายคำสั่ง SAVEPOINT ใน MySQL
SAVEPOINT เป็นวิธีการทำธุรกรรมย่อยใน MySQL ซึ่งเรียกอีกอย่างว่าธุรกรรมที่ซ้อนกัน

SAVEPOINT ทำเครื่องหมายจุดในการทำธุรกรรมปกติ ระบุจุดที่ระบบสามารถย้อนกลับได้
ชำระเงิน: เงินเดือนนักพัฒนา SQL ในอินเดีย
เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
ดังนั้น นี่คือ คำถามสัมภาษณ์ MySQL บาง ข้อ หากต้องการทราบเกี่ยวกับวิชานี้และการเตรียมการอื่นๆ โปรดไปที่หลักสูตร upGrad และโปรแกรม PG ที่จะช่วยคุณในการค้นหาเส้นทางและการสมัครที่เหมาะสมเพื่อส่งเสริมอาชีพของคุณ
หากคุณอยากทราบเกี่ยวกับ SQL และข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาแบบฟูลสแตก ให้ลองดูโปรแกรม Executive PG ของ IIIT-B และ upGrad ในการพัฒนาซอฟต์แวร์ฟูลสแตก ซึ่งสร้างขึ้นสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 10 แบบ ภาคปฏิบัติ ในการประชุมเชิงปฏิบัติการ การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม ตัวต่อตัวกับที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
