Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. MySQL เพิ่มคอลัมน์ NOT NULL ใหม่ลงตารางที่มีข้อมูลอยู่แล้ว

    การเพิ่มคอลัมน์ NOT NULL ใหม่ลงในตารางที่มีข้อมูลอยู่แล้ว จะสำเร็จก็ต่อเมื่อ ตารางว่างเปล่า หรือ ระบุ DEFAULT VALUE ไว้ มิฉะนั้นจะ Error ตัวอย่างที่สำเร็จ (ตารางว่าง) 1. สร้างตาราง mysql> CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName VARCHAR(20)

  2. MySQL เรียงลำดับค่า Character-Number Mixed (เช่น J23, C13) ให้ถูกต้อง

    เมื่อคอลัมน์มีข้อมูลผสมตัวอักษรนำหน้าตัวเลข (เช่น J23, C13, A61) การเรียงลำดับแบบปกติ (Lexicographic) จะได้ผลลัพธ์ผิด ต้องแยกตัวอักษรและตัวเลขออกมาเรียงแยกกัน ตัวอย่างปัญหา mysql> SELECT * FROM DemoTable ORDER BY Code; +------+ | Code | +------+ | A61 | | C13 | | D56 | | J23 | -- ผิด! ควรเป

  3. Java-MySQL: ดึงข้อมูลแค่ 1 แถว (Single Row) ด้วย LIMIT 1

    ใช้ LIMIT 1 ในคำสั่ง SQL เพื่อจำกัดผลลัพธ์ให้ได้แค่ 1 แถว แล้วใช้ ResultSet.next() อ่านครั้งเดียวใน Java ตัวอย่างโค้ด Java เต็มรูปแบบ 1. สร้างตารางและข้อมูลทดสอบใน MySQL mysql> CREATE TABLE DemoTable ( Id INT, Name VARCHAR(20) ); Query OK, 0 rows affected (1.37 sec) mysql> INSERT IN

  4. Java-MySQL: Insert ข้อมูลเฉพาะคอลัมน์เดียว (Single Column Insert)

    ใช้ PreparedStatement ใน Java ร่วมกับคำสั่ง SQL INSERT INTO table (column) VALUES (?) เพื่อเพิ่มข้อมูลเฉพาะคอลัมน์ที่ต้องการ ตัวอย่างโค้ด Java เต็มรูปแบบ 1. สร้างตารางใน MySQL mysql> CREATE TABLE DemoTable ( Name VARCHAR(20) ); Query OK, 0 rows affected (0.54 sec) 2. Java Code: InsertOneCo

  5. MySQL นับจำนวนตารางในฐานข้อมูลด้วย INFORMATION_SCHEMA.TABLES

    ใช้ INFORMATION_SCHEMA.TABLES เพื่อสอบถามข้อมูลเมตาของตารางในฐานข้อมูล รวมถึงนับจำนวนตารางทั้งหมด คำสั่งนับจำนวนตาราง mysql> SELECT COUNT(TABLE_NAME) AS TotalNumberOfTablesInWebDatabase -> FROM INFORMATION_SCHEMA.TABLES -> WHERE TABLE_SCHEMA = web; ผลลัพธ์ตัวอย่าง +---------------

  6. MySQL Error: ใช้ 'group' เป็นชื่อตาราง ต้องใช้ Backticks (`)

    GROUP เป็น Reserved Keyword (คำสงวน) ใน MySQL ไม่สามารถใช้เป็นชื่อตารางหรือคอลัมน์ได้โดยตรง ต้องห่อหุ้มด้วย Backticks (`) เสมอ ปัญหาและวิธีแก้ ❌ ผิด: ไม่ใช้ Backticks CREATE TABLE group (...); -- ERROR 1064 ✅ ถูกต้อง: ใช้ Backticks ครอบชื่อตาราง CREATE TABLE `group` (...); -- OK ตัวอย่างครบถ้ว

  7. MySQL บวกคอลัมน์พร้อมเงื่อนไข IF() : บวก Value3 ก็ต่อเมื่อ > 0

    ใช้ฟังก์ชัน IF() ภายในนิพจน์คำนวณ เพื่อรวมค่าคอลัมน์ตามเงื่อนไข เช่น บวก Value3 เข้าไปก็ต่อเมื่อมันมากกว่า 0 ตัวอย่างการใช้งาน 1. สร้างตาราง mysql> CREATE TABLE DemoTable ( Value1 INT, Value2 INT, Value3 INT ); Query OK, 0 rows affected (0.64 sec) 2. เพิ่มข้อมูลทดสอบ (มีค่าติดลบใน

  8. MySQL กำหนดเงื่อนไขคอลัมน์ค่า 0/1 ด้วย CASE WHEN

    ใช้ CASE WHEN ในคำสั่ง SELECT เพื่อสร้างคอลัมน์คำนวณ (Computed Column) ตามเงื่อนไขของคอลัมน์ที่มีค่า 0 หรือ 1 ตัวอย่างการใช้งาน 1. สร้างตารางมีคอลัมน์ 0/1 หลายคอลัมน์ mysql> CREATE TABLE DemoTable ( Value1 INT, Value2 INT, Value3 INT, Value4 INT ); Query OK, 0 rows affected (0.9

  9. MySQL เปลี่ยน Delimiter (ตัวจบคำสั่ง) ด้วยคำสั่ง DELIMITER

    คำสั่ง DELIMITER ใช้เปลี่ยนสัญลักษณ์จบคำสั่ง SQL จากค่าเริ่มต้น ; (Semicolon) เป็นสัญลักษณ์อื่น เพื่อใช้ในการเขียน Stored Procedure, Trigger, Function ที่มีหลายคำสั่งภายใน ไวยากรณ์ DELIMITER anySymbol ตัวอย่างการใช้งาน 1. เปลี่ยน Delimiter เป็น // mysql> DELIMITER // 2. สร้างตารางด้วย Delimit

  10. MySQL ควรใช้ ENUM หรือ TINYINT สำหรับค่าที่เป็นแค่ 0 และ 1?

    แนะนำให้ใช้ TINYINT สำหรับค่าที่มีเพียง 0 และ 1 (Boolean/Flag) เพราะมีข้อดีมากกว่า ENUM ในหลายด้าน ตัวอย่างการใช้ TINYINT 1. สร้างตาราง mysql> CREATE TABLE DemoTable ( IsMarried TINYINT ); Query OK, 0 rows affected (0.94 sec) 2. เพิ่มข้อมูล (0 = ไม่สมรส, 1 = สมรส) mysql> INSERT INTO Dem

  11. MySQL หาค่า Nth Maximum (ค่าที่ N จากมากไปน้อย) ด้วย LIMIT offset, count

    ใช้ ORDER BY ... DESC ร่วมกับ LIMIT offset, count เพื่อหาค่าที่ N จากมากไปน้อย (Nth Maximum) ได้อย่างง่ายดาย ตัวอย่างการใช้งาน 1. สร้างตาราง mysql> CREATE TABLE DemoTable ( Value INT ); Query OK, 0 rows affected (0.59 sec) 2. เพิ่มข้อมูลทดสอบ mysql> INSERT INTO DemoTable VALUES(40); Que

  12. MySQL ดึงชื่อฐานข้อมูลปัจจุบันใน Stored Procedure ด้วย DATABASE()

    ใช้ฟังก์ชัน DATABASE() เพื่อคืนค่าชื่อฐานข้อมูล (Database Name) ที่เชื่อมต่ออยู่ในขณะนั้น ใช้ได้ทั้งใน Query ธรรมดาและ Stored Procedure ไวยากรณ์พื้นฐาน SELECT DATABASE(); ตัวอย่างใช้ใน Stored Procedure 1. สร้าง Stored Procedure mysql> DELIMITER // mysql> CREATE PROCEDURE get_procedure_datab

  13. MySQL Batch Update เพิ่มเวลา 2 ชั่วโมงให้ทุกแถวด้วย ADDTIME()

    ใช้คำสั่ง UPDATE โดยไม่มี WHERE ร่วมกับฟังก์ชัน ADDTIME() เพื่ออัปเดตข้อมูลทุกแถวในตารางพร้อมกัน (Batch Update) ตัวอย่างการใช้งาน 1. สร้างตารางเก็บเวลา mysql> CREATE TABLE DemoTable ( BreakfastTime TIME ); Query OK, 0 rows affected (0.59 sec) 2. เพิ่มข้อมูลทดสอบ mysql> INSERT INTO DemoT

  14. MySQL ใช้ LIKE และ CHAR_LENGTH() ร่วมกันใน Query เดียว

    สามารถรวมเงื่อนไข LIKE (ค้นหาข้อความ) และ CHAR_LENGTH() (ตรวจสอบความยาวข้อความ) ในคำสั่ง WHERE เดียวกันได้ ตัวอย่างการใช้งาน 1. สร้างตาราง mysql> CREATE TABLE DemoTable ( Name VARCHAR(20) ); Query OK, 0 rows affected (0.49 sec) 2. เพิ่มข้อมูลทดสอบ mysql> INSERT INTO DemoTable VALUES(Chr

  15. MySQL อัปเดตคอลัมน์ตามเงื่อนไขอีเมล (WHERE Email = ...)

    ใช้คำสั่ง UPDATE ... WHERE เพื่อเปลี่ยนค่าคอลัมน์เฉพาะแถวที่ตรงกับอีเมลที่ระบุ ตัวอย่างการใช้งาน 1. สร้างตาราง mysql> CREATE TABLE DemoTable ( EmailAddress VARCHAR(20), Score INT ); Query OK, 0 rows affected (1.05 sec) 2. เพิ่มข้อมูลทดสอบ mysql> INSERT INTO DemoTable VALUES(Chris@gm

  16. MySQL รวมคอลัมน์พร้อมข้อความแยก (CONCAT) แสดงในคอลัมน์เดียว

    ใช้ฟังก์ชัน CONCAT() เพื่อรวมค่าจากหลายคอลัมน์และข้อความคงที่ (Literal String) ให้กลายเป็นคอลัมน์เดียว ตัวอย่างการใช้งาน 1. สร้างตาราง mysql> CREATE TABLE DemoTable ( Id INT, Name VARCHAR(20) ); Query OK, 0 rows affected (0.93 sec) 2. เพิ่มข้อมูลทดสอบ mysql> INSERT INTO DemoTable VA

  17. MySQL เรียงลำดับแบบกำหนดเอง (Custom Sort) ด้วย ORDER BY FIELD()

    ใช้ฟังก์ชัน FIELD() ใน ORDER BY เพื่อกำหนดลำดับการแสดงผลตามค่าที่เรากำหนดเอง ไม่ใช่เรียงตามตัวอักษรหรือตัวเลข ตัวอย่างการใช้งาน 1. สร้างตาราง mysql> CREATE TABLE DemoTable ( Id INT ); Query OK, 0 rows affected (0.82 sec) 2. เพิ่มข้อมูลทดสอบ mysql> INSERT INTO DemoTable VALUES(101); Quer

  18. MySQL UPDATE พร้อมเงื่อนไข IF() กำหนดสถานะ PASS/FAIL จากคะแนน

    ใช้ฟังก์ชัน IF() ภายในคำสั่ง UPDATE เพื่อกำหนดค่าคอลัมน์ตามเงื่อนไขแบบ Inline ได้ทันที ตัวอย่างการใช้งาน 1. สร้างตารางนักเรียน mysql> CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName VARCHAR(20), StudentMarks INT, Status VARCHAR(20) ); Quer

  19. MySQL เปลี่ยนลำดับคอลัมน์ด้วย ALTER TABLE ... MODIFY ... AFTER

    สามารถเปลี่ยนลำดับคอลัมน์ในตารางที่มีอยู่แล้วได้ โดยใช้คำสั่ง ALTER TABLE ... MODIFY COLUMN ... AFTER ... ตัวอย่างการใช้งาน 1. สร้างตารางเดิม (ลำดับ: Age, Name, CountryName) mysql> CREATE TABLE DemoTable ( `Student_Key_Age` INT, `Student_Key_Name` VARCHAR(20), `Student_Key_CountryNa

  20. MySQL ใช้ IN() กับค่าเดี่ยว (Single Value) ได้หรือไม่?

    ได้ครับ MySQL อนุญาตให้ใช้ IN() กับค่าเพียงค่าเดียว ทำงานเหมือนกับการใช้ = ทุกประการ ตัวอย่างการใช้งาน 1. สร้างตารางทดสอบ mysql> CREATE TABLE DemoTable ( FirstName VARCHAR(20) ); Query OK, 0 rows affected (0.65 sec) 2. เพิ่มข้อมูลทดสอบ mysql> INSERT INTO DemoTable VALUES(Chris); Query O

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:27/229  20-คอมพิวเตอร์/Page Goto:1 21 22 23 24 25 26 27 28 29 30 31 32 33