Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. ใช้ปีปัจจุบันในเงื่อนไข WHERE ของ MySQL ด้วย YEAR(CURDATE())

    เมื่อต้องการกรองข้อมูลเฉพาะปีปัจจุบัน (Current Year) ให้ใช้ฟังก์ชัน YEAR(CURDATE()) ในเงื่อนไข WHERE ซึ่งจะคำนวณปีปัจจุบันแบบ Dynamic ไม่ต้อง Hard-code ตัวอย่างการใช้งาน สร้างตารางเก็บปีเข้างาน: mysql> create table DemoTable1360 (JoiningYear int); mysql> insert into DemoTable1360 values(1998)

  2. ลบ URL ที่มีโดเมนเฉพาะใน MySQL ด้วย DELETE และ LIKE

    เมื่อต้องการลบแถวที่มี URL含有โดเมนเฉพาะ (เช่น google.com) ให้ใช้คำสั่ง DELETE ร่วมกับเงื่อนไข LIKE และ wildcard % ตัวอย่างการใช้งาน สร้างตารางเก็บ URL: mysql> create table DemoTable1361 (URL text); mysql> insert into DemoTable1361 values(Https://www.google.com//?id=1); mysql> insert into De

  3. ค้นหาตารางที่มีคอลัมน์ 2 คอลัมน์เฉพาะเจาะจงใน MySQL ด้วย information_schema.columns

    ภาพรวม ใช้ information_schema.columns ค้นหาตารางที่มี ทั้งสองคอลัมน์ ที่ระบุ (เช่น Id และ Name) ด้วย GROUP BY + HAVING COUNT(*) = 2 Query หลัก SELECT table_name AS TableName FROM information_schema.columns WHERE column_name IN (Id, Name) AND table_schema = your_database_name -- สำคัญ: ระบุ Datab

  4. เพิ่มคอลัมน์ลำดับที่ (Row Number) ในผลลัพธ์ MySQL ด้วย ROW_NUMBER()

    ตั้งแต่ MySQL 8.0 รองรับ Window Function ROW_NUMBER() ซึ่งสามารถสร้างหมายเลขลำดับ (Rank) ให้กับแถวในผลลัพธ์ได้โดยไม่ต้องใช้ตัวแปรหรือ Subquery ซับซ้อน รูปแบบคำสั่ง SELECT column, ROW_NUMBER() OVER (ORDER BY sort_column) as Rank FROM table; ตัวอย่างการใช้งาน สร้างตารางคะแนน: mysql> create table

  5. Insert หลายแถวใน MySQL ด้วยคำสั่งเดียว คั่นด้วยจุลภาค

    ใน MySQL สามารถเพิ่มข้อมูลหลายแถวในคำสั่ง INSERT เดียวได้ โดยระบุชุดค่า (Value sets) คั่นด้วยจุลภาค ภายในวงเล็บเดียวกัน รูปแบบคำสั่ง INSERT INTO table (col1, col2) VALUES (val1, val2), (val3, val4), (val5, val6); ตัวอย่างการใช้งาน สร้างตารางพร้อม AUTO_INCREMENT เริ่มที่ 1000: mysql> create tabl

  6. เลือกแถวที่คอลัมน์เป็น 0 เท่านั้น และ GROUP BY คอลัมน์อื่นใน MySQL

    เมื่อต้องการเลือกแถวที่คอลัมน์เฉพาะมีค่า 0 และจัดกลุ่ม (GROUP BY) ตามคอลัมน์อื่น ให้ใช้ WHERE กรองค่า 0 ก่อน แล้วค่อย GROUP BY (หรือใช้ HAVING หากกรองหลัง Group) ตัวอย่างการใช้งาน สร้างตารางสถานะสมรส (0=โสด, 1=สมรส): mysql> create table DemoTable1344 (SequenceId int NOT NULL AUTO_INCREMENT PRIMA

  7. ซ่อนอีเมลใน MySQL เปลี่ยนโดเมนด้วย REPLACE

    เมื่อต้องการปกป้องข้อมูลอีเมล (Data Masking) โดยเปลี่ยนโดเมนให้เหมือนกันทั้งหมด (เช่น @gmail.com → @amz.com) ให้ใช้ฟังก์ชัน REPLACE() ในคำสั่ง UPDATE ตัวอย่างการใช้งาน สร้างตารางและเพิ่มอีเมล: mysql> create table DemoTable1345 (UserEmailAddress text); mysql> insert into DemoTable1345 values(C

  8. อัปเดตคอลัมน์ในตารางหนึ่งจากค่าคอลัมน์ตารางอื่นใน MySQL ด้วย JOIN

    ใน MySQL สามารถใช้ JOIN ภายในคำสั่ง UPDATE เพื่ออัปเดตคอลัมน์ในตารางหนึ่งด้วยค่าจากตารางอีกตารางหนึ่ง โดยจับคู่ด้วยคีย์ร่วม ตัวอย่างการใช้งาน สร้างตาราง 2 ตาราง มี Id ร่วมกัน: mysql> create table DemoTable1 (Id int, Name varchar(10)); mysql> insert into DemoTable1 values(100,Bob); mysql>

  9. เรียงลำดับ MySQL ให้ค่า 0 อยู่ท้ายสุด ด้วย ORDER BY เงื่อนไข

    เมื่อต้องการเรียงลำดับตัวเลขแต่ให้ค่า 0 (หรือค่าเฉพาะ) อยู่ท้ายสุด ให้ใช้เงื่อนไข Boolean ใน ORDER BY เนื่องจากใน MySQL FALSE=0 และ TRUE=1 การเรียง ASC จะวาง FALSE (0) ก่อน TRUE (1) รูปแบบคำสั่ง SELECT * FROM yourTableName ORDER BY yourColumnName=0, yourColumnName; ตัวอย่างการใช้งาน สร้างตารางและเ

  10. อัปเดตคอลัมน์ใน MySQL โดยนำค่าตัวแปรผู้ใช้มาบวก/ต่อท้าย

    ใน MySQL สามารถใช้ตัวแปรผู้ใช้ (User-defined Variable @var) ในคำสั่ง UPDATE เพื่อนำค่ามาคำนวณหรือต่อท้ายกับคอลัมน์ได้ ตัวอย่างการใช้งาน สร้างตารางสินค้า: mysql> create table DemoTable1349 (ProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ProductPrice int); mysql> insert into DemoTable1349(P

  11. หลีกเลี่ยงการระบุค่า Auto Increment ใน MySQL ใช้ NULL, 0, หรือ DEFAULT

    ใน MySQL คอลัมน์ที่กำหนด AUTO_INCREMENT จะสร้างค่าอัตโนมัติ หากไม่ต้องการระบุค่าเอง ให้ส่งค่า NULL, 0, หรือ DEFAULT ในคำสั่ง INSERT ตัวอย่างการใช้งาน สร้างตารางมี Auto Increment: mysql> create table DemoTable1350 (StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20)); Inse

  12. หาตารางที่มีคอลัมน์เฉพาะทั้งสองคอลัมน์ใน MySQL ด้วย information_schema.columns

    เมื่อต้องการค้นหาตารางที่มี ทั้งสองคอลัมน์ที่ระบุ (เช่น Id และ Name) พร้อมกัน ให้สืบค้นจาก information_schema.columns กรองด้วย IN() แล้ว GROUP BY table_name HAVING COUNT(*) = 2 (หรือจำนวนคอลัมน์ที่ต้องการ) คำสั่งค้นหาตารางที่มีคอลัมน์ Id และ Name ทั้งคู่ mysql> select table_name as TableNameFrom

  13. แสดงเฉพาะค่าที่ซ้ำมากกว่าหรือเท่ากับ 3 ครั้งใน MySQL ด้วย HAVING COUNT

    เมื่อต้องการหาค่าที่ปรากฏซ้ำในคอลัมน์เฉพาะ และแสดงเฉพาะค่าที่ซ้ำมากกว่าหรือเท่ากับ N ครั้ง ให้ใช้ GROUP BY ร่วมกับ = N ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูลชื่อนักเรียน (มีค่าซ้ำหลายค่า): mysql> create table DemoTable1351 (StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varch

  14. Insert ข้อมูลลง 2 ตารางพร้อมกันด้วย Stored Procedure ใน MySQL

    ใน MySQL สามารถสร้าง Stored Procedure ที่รับพารามิเตอร์ แล้ว Insert ข้อมูลลงหลายตารางในครั้งเดียวได้ ใช้ DELIMITER เปลี่ยนตัวคั่นคำสั่งชั่วคราวเพื่อกำหนด Procedure รูปแบบคำสั่งสร้าง Procedure DELIMITER // CREATE PROCEDURE yourProcedureName(IN paramName INT) BEGIN INSERT INTO table1(col1) VALUES

  15. ค้นหาแถวที่ Timestamp มากกว่าช่วงเวลาก่อนหน้า N นาทีใน MySQL

    เมื่อต้องการดึงข้อมูลที่มี Timestamp ใหม่กว่าช่วงเวลาย้อนหลัง N นาที (หรือ N ชั่วโมง/วัน) ให้ใช้ DATE_SUB(NOW(), INTERVAL N MINUTE) ในเงื่อนไข WHERE ตัวอย่างการใช้งาน สร้างตารางเก็บเวลาเข้า: mysql> create table DemoTable1335 (ArrivalTime datetime); mysql> insert into DemoTable1335 values(2019

  16. เลือกคอลัมน์สำรองเมื่อคอลัมน์หลักเป็น NULL ใน MySQL ด้วย COALESCE

    ฟังก์ชัน COALESCE() ใน MySQL คืนค่าแรกที่ไม่ใช่ NULL จากรายการพารามิเตอร์ ใช้ได้ดีเมื่อต้องการเลือกคอลัมน์สำรอง (Fallback) หากคอลัมน์หลักเป็น NULL รูปแบบคำสั่ง COALESCE(column1, column2, column3, ...) ตัวอย่างการใช้งาน สร้างตารางมีคอลัมน์ชื่อ 2 คอลัมน์ บางแถวมี NULL: mysql> create table DemoTab

  17. แสดงสิทธิ์ (Grants) ของผู้ใช้เฉพาะใน MySQL ด้วย SHOW GRANTS

    ใน MySQL สามารถดูสิทธิ์ (Privileges) ที่มอบให้กับ User account ใดๆ ได้โดยใช้คำสั่ง SHOW GRANTS FOR user@host ขั้นตอนการตรวจสอบ 1. ดูรายชื่อ User ทั้งหมด: mysql> select user, host from mysql.user; ผลลัพธ์ตัวอย่าง (บางส่วน): +------------------+-----------+ | user | host | +-----

  18. หาค่าสูงสุดจากคอลัมน์ VARCHAR ที่เก็บตัวเลขต่อท้าย เช่น Value440, Value345

    เมื่อคอลัมน์ VARCHAR เก็บข้อมูลแบบ Prefix+Number เช่น Value440 และต้องการหาค่าตัวเลขสูงสุด ให้ใช้ SUBSTRING() ตัดคำนำหน้าออก แล้ว CAST() เป็นตัวเลข และใช้ MAX() ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูล: mysql> create table DemoTable1337 (Value varchar(50)); mysql> insert into DemoTable1337

  19. หาค่าเฉลี่ยของค่าซ้ำใน MySQL ใช้ HAVING กับ AVG() แทน WHERE

    เมื่อต้องการกรองกลุ่มข้อมูลตามค่าเฉลี่ย (Aggregate) ต้องใช้ HAVING ไม่ใช่ WHERE เพราะ WHERE ทำงานก่อน GROUP BY ในขณะที่ HAVING ทำงานหลัง GROUP BY ตัวอย่างการใช้งาน สร้างตารางคะแนน (มีชื่อซ้ำ): mysql> create table DemoTable1338 (Name varchar(10), Score int); mysql> insert into DemoTable1338 va

  20. นับเงื่อนไขหลายอย่าง แสดงผลแยกคอลัมน์ใน MySQL ด้วย SUM(CASE...)

    เมื่อต้องการนับจำนวนแถวตามเงื่อนไขหลายเงื่อนไข และแสดงผลลัพธ์แยกเป็นคอลัมน์ต่างๆ (Pivot/Crosstab) ให้ใช้ SUM(CASE WHEN ... THEN 1 ELSE 0 END) ร่วมกับ GROUP BY ตัวอย่างการใช้งาน สร้างตารางนักเรียน-วิชา: mysql> create table DemoTable1485 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:49/229  20-คอมพิวเตอร์/Page Goto:1 43 44 45 46 47 48 49 50 51 52 53 54 55