คำถามและคำตอบสัมภาษณ์ 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

คำถามสัมภาษณ์ MySQL

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');

MySQL.svg


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 ตามลำดับที่กำหนดไว้ล่วงหน้า

คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)

Share

13 คอมเมนต์

  1. รูปโพรไฟล์ ราเมช ทิวารี พูดว่า:

    ดีมาก…คอลเลกชัน…แต่โปรดอัปเดตเหมือนเป็นเอ็นจิ้นเริ่มต้นใน Innodb ทันที

  2. รูปโพรไฟล์ ชัยษฐา พูดว่า:

    ไฟล์ Pdf มีเพียงหน้าเดียว

  3. สุทันชู เทวาริ พูดว่า:

    คำถามที่ดีมากสำหรับการสัมภาษณ์เพื่อถอดรหัส .. ขอบคุณ

  4. รูปโพรไฟล์ ชูบาม ซันนี่ พูดว่า:

    โพสต์ข้อมูลมาก คำถามส่วนใหญ่ถูกถามจากฉันแล้วในการสัมภาษณ์ ขอบคุณ

  5. รูปโพรไฟล์ Babita พูดว่า:

    สิ่งนี้มีประโยชน์สำหรับการสัมภาษณ์

  6. รูปโพรไฟล์ ช่องเสียบ พูดว่า:

    บทความที่ดี แบ่งปันต่อไป

  7. รูปโพรไฟล์ Shawn พูดว่า:

    ฉันสามารถปิด d; ที่เครื่องมือ Gui เพิ่มต่อท้ายคำสั่ง Select ทุกรายการ

  8. รูปโพรไฟล์ Faizan พูดว่า:

    ก็ช่วยได้เต็มที่

  9. รูปโพรไฟล์ ราชีด อูร์ เรห์มาน พูดว่า:

    บทความดีๆ. แต่คำถามการเข้าร่วมแบบสอบถามหายไปซึ่งสำคัญมาก

  10. รูปโพรไฟล์ โมฮัมเหม็ด อัลโชบากิ พูดว่า:

    ขอบคุณมาก

  11. รูปโพรไฟล์ พี่ซินโก้ พูดว่า:

    การค้นหา MySQL มีความสำคัญอย่างไร -
    คำตอบของคุณ

  12. รูปโพรไฟล์ มาโนจ Kumar พูดว่า:

    คำถามการรวมและคลัสเตอร์ไม่มีคำถามที่พบบ่อยที่สุดที่ถามในการสัมภาษณ์

  13. รูปโพรไฟล์ นพ. เดนมาร์ก พูดว่า:

    เนื้อหาดีๆ เพื่อเป็นฐานการสัมภาษณ์…
    แต่คำสั่ง join และ case que หายไปที่นี่… เนื้อหาเกือบจะดีมาก..

เขียนความเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมาย *