คำถามและคำตอบสัมภาษณ์ MySQL 50 อันดับแรก (2025)
คำถามสัมภาษณ์ MySQL สำหรับนักศึกษาใหม่และมีประสบการณ์
ต่อไปนี้เป็นคำถามและคำตอบในการสัมภาษณ์ MySQL สำหรับผู้สมัครหน้าใหม่และผู้มีประสบการณ์เพื่อให้ได้งานในฝัน
ดาวน์โหลดไฟล์ PDF ฟรี: คำถามสัมภาษณ์ MySQL
1) MySQL คืออะไร?
MySQL เป็นระบบจัดการฐานข้อมูลโอเพ่นซอร์ส (DBMS) สำหรับการจัดการและจัดระเบียบข้อมูลในรูปแบบตาราง ข้อมูลเหล่านี้สามารถจัดการได้โดยใช้ภาษาการเขียนโปรแกรม MySQL รองรับและจัดจำหน่ายโดย MySQL AB (ปัจจุบันเข้าซื้อกิจการโดย คำพยากรณ์)
2) คุณสมบัติทางเทคนิคของ MySQL คืออะไร?
ซอฟต์แวร์ฐานข้อมูล MySQL เป็นระบบไคลเอนต์หรือเซิร์ฟเวอร์ซึ่งรวมถึง
- มัลติเธรด เซิร์ฟเวอร์ SQL รองรับโปรแกรมไคลเอนต์และไลบรารีต่างๆ
- แบ็กเอนด์ที่แตกต่างกัน
- อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันที่หลากหลายและ
- เครื่องมือการบริหาร
3) เหตุใดจึงใช้ MySQL?
เซิร์ฟเวอร์ฐานข้อมูล MySQL เชื่อถือได้ รวดเร็วและใช้งานง่ายมาก ซอฟต์แวร์นี้สามารถดาวน์โหลดเป็นฟรีแวร์และสามารถดาวน์โหลดได้จากอินเทอร์เน็ต
4) ตารางฮีปคืออะไร?
ตาราง HEAP มีอยู่ในหน่วยความจำและใช้สำหรับการจัดเก็บความเร็วสูงชั่วคราว
รากฐาน
• ไม่อนุญาตให้ใช้ฟิลด์ BLOB หรือ TEXT
• เฉพาะตัวดำเนินการเปรียบเทียบเท่านั้นที่สามารถใช้ได้ =, <,>, = >,=
• ตาราง HEAP ไม่รองรับ AUTO_INCREMENT
• ดัชนีไม่ควรเป็นโมฆะ
5) พอร์ตเริ่มต้นสำหรับเซิร์ฟเวอร์ MySQL คืออะไร?
พอร์ตเริ่มต้นสำหรับเซิร์ฟเวอร์ MySQL คือ 3306
6) อะไรคือข้อดีของ MySQL เมื่อเปรียบเทียบกับ Oracle?
- MySQL เป็นซอฟต์แวร์โอเพ่นซอร์สที่พร้อมใช้งานตลอดเวลาและไม่มีค่าใช้จ่ายใดๆ
- MySQL เป็นแบบพกพา
- GUI พร้อมพรอมต์คำสั่ง
- รองรับการดูแลระบบโดยใช้ MySQL Query Browser
7) แยกความแตกต่างระหว่าง FLOAT และ DOUBLE หรือไม่
ต่อไปนี้เป็นข้อแตกต่างสำหรับ FLOAT และ DOUBLE:
• หมายเลขทศนิยมจะถูกจัดเก็บไว้ใน FLOAT โดยมีความแม่นยำ 8 ตำแหน่งและมีไบต์ 4 ตำแหน่ง
• หมายเลขทศนิยมจะถูกจัดเก็บในรูปแบบ DOUBLE โดยมีความแม่นยำ 18 ตำแหน่ง และมีขนาด XNUMX ไบต์
8) แยกความแตกต่างระหว่าง CHAR_LENGTH และ LENGTH หรือไม่
CHAR_LENGTH คือจำนวนอักขระ ในขณะที่ LENGTH คือจำนวนไบต์ ตัวเลขจะเหมือนกันสำหรับอักขระละติน แต่จะแตกต่างกันสำหรับ Unicode และการเข้ารหัสอื่นๆ
9) จะแสดง ENUM และ SET ภายในได้อย่างไร
ENUM และ SET ใช้เพื่อแสดงกำลังของสองเนื่องจากการเพิ่มประสิทธิภาพการจัดเก็บข้อมูล
10) ENUMs ใน MySQL มีประโยชน์อย่างไร?
ENUM เป็นออบเจ็กต์สตริงที่ใช้ในการระบุชุดของค่าที่กำหนดไว้ล่วงหน้า และสามารถใช้ได้ในระหว่างการสร้างตาราง
Create table size(name ENUM('Small', 'Medium','Large');
11) กำหนด REGEXP หรือไม่
REGEXP คือการจับคู่รูปแบบที่จับคู่รูปแบบที่ใดก็ได้ในค่าการค้นหา
12) ความแตกต่างระหว่าง CHAR และ VARCHAR?
ต่อไปนี้เป็นข้อแตกต่างระหว่าง CHAR และ VARCHAR:
- ประเภท CHAR และ VARCHAR แตกต่างกันในด้านการจัดเก็บและการเรียกค้น
- ความยาวคอลัมน์ CHAR ได้รับการแก้ไขตามความยาวที่ประกาศขณะสร้างตาราง ค่าความยาวอยู่ระหว่าง 1 ถึง 255
- เมื่อเก็บค่า CHAR แล้ว ค่าเหล่านั้นจะถูกบุด้านขวาโดยใช้ช่องว่างตามความยาวที่กำหนด ช่องว่างต่อท้ายจะถูกลบออกเมื่อดึงค่า CHAR
13) ให้ประเภทสตริงสำหรับคอลัมน์?
ประเภทของสตริงคือ:
- ตลาดหลักทรัพย์
- หยด
- อีนัม
- ชาร์
- TEXT
- วาร์ชาร์
14) จะรับ MySQL เวอร์ชันปัจจุบันได้อย่างไร?
SELECT VERSION ();
ใช้เพื่อรับ MySQL เวอร์ชันปัจจุบัน
15) เอ็นจิ้นการจัดเก็บข้อมูลใดบ้างที่ใช้ใน MySQL?
กลไกการจัดเก็บข้อมูลเรียกว่าประเภทตารางและข้อมูลจะถูกจัดเก็บไว้ในไฟล์โดยใช้เทคนิคต่างๆ
เทคนิคเกี่ยวข้องกับ:
- กลไกการจัดเก็บ
- ระดับการล็อค
- การจัดทำดัชนี
- ความสามารถและฟังก์ชั่น
16) ไดรเวอร์ใน MySQL คืออะไร?
ต่อไปนี้เป็นไดรเวอร์ที่มีอยู่ใน MySQL:
- ไดร์เวอร์ PHP
- เจดีบีซี คนขับรถ
- ไดร์เวอร์ ODBC
- ซี แรปเปอร์
- ไดรเวอร์ไพธอน
- ไดร์เวอร์ PERL
- ไดร์เวอร์รูบี้
- ไดร์เวอร์ CAP11PHP
- Ado.net5.mxj
17) TIMESTAMP ทำอะไรกับประเภทข้อมูล UPDATE CURRENT_TIMESTAMP
คอลัมน์ TIMESTAMP ได้รับการอัปเดตด้วยศูนย์เมื่อสร้างตาราง UPDATE CURRENT_TIMESTAMP ตัวแก้ไขจะอัปเดตฟิลด์การประทับเวลาเป็นเวลาปัจจุบันทุกครั้งที่มีการเปลี่ยนแปลงในฟิลด์อื่น ๆ ของตาราง
18) คีย์หลักและคีย์ตัวเลือกแตกต่างกันอย่างไร?
ทุกแถวของตารางจะถูกระบุโดยไม่ซ้ำกันด้วยคีย์หลัก มีคีย์หลักเพียงคีย์เดียวสำหรับตาราง
คีย์หลักยังเป็นคีย์ตัวเลือกอีกด้วย ตามแบบแผนทั่วไป คีย์ตัวเลือกสามารถถูกกำหนดให้เป็นคีย์หลัก และสามารถใช้สำหรับการอ้างอิงคีย์ต่างประเทศได้
19) คุณจะเข้าสู่ MySql โดยใช้ Unix shell ได้อย่างไร?
เราสามารถเข้าสู่ระบบด้วยคำสั่งนี้:
# [mysql dir]/bin/mysql -h hostname -u <UserName> -p <password>
20) myisamchk ทำอะไร?
มันบีบอัดตาราง MyISAM ซึ่งจะลดการใช้ดิสก์หรือหน่วยความจำ
21) คุณจะควบคุมขนาดสูงสุดของตาราง HEAP ได้อย่างไร?
ขนาดสูงสุดของตาราง Heal สามารถควบคุมได้โดยตัวแปรการกำหนดค่า MySQL ที่เรียกว่า max_heap_table_size
22) MyISAM Static และ MyISAM Dynamic แตกต่างกันอย่างไร
ใน MyISAM แบบคงที่ ทุกฟิลด์จะมีความกว้างคงที่ ตาราง Dynamic MyISAM จะมีฟิลด์ต่างๆ เช่น TEXT, BLOB ฯลฯ เพื่อรองรับประเภทข้อมูลที่มีความยาวต่างๆ
MyISAM Static จะกู้คืนได้ง่ายกว่าในกรณีที่เกิดความเสียหาย
23) ตารางรวมคืออะไร?
ตารางรวมที่อนุญาตให้เข้าถึงตารางที่อยู่บนฐานข้อมูลอื่นบนเซิร์ฟเวอร์อื่น
24) จะเป็นอย่างไรหากตารางมีหนึ่งคอลัมน์ที่กำหนดเป็น TIMESTAMP?
ฟิลด์ Timestamp ได้รับการประทับเวลาปัจจุบันทุกครั้งที่มีการเปลี่ยนแปลงแถว
25) จะเกิดอะไรขึ้นเมื่อคอลัมน์ถูกตั้งค่าเป็น AUTO INCREMENT และหากคุณถึงค่าสูงสุดในตาราง?
มันหยุดเพิ่มขึ้น การแทรกเพิ่มเติมใดๆ จะทำให้เกิดข้อผิดพลาด เนื่องจากมีการใช้งานคีย์นี้แล้ว
26) เราจะทราบได้อย่างไรว่าการเพิ่มอัตโนมัติใดถูกกำหนดไว้ในการแทรกครั้งล่าสุด?
LAST_INSERT_ID จะส่งกลับค่าสุดท้ายที่กำหนดโดย Auto_increation และไม่จำเป็นต้องระบุชื่อตาราง
27) คุณจะดูดัชนีทั้งหมดที่กำหนดไว้สำหรับตารางได้อย่างไร?
ดัชนีถูกกำหนดไว้สำหรับตารางโดย:
SHOW INDEX FROM <tablename>;
28) % และ _ ในคำสั่ง LIKE คุณหมายถึงอะไร?
% สอดคล้องกับอักขระ 0 ตัวขึ้นไป _ คืออักขระหนึ่งตัวในคำสั่ง LIKE
29) เราจะแปลงระหว่างการประทับเวลา Unix และ MySQL ได้อย่างไร
UNIX_TIMESTAMP เป็นคำสั่งที่แปลงจากการประทับเวลา MySQL เป็นการประทับเวลา Unix
FROM_UNIXTIME เป็นคำสั่งที่แปลงจากการประทับเวลา Unix เป็นการประทับเวลา MySQL
30) ตัวดำเนินการเปรียบเทียบคอลัมน์มีอะไรบ้าง?
ตัวดำเนินการ = , <>, <=, <, >=, >,<<,>>, <=>, AND, OR หรือ LIKE ใช้ในการเปรียบเทียบคอลัมน์ในคำสั่ง SELECT
31) เราจะรับจำนวนแถวที่ได้รับผลกระทบจากการสืบค้นได้อย่างไร
สามารถรับจำนวนแถวได้โดย
SELECT COUNT (user_id) FROM users;
32) การสืบค้น Mysql คำนึงถึงขนาดตัวพิมพ์หรือไม่
ลำดับ
SELECT VERSION(), CURRENT_DATE; SeLect version(), current_date; seleCt vErSiOn(), current_DATE;
ตัวอย่างทั้งหมดนี้เหมือนกัน มันไม่คำนึงถึงขนาดตัวพิมพ์
33) อะไรคือความแตกต่างระหว่างตัวดำเนินการ LIKE และ REGEXP?
ตัวดำเนินการ LIKE และ REGEXP ใช้เพื่อแสดงด้วย ^ และ %
SELECT * FROM employee WHERE emp_name REGEXP "^b"; SELECT * FROM employee WHERE emp_name LIKE "%b";
34) BLOB และ TEXT ต่างกันอย่างไร
BLOB เป็นวัตถุไบนารีขนาดใหญ่ที่สามารถเก็บข้อมูลจำนวนตัวแปรได้ BLOB มีสี่ประเภท –
- ไทนี่บล็อบ
- หยด
- มีเดียมบล็อบ และ
- ลองบล็อบ
ทั้งหมดแตกต่างกันเฉพาะในความยาวสูงสุดของค่าที่สามารถเก็บได้
TEXT เป็น BLOB ที่ไม่คำนึงถึงขนาดตัวพิมพ์ TEXT สี่ประเภท
- ข้อความเล็กๆ
- TEXT
- ข้อความกลางและ
- ข้อความยาว
ทั้งหมดสอดคล้องกับประเภท BLOB สี่ประเภท และมีความยาวสูงสุดและข้อกำหนดในการจัดเก็บเท่ากัน
ข้อแตกต่างระหว่างประเภท BLOB และ TEXT คือการเรียงลำดับและการเปรียบเทียบจะดำเนินการในกรณีที่มีความละเอียดอ่อน สำหรับค่า BLOB และ case-ตายด้าน สำหรับค่า TEXT
35) mysql_fetch_array และ mysql_fetch_object แตกต่างกันอย่างไร?
ต่อไปนี้เป็นข้อแตกต่างระหว่าง mysql_fetch_array และ mysql_fetch_object:
mysql_fetch_array() - ส่งคืนแถวผลลัพธ์ที่เกี่ยวข้องกัน แถว หรืออาร์เรย์ปกติจากฐานข้อมูล
mysql_fetch_object – ส่งคืนแถวผลลัพธ์เป็นวัตถุจากฐานข้อมูล
36) เราจะรันโหมดแบตช์ใน mysql ได้อย่างไร?
คำสั่งต่อไปนี้ใช้เพื่อทำงานในโหมดแบตช์:
mysql ; mysql mysql.out
37) ตาราง MyISAM จะถูกจัดเก็บไว้ที่ไหนและยังให้รูปแบบการจัดเก็บด้วย?
ตาราง MyISAM แต่ละตารางจะถูกจัดเก็บไว้ในดิสก์ในสามรูปแบบ:
- ไฟล์ '.frm' เก็บคำจำกัดความของตาราง
- ไฟล์ข้อมูลมีนามสกุล '.MYD' (MYData)
- ไฟล์ดัชนีมีนามสกุล '.MYI' (MYIndex)
38) MySQL มีตารางอะไรบ้าง?
มีตารางทั้งหมด 5 ประเภท:
- มายไอซัม
- กอง
- ผสาน
- อินโน ดีบี
- อิสซาม
MyISAM เป็นเครื่องมือจัดเก็บข้อมูลเริ่มต้นของ MySQL
39) ISAM คืออะไร?
ISAM ย่อมาจาก Indexed Sequential Access Method ได้รับการพัฒนาโดย IBM เพื่อจัดเก็บและดึงข้อมูลบนระบบจัดเก็บข้อมูลสำรอง เช่น เทป
40) InnoDB คืออะไร?
lnnoDB เป็นเครื่องมือจัดเก็บข้อมูลที่ปลอดภัยสำหรับธุรกรรมที่พัฒนาโดย Innobase Oy ซึ่งปัจจุบันคือ Oracle Corporation
41) MySQL ปรับความแตกต่างให้เหมาะสมได้อย่างไร
DISTINCT จะถูกแปลงเป็น GROUP BY ในทุกคอลัมน์ และจะรวมกับคำสั่งย่อย ORDER BY
SELECT DISTINCT t1.a FROM t1,t2 where t1.a=t2.a;
42) จะป้อนอักขระเป็นเลขฐานสิบหกได้อย่างไร
หากคุณต้องการป้อนอักขระเป็นตัวเลข HEX คุณสามารถป้อนตัวเลข HEX ด้วยเครื่องหมายคำพูดเดี่ยวและนำหน้าด้วย (X) หรือเพียงนำหน้าตัวเลข HEX ด้วย (Ox)
สตริงตัวเลข HEX จะถูกแปลงเป็นสตริงอักขระโดยอัตโนมัติ หากบริบทของนิพจน์เป็นสตริง
43) จะแสดง 50 แถวแรกได้อย่างไร?
ใน MySql แถว 50 อันดับแรกจะแสดงโดยใช้แบบสอบถามต่อไปนี้:
SELECT * FROM LIMIT 0,50;
44) สร้าง Index ได้กี่คอลัมน์?
สามารถสร้างคอลัมน์ที่จัดทำดัชนีได้สูงสุด 16 คอลัมน์สำหรับตารางมาตรฐานใดๆ
45) อะไรคือความแตกต่างระหว่าง NOW() และ CURRENT_DATE()?
คำสั่ง NOW () ใช้แสดงปี เดือน วันที่ปัจจุบัน พร้อมชั่วโมง นาที และวินาที
CURRENT_DATE() แสดงเฉพาะปี เดือน และวันที่ปัจจุบันเท่านั้น
46) ออบเจ็กต์ใดบ้างที่สามารถสร้างได้โดยใช้คำสั่ง CREATE?
วัตถุต่อไปนี้ถูกสร้างขึ้นโดยใช้คำสั่ง CREATE:
- ฐานข้อมูล
- เหตุการณ์
- ฟังก์ชั่น
- ดัชนี
- ขั้นตอน
- ตาราง
- ทริกเกอร์
- USER
- ดู
47) อนุญาตให้มีทริกเกอร์จำนวนเท่าใดในตาราง MySql
อนุญาตให้ใช้ทริกเกอร์หกตัวในตาราง MySql มีดังนี้:
- ก่อนใส่
- หลังจากใส่
- ก่อนการอัพเดต
- หลังจากอัปเดต
- ก่อนที่จะลบและ
- หลังจากลบแล้ว
48) ประเภทสตริงที่ไม่เป็นมาตรฐานคืออะไร?
ต่อไปนี้เป็นประเภทสตริงที่ไม่เป็นมาตรฐาน:
- ข้อความเล็กๆ
- TEXT
- ข้อความขนาดกลาง
- ข้อความยาว
49) ฟังก์ชัน SQL ทั่วไปทั้งหมดมีอะไรบ้าง
CONCAT(A, B) – เชื่อมต่อค่าสตริงสองค่าเข้าด้วยกันเพื่อสร้างเอาต์พุตสตริงเดียว มักใช้เพื่อรวมสองช่องขึ้นไปเป็นช่องเดียว
FORMAT(X, D) – จัดรูปแบบตัวเลขนัยสำคัญ X เป็น D
CURRDATE(), CURRTIME() – ส่งกลับวันที่หรือเวลาปัจจุบัน
NOW() – ส่งกลับวันที่และเวลาปัจจุบันเป็นค่าเดียว
MONTH(), DAY(), YEAR(), WEEK(), WEEKDAY() – แยกข้อมูลที่กำหนดจากค่าวันที่
HOUR(), MINUTE(), SECOND() – แยกข้อมูลที่กำหนดจากค่าเวลา
DATEDIFF(A, B) – กำหนดความแตกต่างระหว่างวันที่สองวัน และมักใช้ในการคำนวณอายุ
SUBTIMES(A, B) – กำหนดความแตกต่างระหว่างสองครั้ง
FROMDAYS(INT) – แปลงจำนวนวันเป็นจำนวนเต็มเป็นค่าวันที่
50) อธิบายรายการควบคุมการเข้าถึง
ACL (รายการควบคุมการเข้าถึง) คือรายการสิทธิ์ที่เกี่ยวข้องกับออบเจ็กต์ รายการนี้เป็นพื้นฐานสำหรับโมเดลความปลอดภัยของเซิร์ฟเวอร์ MySQL และช่วยในการแก้ไขปัญหา เช่น ผู้ใช้ไม่สามารถเชื่อมต่อได้
MySQL เก็บ ACL (หรือที่เรียกว่าตารางการให้สิทธิ์) ไว้ในหน่วยความจำ เมื่อผู้ใช้พยายามตรวจสอบสิทธิ์หรือรันคำสั่ง MySQL จะตรวจสอบข้อมูลการตรวจสอบสิทธิ์และการอนุญาตกับ ACL ตามลำดับที่กำหนดไว้ล่วงหน้า
คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)
ดีมาก…คอลเลกชัน…แต่โปรดอัปเดตเหมือนเป็นเอ็นจิ้นเริ่มต้นใน Innodb ทันที
ไฟล์ Pdf มีเพียงหน้าเดียว
คำถามที่ดีมากสำหรับการสัมภาษณ์เพื่อถอดรหัส .. ขอบคุณ
โพสต์ข้อมูลมาก คำถามส่วนใหญ่ถูกถามจากฉันแล้วในการสัมภาษณ์ ขอบคุณ
สิ่งนี้มีประโยชน์สำหรับการสัมภาษณ์
บทความที่ดี แบ่งปันต่อไป
ฉันสามารถปิด d; ที่เครื่องมือ Gui เพิ่มต่อท้ายคำสั่ง Select ทุกรายการ
ก็ช่วยได้เต็มที่
บทความดีๆ. แต่คำถามการเข้าร่วมแบบสอบถามหายไปซึ่งสำคัญมาก
ขอบคุณมาก
การค้นหา MySQL มีความสำคัญอย่างไร -
คำตอบของคุณ
คำถามการรวมและคลัสเตอร์ไม่มีคำถามที่พบบ่อยที่สุดที่ถามในการสัมภาษณ์
เนื้อหาดีๆ เพื่อเป็นฐานการสัมภาษณ์…
แต่คำสั่ง join และ case que หายไปที่นี่… เนื้อหาเกือบจะดีมาก..