Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. ลบแถวใน MySQL โดยเก็บเฉพาะรายการที่ระบุด้วย NOT IN

    เมื่อต้องการลบข้อมูลทั้งหมดยกเว้นรายการที่ระบุ (Whitelist) ให้ใช้ DELETE ... WHERE column NOT IN (...) ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( FirstName varchar(100) ); Query OK, 0 rows affected (0.65 sec) เพิ่มข้อมูล 5 ชื่อ mysql> insert into DemoTable values(Chris); Qu

  2. ใช้ Underscore (_) เป็นชื่อตารางใน MySQL ด้วยแบ็กทิก

    ใน MySQL สามารถใช้ Underscore (_) เป็นส่วนหนึ่งของชื่อตารางหรือคอลัมน์ได้ แต่หากชื่อเต็มเป็นแค่ Underscore หรือขึ้นต้นด้วย Underscore ควรห่อด้วย แบ็กทิก (`) เพื่อความปลอดภัย ตัวอย่างการสร้างตารางชื่อ `DemoTable_1` mysql> create table `DemoTable_1` ( Id int NOT NULL AUTO_INCREMENT PRIMARY KE

  3. แปลงรูปแบบวันที่ VARCHAR ใน MySQL ด้วย STR_TO_DATE และ UPDATE

    เมื่อคอลัมน์เก็บวันที่เป็น VARCHAR ในรูปแบบหนึ่ง (เช่น MM/DD/YYYY) และต้องการแปลงเป็นรูปแบบมาตรฐาน DATE (YYYY-MM-DD) ให้ใช้ UPDATE ร่วมกับ STR_TO_DATE() รูปแบบคำสั่ง (Syntax) UPDATE yourTableName SET yourColumnName = STR_TO_DATE(yourColumnName, %m/%d/%Y); ตัวอย่างการสร้างตาราง mysql> create ta

  4. นับจำนวน 0 และ 1 ในคอลัมน์ MySQL แสดงในสองคอลัมน์ด้วย SUM

    เมื่อคอลัมน์เก็บค่าเป็น 0 และ 1 (เช่น Tinyint สำหรับ Boolean) สามารถนับจำนวนแต่ละค่าและแสดงในคอลัมน์แยกกันได้โดยใช้ SUM() กับเงื่อนไข Boolean ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( isMarried tinyint(1) ); Query OK, 0 rows affected (0.84 sec) เพิ่มข้อมูล 0 และ 1 mysql> in

  5. คำนวณเวลาจากวินาทีใน MySQL ด้วย TIME_TO_SEC และ SEC_TO_TIME

    เพื่อรวมเวลา (TIME) หลายแถวเข้าด้วยกันใน MySQL ต้องแปลงเป็นวินาทีก่อนด้วย TIME_TO_SEC() บวกกันด้วย SUM() แล้วค่อยแปลงกลับเป็น TIME ด้วย SEC_TO_TIME() ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( Logouttime time ); Query OK, 0 rows affected (0.62 sec) เพิ่มข้อมูลเวลา mysql> ins

  6. แสดงข้อมูลเป็น Key-Value Pairs ใน MySQL ด้วย JSON_OBJECTAGG

    ฟังก์ชัน JSON_OBJECTAGG() ใน MySQL (รองรับตั้งแต่เวอร์ชัน 5.7.22+) ใช้รวมคอลัมน์ Key และ Value เป็นออบเจ็กต์ JSON เดียว โดยจัดกลุ่มตามคอลัมน์ที่กำหนด ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( Id int, FirstName varchar(100), Age int ); Query OK, 0 rows affected (0.56 s

  7. เลือกแถวที่มีค่า Value เหมือนกัน 2 แถวใน MySQL ด้วย GROUP BY HAVING

    เมื่อต้องการหาค่าในคอลัมน์ที่ปรากฏจำนวนครั้งที่กำหนด (เช่น ปรากฏพอดี 2 ครั้ง) สามารถใช้ GROUP BY ... HAVING COUNT(...) = n ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value int ); Query OK, 0 rows affected (0.52 sec) เพิ่มข้อมูล (

  8. ใช้ SUM() บวกค่าทศนิยมใน MySQL ชนิด DECIMAL

    ชนิดข้อมูล DECIMAL(precision, scale) ใน MySQL เหมาะสำหรับเก็บค่าเงินหรือค่าที่ต้องการความแม่นยำ สามารถใช้ SUM() บวกค่าได้อย่างถูกต้องโดยไม่สูญเสียความแม่นยำ ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( Money DECIMAL(7,2) ); Query OK, 0 rows affected (0.58 sec) เพิ่มข้อมูลทศนิยม m

  9. ใช้คำสงวน 'Key' เป็นชื่อคอลัมน์ใน MySQL ด้วยแบ็กทิก

    คำว่า Key เป็น คำสงวน (Reserved Word) ใน MySQL หากต้องการใช้เป็นชื่อคอลัมน์ ต้องห่อด้วย แบ็กทิก (`) (Backtick) เพื่อไม่ให้ MySQL เข้าใจผิดว่าเป็นคำสั่ง ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( `Key` int ); Query OK, 0 rows affected (0.67 sec) เพิ่มข้อมูล mysql> insert into

  10. แก้ไข ERROR 1064 (42000) จากการใช้ VARCHAR โดยไม่ระบุขนาดใน MySQL

    สาเหตุของข้อผิดพลาด ใน MySQL VARCHAR ต้องระบุขนาด (Length) เสมอ ไม่สามารถใช้ VARCHAR โดยไม่มีวงเล็บได้ ซึ่งต่างจากบาง Database อื่นที่อนุญาตให้ใช้ VARCHAR แบบไม่ระบุขนาด ตัวอย่างข้อผิดพลาด CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR, -- ❌ ผิด:

  11. ทำให้คู่คอลัมน์เป็น Unique ใน MySQL ด้วย ALTER TABLE

    เพื่อกำหนดให้คู่ของคอลัมน์ (Composite Unique Key) มีค่าไม่ซ้ำกันใน MySQL ใช้ ALTER TABLE ... ADD UNIQUE รูปแบบคำสั่ง (Syntax) ALTER TABLE yourTableName ADD UNIQUE yourUniqueName(yourColumnName1, yourColumnName2, ...); ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( StudentId int NOT

  12. อัปเดตคอลัมน์ NULL ให้มีค่าใน MySQL ด้วย IS NULL

    เมื่อมีคอลัมน์ที่ยังเป็น NULL และต้องการคำนวณค่าแล้วอัปเดตเข้าไป สามารถใช้เงื่อนไข WHERE column IS NULL ร่วมกับ UPDATE ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( ProductPrice int, ProductQuantity int, TotalAmount int ); Query OK, 0 rows affected (1.22 sec) เพิ่มข้อมูล

  13. ใช้ 'year' เป็นชื่อคอลัมน์ใน MySQL ได้หรือไม่?

    คำว่า year ไม่ใช่คำสงวน (reserved word) ใน MySQL จึงสามารถใช้เป็นชื่อคอลัมน์ได้โดยตรง ไม่ต้องใช้แบ็กทิก (`) ก็ได้ แต่แนะนำให้ใช้แบ็กทิกเสมอเพื่อความปลอดภัย ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( Year int ); Query OK, 0 rows affected (0.87 sec) เพิ่มข้อมูลปี mysql> insert

  14. เปลี่ยนชื่อตารางใน MySQL ด้วยคำสั่ง RENAME TABLE

    คำสั่ง RENAME TABLE ใน MySQL ใช้เปลี่ยนชื่อตารางได้อย่างรวดเร็วและปลอดภัย โดยไม่ต้องสร้างตารางใหม่และคัดลอกข้อมูล รูปแบบคำสั่ง (Syntax) RENAME TABLE yourOldTableName TO yourNewTableName; ตัวอย่างการสร้างตารางเดิม mysql> create table DemoTable1 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,

  15. ใช้ INTERVAL เพิ่มเวลาเมื่อ INSERT วันที่ใน MySQL

    คำสั่ง INTERVAL ใน MySQL ใช้ร่วมกับฟังก์ชันวันที่ เช่น DATE_ADD() เพื่อบวกลบเวลาได้อย่างยืดหยุ่น สามารถใช้ตอน INSERT ข้อมูลได้เลย ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( ArrivalTime datetime ); Query OK, 0 rows affected (0.52 sec) INSERT พร้อมใช้ INTERVAL บวกชั่วโมง mysql>

  16. สลับค่า a และ b ในคอลัมน์ MySQL ด้วย CASE WHEN

    เมื่อต้องการสลับค่าในคอลัมน์ที่มีเพียงสองค่าที่เป็นไปได้ (เช่น a และ b) ให้ใช้คำสั่ง UPDATE ร่วมกับ CASE WHEN เพื่อทำได้ในคำสั่งเดียว ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( Value char(1) ); Query OK, 0 rows affected (1.21 sec) เพิ่มข้อมูลสลับกันระหว่าง a และ b mysql> ins

  17. เลือกชื่อที่ไม่ซ้ำจากสองคอลัมน์ใน MySQL รวมแสดงในคอลัมน์เดียวด้วย UNION

    เมื่อต้องการรวมค่าที่ไม่ซ้ำกัน (Distinct) จากสองคอลัมน์ แล้วแสดงในคอลัมน์เดียว สามารถใช้ UNION ซึ่งจะลบค่าซ้ำออกโดยอัตโนมัติ ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( Name1 varchar(100), Name2 varchar(100) ); Query OK, 0 rows affected (0.58 sec) เพิ่มข้อมูล mysql> inse

  18. ใช้ GROUP BY และ CONCAT() แสดงชื่อ-นามสกุลที่ไม่ซ้ำใน MySQL

    เมื่อต้องการรวมชื่อ (FirstName) และนามสกุล (LastName) เป็นข้อความเดียว และแสดงเฉพาะคู่ที่ไม่ซ้ำกัน (Distinct) สามารถใช้ GROUP BY ร่วมกับ CONCAT() ตัวอย่างการสร้างตารางพร้อมดัชนี mysql> create table DemoTable ( FirstName varchar(100), LastName varchar(100) ); Query OK, 0 rows affected

  19. กรองวันที่ใน MySQL ให้แสดงเฉพาะเดือนที่ต้องการ

    เมื่อคอลัมน์เก็บวันที่เป็น VARCHAR ในรูปแบบ YYYY-MM-DD สามารถใช้ LIKE กรองเฉพาะเดือนที่ต้องการได้โดยตรง ไม่ต้องแปลงชนิดข้อมูล ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( AdmissionDate varchar(100) ); Query OK, 0 rows affected (1.06 sec) เพิ่มข้อมูลวันที่ mysql> insert into De

  20. เลือกคอลัมน์แบบไดนามิกใน MySQL ด้วย Prepared Statement

    ใน MySQL ไม่สามารถใช้ตัวแปรเป็นชื่อคอลัมน์โดยตรงในคำสั่ง SELECT ได้ ต้องใช้ Prepared Statement สร้างคำสั่ง SQL เป็นสตริง แล้วค่อย Execute ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( EmployeeName varchar(100) ); Query OK, 0 rows affected (0.77 sec) เพิ่มข้อมูล mysql> insert in

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:68/229  20-คอมพิวเตอร์/Page Goto:1 62 63 64 65 66 67 68 69 70 71 72 73 74