Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. ค้นหาตัวอักษรพิมพ์ใหญ่ (Capital Letters) ใน MySQL ด้วย REGEXP BINARY

    คำสั่งหลัก ใช้ REGEXP BINARY เพื่อ case-sensitive regex matching รูปแบบคำสั่ง SELECT * FROM yourTableName WHERE yourColumnName REGEXP BINARY [A-Z]{2}; ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affected (0.52 sec) 2. เพิ่มข้อมูลผสม case insert into FindCapitalLettrsDemo(StudentFirstNa

  2. รีเซ็ต Primary Key เริ่มจาก 1 หลังลบข้อมูลทั้งหมดใน MySQL

    คำสั่งหลัก ใช้ ALTER TABLE ... AUTO_INCREMENT = 1 ตามด้วย TRUNCATE TABLE รูปแบบคำสั่ง ALTER TABLE yourTableName AUTO_INCREMENT = 1; TRUNCATE TABLE yourTableName; ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affected (0.66 sec) 2. เพิ่มข้อมูล 4 แถว insert into resettingPrimaryKeyDemo valu

  3. ต่อข้อความใน SELECT clause ของ MySQL ด้วย CONCAT

    คำสั่งหลัก ใช้ CONCAT() รวมคอลัมน์/ข้อความคงที่ใน SELECT clause รูปแบบคำสั่ง SELECT CONCAT(col1, text , col2, more text) AS alias FROM table; ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affected (0.82 sec) 2. เพิ่มข้อมูล insert into ConcatenatingDemo(UserName,UserCountryName) values(D

  4. รวม DATE และ TIME เป็น DATETIME ใน MySQL ด้วย CONCAT

    คำสั่งหลัก ใช้ CONCAT(date_col, , time_col) รวมเป็น string แล้ว MySQL แปลงเป็น DATETIME อัตโนมัติ รูปแบบคำสั่ง UPDATE yourTable SET datetime_col = CONCAT(date_col, , time_col); ตัวอย่างครบถ้วน 1. สร้างตารางมี DATE, TIME, DATETIME แยกกัน ); Query OK, 0 rows affected (0.50 sec) 2. เพิ่มข้อมูล

  5. ป้องกันการปัดเศษทศนิยมใน MySQL ด้วย DECIMAL Precision/Scale

    ปัญหา DECIMAL(7) โดยไม่ระบุ scale = DECIMAL(7,0) → เก็บแค่จำนวนเต็ม ปัดทศนิยมทิ้ง ตัวอย่างปัญหา 1. สร้างตาราง DECIMAL(7) - ไม่มี scale ); Query OK, 0 rows affected (0.67 sec) 2. Insert ค่าทศนิยม insert into stopRoundingDemo values(110.50); Query OK, 1 row affected, 1 warning (0.33 sec) มี Wa

  6. ตรวจสอบว่าค่าเฉพาะเจาะจงปรากฏใน GROUP BY group หรือไม่ใน MySQL

    แนวคิด ใช้ SUM(condition) หรือ COUNT(CASE...) ภายใน GROUP BY เพื่อเช็คว่าค่าหนึ่งๆ ปรากฏในกลุ่มหรือไม่ หลักการ SUM(UserName = David) → นับจำนวนแถวในกลุ่มที่ UserName = David 0 = มีอยู่, = 0 = ไม่มี wrap ด้วย IF() เพื่อได้ YES/NO ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affecte

  7. รวม 2 คอลัมน์เป็น 1 คอลัมน์ใน MySQL ด้วย COALESCE

    แนวคิด COALESCE() คืนค่า NON-NULL แรก จากรายการ arguments ใช้รวมคอลัมน์ที่อาจมี NULL ปนอยู่ รูปแบบคำสั่ง SELECT COALESCE(column1, column2, column3, ...) FROM table; ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affected (1.12 sec) 2. เพิ่มข้อมูล (มี NULL ปน) insert into combineTwoColumnsD

  8. ลบแถวและเรียงลำดับ ID ใหม่ใน MySQL (Reorder IDs after DELETE)

    สถานการณ์ หลังลบแถว ID ไม่ต่อเนื่อง (gap) ต้องการ re-number ให้ต่อเนื่องอีกครั้ง คำเตือนสำคัญ ⚠ ไม่แนะนำให้ reorder Primary Key ที่ถูก referenced โดย Foreign Key จะทำให้ความสัมพันธ์ข้อมูลเสียหาย ควรใช้ surrogate key (auto_increment) คงเดิม และเพิ่ม display_order column แทน ตัวอย่าง: Reorder แบบ

  9. ดึงค่าที่ไม่ซ้ำและนับจำนวนใน MySQL ด้วย GROUP BY

    คำสั่งหลัก ใช้ GROUP BY ร่วมกับ COUNT(*) เพื่อได้ distinct values พร้อมจำนวน รูปแบบคำสั่ง SELECT yourColumnName, COUNT(*) AS count FROM yourTableName GROUP BY yourColumnName; ตัวอย่างครบถ้วน 1. สร้างตารางลูกค้า ); Query OK, 0 rows affected (0.64 sec) 2. เพิ่มข้อมูล (มีชื่อซ้ำมาก) insert int

  10. ลบแถวจาก View ใน MySQL จะลบจาก Base Table ด้วยหรือไม่?

    คำตอบสั้น: ใช่ ลบจาก View = ลบจาก Base Table View ใน MySQL เป็น updatable view (ถ้าไม่มี aggregation, join, subquery, distinct, etc.) การ DELETE/UPDATE/INSERT บน View จะส่งผลต่อ Base Table ตรงๆ ตัวอย่างยืนยัน 1. สร้าง Base Table ); Query OK, 0 rows affected (0.83 sec) 2. เพิ่มข้อมูล insert int

  11. หยุด Replication ชั่วคราวสำหรับ SQL Statements เฉพาะใน MySQL (sql_log_bin)

    แนวคิด ตั้งค่า sql_log_bin = 0 เพื่อปิด binary logging ชั่วคราว → คำสั่งใน session นั้นจะไม่ replicate ไป slave รูปแบบคำสั่ง SET sql_log_bin = 0; -- รันคำสั่งที่ไม่ต้องการ replicate SET sql_log_bin = 1; ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affected (0.79 sec) 2. เพิ่มข้อมูล 6 แถว

  12. รวม SUM คอลัมน์จากหลายตารางใน MySQL ด้วย UNION ALL

    แนวคิด ใช้ UNION ALL รวมค่าจากหลายตาราง แล้ว SUM() รวมทั้งหมด (UNION ALL เก็บค่าซ้ำ ไม่ลบออก) รูปแบบคำสั่ง SELECT SUM(tbl.col) AS TotalPrice FROM ( SELECT col FROM table1 UNION ALL SELECT col FROM table2 -- UNION ALL table3, table4... ) tbl; ตัวอย่างครบถ้วน 1. สร้างตาราง Products1 ); Q

  13. เลือกค่าที่ไม่ซ้ำ (Distinct Values) ใน MySQL ด้วย DISTINCT

    คำสั่งหลัก ใช้ DISTINCT กำหนดให้คืนค่าเฉพาะค่าที่ไม่ซ้ำกัน รูปแบบคำสั่ง SELECT DISTINCT yourColumnName FROM yourTableName; ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affected (0.64 sec) 2. เพิ่มข้อมูล (อายุซ้ำหลายคน) insert into selectUniqueValue(Name,Age) values(Robert,21); Query OK,

  14. หาความต่างสัมบูรณ์ (Absolute Difference) ระหว่าง 2 ตัวเลขใน MySQL ด้วย ABS()

    คำสั่งหลัก ใช้ฟังก์ชัน ABS() คืนค่าสัมบูรณ์ (ค่าบวกเสมอ) ของผลลัพธ์การลบ รูปแบบคำสั่ง SELECT ABS(FirstNumber - SecondNumber) AS diff FROM yourTable ORDER BY diff DESC; ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affected (0.60 sec) 2. เพิ่มข้อมูล insert into findDifferenceDemo(FirstNu

  15. เพิ่มคอลัมน์ใหม่และสร้าง Index พร้อมกันใน MySQL ด้วย ALTER TABLE

    คำสั่งหลัก ใช้ ALTER TABLE เพิ่มคอลัมน์และ index ในคำสั่งเดียว รูปแบบคำสั่ง ALTER TABLE yourTableName ADD COLUMN yourColumnName dataType, ADD INDEX(yourColumnName); ตัวอย่างครบถ้วน 1. สร้างตารางเดิม ); Query OK, 0 rows affected (0.81 sec) 2. ดูโครงสร้างก่อน desc AddColumnAndIndexDemo; +---

  16. เปรียบเทียบ String ที่เป็นตัวเลขใน MySQL ด้วย CAST

    ปัญหา 10) ต้องแปลงเป็นตัวเลขก่อน วิธีแก้: ใช้ CAST() รูปแบบคำสั่ง SELECT * FROM yourTableName WHERE CAST(yourColumnName AS SIGNED) = yourIntegerValue; ตัวอย่างครบถ้วน 1. สร้างตารางเก็บ ID เป็น VARCHAR ); Query OK, 0 rows affected (0.78 sec) 2. เพิ่มข้อมูลตัวเลขใน string insert into compareT

  17. แสดงผลรวม (SUM) ในแถวสุดท้ายของตารางด้วย UNION ใน MySQL

    แนวคิด ใช้ UNION รวมผลลัพธ์ของข้อมูลปกติ กับแถวสรุปยอดรวม (Total) ไว้ใน result set เดียว รูปแบบคำสั่ง (SELECT col1, col2 FROM table) UNION (SELECT Total AS col1, SUM(col2) FROM table); ตัวอย่างครบถ้วน 1. สร้างตารางคะแนนนักเรียน ); Query OK, 0 rows affected (0.69 sec) 2. เพิ่มข้อมูล (มีนักเรียน

  18. ORDER BY ผลลัพธ์ของฟังก์ชัน 2 คอลัมน์ใน MySQL (คำนวณแล้วเรียง)

    แนวคิด คำนวณสมการจาก 2 คอลัมน์ใน SELECT แล้ว ORDER BY ผลลัพธ์นั้นได้ โดยใช้ alias หรือคำนวณซ้ำใน ORDER BY รูปแบบคำสั่ง SELECT (expression) AS calc_name FROM yourTable ORDER BY calc_name DESC; ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affected (0.44 sec) 2. เพิ่มข้อมูล insert into or

  19. แปลง Unix Timestamp เป็น Date/Time ใน MySQL ด้วย FROM_UNIXTIME และ DATE_FORMAT

    คำสั่งหลัก ใช้ FROM_UNIXTIME() แปลง timestamp → datetime แล้ว DATE_FORMAT() จัดรูปแบบ รูปแบบคำสั่ง SELECT DATE_FORMAT(FROM_UNIXTIME(yourColumnName), %b %d, %Y %l:%i %p PDT) FROM yourTableName; ตัวอย่างครบถ้วน 1. สร้างตารางเก็บ timestamp ); Query OK, 0 rows affected (0.59 sec) 2. เพิ่มข้อมูล t

  20. แสดงคอลัมน์เฉพาะบางคอลัมน์จาก SHOW COLUMNS ใน MySQL

    คำสั่งหลัก ใช้ SHOW COLUMNS FROM table WHERE Field NOT IN (...) เพื่อกรองคอลัมน์ที่ไม่ต้องการ รูปแบบคำสั่ง SHOW COLUMNS FROM yourTableName WHERE Field NOT IN (col1, col2, ...); ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affected (0.50 sec) 2. ดูโครงสร้างทั้งหมด (DESC) desc excludeCerta

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:124/229  20-คอมพิวเตอร์/Page Goto:1 118 119 120 121 122 123 124 125 126 127 128 129 130