Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. เกิดอะไรขึ้นเมื่อ INSERT ค่าว่างในคอลัมน์ TIMESTAMP DEFAULT CURRENT_TIMESTAMP

    พฤติกรรมของ TIMESTAMP DEFAULT CURRENT_TIMESTAMP เมื่อกำหนดคอลัมน์เป็น TIMESTAMP DEFAULT CURRENT_TIMESTAMP หาก Insert แถวใหม่ โดยไม่ระบุค่า ให้คอลัมน์นั้น MySQL จะใส่ วันเวลาปัจจุบัน (Current Timestamp) ให้อัตโนมัติ ตัวอย่างการทดสอบ 1. สร้างตาราง CREATE TABLE DemoTable ( ArrivalDate TIMESTAMP D

  2. วิธี INSERT ข้อมูลบางส่วนจากตารางหนึ่งไปอีกตารางใน MySQL คำสั่งเดียว

    การ INSERT ข้อมูลจากตารางหนึ่งไปอีกตารางด้วย INSERT ... SELECT (มีเงื่อนไข) ใช้ INSERT INTO target_table (cols) SELECT cols FROM source_table WHERE condition เพื่อคัดลอกข้อมูลบางส่วนในคำสั่งเดียว รูปแบบคำสั่ง INSERT INTO target_table (col1, col2, ...) SELECT col1, col2, ... FROM source_table WHER

  3. วิธีสุ่มแสดง 1 แถวจากตาราง MySQL ด้วย RAND() และ LIMIT 1

    การสุ่มเลือก 1 แถวจากตาราง MySQL ด้วย ORDER BY RAND() LIMIT 1 วิธีมาตรฐาน: เรียงลำดับแบบสุ่มด้วย RAND() แล้วจำกัด 1 แถวด้วย LIMIT 1 รูปแบบคำสั่ง SELECT * FROM table_name ORDER BY RAND() LIMIT 1; ตัวอย่าง: สุ่ม Quote จากตาราง 1. สร้างตารางและเพิ่มข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL

  4. สามารถใช้ผลลัพธ์ของ SUM() ใน WHERE clause ของ MySQL ได้หรือไม่

    ไม่สามารถใช้ SUM() ใน WHERE ได้ ต้องใช้ HAVING แทน คำสั่ง WHERE ทำงาน **ก่อน** การจัดกลุ่ม (GROUP BY) และ Aggregate Functions ในขณะที่ HAVING ทำงาน **หลัง** GROUP BY จึงสามารถใช้ Aggregate Functions ได้ ลำดับการประมวลผลของ SQL FROM / JOIN WHERE (Filter แถวเดี่ยว) GROUP BY (จัดกลุ่ม) Aggregate Func

  5. วิธีแทนที่ค่าซ้ำเฉพาะรายการใน MySQL ด้วย REPLACE()

    การแทนที่ค่าซ้ำในคอลัมน์ด้วยฟังก์ชัน REPLACE() ใช้ REPLACE(column, old_value, new_value) ในคำสั่ง UPDATE เพื่อเปลี่ยนค่าเฉพาะที่ต้องการในคอลัมน์ รูปแบบคำสั่ง UPDATE table_name SET column_name = REPLACE(column_name, old_value, new_value); ตัวอย่าง: แทนที่ชื่อ Chris เป็น Adam Smith ทุกที่ที่เจอ 1.

  6. วิธีค้นหารูปแบบตัวเลขตามด้วยตัวอักษร (เช่น 99S, 50K) ใน MySQL ด้วย REGEXP

    การค้นหารูปแบบข้อความด้วย Regular Expression (REGEXP) ใน MySQL ใช้ REGEXP (หรือ RLIKE) เพื่อค้นหาข้อมูลที่ตรงตามรูปแบบ Regular Expression เช่น ตัวเลข 2 หลักตามด้วยตัวอักษรใหญ่ 1 ตัว รูปแบบคำสั่ง SELECT * FROM table_name WHERE column_name REGEXP pattern; ตัวอย่าง: ค้นหา ID ที่เป็นตัวเลข 2 หลักตามด้

  7. วิธีรวมแถวที่ ID เดียวกัน และแสดงค่าสูงสุดของคอลัมน์อื่นใน MySQL

    การรวมแถว (Merge Rows) ที่ ID เหมือนกัน และหาค่าสูงสุดด้วย MAX() และ GROUP BY เมื่อมีหลายแถวที่ ID เดียวกัน แต่คอลัมน์อื่นกระจายอยู่ในแถวต่างกัน ให้ใช้ GROUP BY Id ร่วมกับ MAX() เพื่อรวมเป็น 1 แถวต่อ ID ตัวอย่าง: รวมแถว Id=100 ที่กระจายอยู่ 3 แถว 1. สร้างตารางและเพิ่มข้อมูล (ข้อมูลกระจาย) CREATE T

  8. วิธีดึง ID ที่ซ้ำกันจาก 2 ตารางใน MySQL ด้วย IN และ Subquery

    การหา ID ที่มีในทั้งสองตารางด้วย IN และ Subquery ใช้ WHERE Id IN (SELECT Id FROM other_table) เพื่อหา ID ที่ปรากฏในทั้งสองตาราง (Intersection) รูปแบบคำสั่ง SELECT columns FROM table2 WHERE id_column IN (SELECT id_column FROM table1); ตัวอย่าง: หา ID ที่มีใน DemoTable1 และ DemoTable2 1. สร้างตารา

  9. การจัดเรียง ORDER BY ตามเงื่อนไขใน MySQL ด้วย IF()

    การจัดลำดับข้อมูลตามเงื่อนไขเฉพาะด้วย ORDER BY IF() ใช้ ORDER BY IF(condition, value_if_true, value_if_false) เพื่อจัดลำดับ โดยให้แถวที่ตรงเงื่อนไขอยู่หน้า/หลังตามต้องการ รูปแบบคำสั่ง SELECT * FROM table_name ORDER BY IF(column = target_value, 1, 0) ASC, other_column DESC; ตัวอย่าง: ให้ Sam อยู่ท

  10. วิธี INSERT ค่า NULL ลงคอลัมน์ CHAR(1) ใน MySQL

    การ INSERT NULL ลง CHAR(1) ใน MySQL ด้วย sql_mode STRICT_TRANS_TABLES MySQL ในโหมด Strict อาจปฏิเสธการ INSERT NULL ลงคอลัมน์ NOT NULL แต่ CHAR(1) ที่ประกาศ NULL (Nullable) รับ NULL ได้ ต้องตั้ง sql_mode ให้ถูกต้อง ตัวอย่าง: INSERT NULL ลง Gender CHAR(1) 1. สร้างตาราง (Gender อนุญาต NULL) CREATE TA

  11. MySQL Time Period Query: ดึงข้อมูลวันที่ย้อนหลัง 14 สัปดาห์จากวันปัจจุบัน

    การ Query ข้อมูลในช่วงเวลา 14 สัปดาห์ย้อนหลังด้วย DATE_SUB และ CURDATE ใช้ DATE_SUB(CURDATE(), INTERVAL 14 WEEK) คำนวณวันที่ 14 สัปดาห์ก่อน แล้วใช้ BETWEEN กรองช่วง รูปแบบคำสั่ง SELECT * FROM table_name WHERE date_column BETWEEN DATE_SUB(CURDATE(), INTERVAL 14 WEEK) AND CURDATE(); ตัวอย่าง: ดึง A

  12. วิธีอัปเดตคอลัมน์เดียวใน MySQL และเพิ่มค่าตามเงื่อนไข

    การอัปเดตคอลัมน์เดียวแบบมีเงื่อนไขด้วย UPDATE และ WHERE ใช้ UPDATE ระบุคอลัมน์เป้าหมาย พร้อมเงื่อนไข WHERE เพื่อเพิ่มค่า (Increment) เฉพาะแถวที่ตรงเงื่อนไข รูปแบบคำสั่ง UPDATE table_name SET column_name = column_name + increment_value WHERE condition; ตัวอย่าง: เพิ่มคะแนน 10 ให้ผู้ที่คะแนนน้อยกว

  13. วิธีใช้ GROUP BY แบบมีเงื่อนไขใน MySQL เพื่อดึงข้อมูล

    การใช้ GROUP BY เพื่อหาค่าสูงสุดต่อกลุ่ม (Conditional Aggregation) คำสั่ง GROUP BY รวมแถวที่มีค่าเหมือนกัน แล้วใช้ Aggregate Function (MAX, MIN, SUM, COUNT) คำนวณค่าต่อกลุ่ม ตัวอย่าง: หาคะแนนสูงสุดของแต่ละนักเรียน (มีชื่อซ้ำ) 1. สร้างตารางและเพิ่มข้อมูล CREATE TABLE DemoTable ( StudentName VAR

  14. วิธีค้นหาสตริงที่มีอักขระพิเศษใน MySQL ด้วย REPLACE และ LIKE

    การค้นหาข้อความที่มีอักขระพิเศษ (เช่น Single Quote) ใน MySQL ใช้ REPLACE() กำจัดอักขระพิเศษชั่วคราว แล้วค่อย LIKE เพื่อค้นหา ตัวอย่าง: ค้นหา MySQLs (มี single quote) 1. สร้างตารางและเพิ่มข้อมูล CREATE TABLE DemoTable (Title TEXT); INSERT INTO DemoTable VALUES (MySQL), (MongoDB\s), (MySQL\s), (Java

  15. คำสั่ง CREATE TABLE ใน MySQL ด้วยคีย์เวิร์ด KEY

    คีย์เวิร์ด KEY ใน MySQL: Synonym ของ INDEX ใน MySQL KEY เป็น **Synonym (คำที่มีความหมายเหมือนกัน)** ของ INDEX สามารถใช้แทนกันได้ในหลายบริบท การใช้งาน KEY ใน CREATE TABLE 1. PRIMARY KEY CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -- หรือ Id INT NOT NULL AUTO_INC

  16. วิธีดึงเฉพาะแถวที่มี ID สูงสุดใน MySQL

    การดึงแถวที่มี ID สูงสุดด้วย ORDER BY DESC และ LIMIT 1 วิธีที่ง่ายและมาตรฐานที่สุด: เรียงลำดับ ID จากมากไปน้อย (DESC) แล้วจำกัด 1 แถว (LIMIT 1) รูปแบบคำสั่ง SELECT * FROM table_name ORDER BY id_column DESC LIMIT 1; ตัวอย่าง: ดึงแถวที่ Id สูงสุด 1. สร้างตารางและเพิ่มข้อมูล CREATE TABLE DemoTable (

  17. วิธีนับเบอร์โทรศัพท์ที่ไม่ซ้ำกันจากคอลัมน์ BIGINT ใน MySQL

    การนับค่า Unique ในคอลัมน์ BIGINT ด้วย COUNT(DISTINCT) ใช้ COUNT(DISTINCT column_name) เพื่อนับจำนวนค่าที่ไม่ซ้ำกัน (Unique) ในคอลัมน์ที่เป็น BIGINT (หมายเลขโทรศัพท์) รูปแบบคำสั่ง SELECT COUNT(DISTINCT phone_column) AS unique_count FROM table_name; ตัวอย่าง: นับเบอร์โทรศัพท์ที่ไม่ซ้ำ 1. สร้างตารา

  18. วิธีใช้เงื่อนไข 3 เงื่อนไขในคำสั่ง MySQL เดียวเพื่อค้นหารายการนักเรียน

    การใช้ WHERE หลายเงื่อนไขด้วย AND ใน MySQL เมื่อต้องการค้นหาแถวที่ตรงตามเงื่อนไขหลายอย่างพร้อมกัน ให้ใช้ AND เชื่อมเงื่อนไขแต่ละอย่างในคำสั่ง WHERE รูปแบบคำสั่ง SELECT * FROM table_name WHERE condition1 AND condition2 AND condition3 ...; ตัวอย่าง: ค้นหานักเรียนที่ Id=4, ชื่อ Carol, อายุ 21 1. สร

  19. วิธีนับจำนวน FileID แต่ละค่าในตาราง MySQL ด้วย GROUP BY

    การนับจำนวนรายการของแต่ละ FileID ด้วย COUNT() และ GROUP BY ใช้ COUNT() ร่วมกับ GROUP BY FileID เพื่อนับจำนวนแถวของแต่ละ FileID และแสดงในคอลัมน์ใหม่ รูปแบบคำสั่ง SELECT FileID, COUNT(*) AS EntryCount FROM table_name GROUP BY FileID; ตัวอย่าง: นับจำนวน Entry ของแต่ละ FileID 1. สร้างตาราง (มี AUTO

  20. Auto Increment ใน MySQL เริ่มจาก 1 แล้วจะเริ่มจากตัวเลขอื่นได้อย่างไร

    การเปลี่ยนค่าเริ่มต้นของ AUTO_INCREMENT ใน MySQL คอลัมน์ AUTO_INCREMENT เริ่มจาก 1 โดยค่าเริ่มต้น สามารถเปลี่ยนค่าเริ่มต้นได้ 2 วิธี: ระบุตอนสร้างตาราง: CREATE TABLE ... AUTO_INCREMENT = 1000 เปลี่ยนภายหลัง: ALTER TABLE table_name AUTO_INCREMENT = 1000 ตัวอย่าง: เริ่มจาก 1000 แทน 1 1. สร้างตาราง

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:59/229  20-คอมพิวเตอร์/Page Goto:1 53 54 55 56 57 58 59 60 61 62 63 64 65