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

    บทนำ หากสร้างตารางโดยไม่ได้ตั้งค่า NOT NULL ให้คอลัมน์ สามารถเพิ่ม Constraint นี้ภายหลังได้ด้วยคำสั่ง ALTER TABLE ... MODIFY ตัวอย่างการสร้างตาราง (StudentName ยังไม่ NOT NULL) ); Query OK, 0 rows affected (0.86 sec) ตรวจสอบโครงสร้างก่อน ALTER DESC DemoTable; ผลลัพธ์ +-------------+------------

  2. หาค่าต่ำสุดและสูงสุดจากตัวเลขในสตริงที่คั่นด้วย Hyphen ใน MySQL

    บทนำ เมื่อเก็บช่วงค่าในรูปสตริงคั่นด้วย Hyphen (เช่น 10-20, 200-100) และต้องการหาค่าต่ำสุด (Min) ของส่วนหน้า และค่าสูงสุด (Max) ของส่วนหลัง สามารถใช้ SUBSTRING_INDEX() แยกส่วน แล้วใช้ MIN()/MAX() ตัวอย่างการสร้างตารางและเพิ่มข้อมูล ); Query OK, 0 rows affected (0.76 sec) INSERT INTO DemoTable(Va

  3. ดึงเดือนและปีจากวันที่ใน MySQL ด้วย MONTH() และ YEAR()

    บทนำ การแยกส่วนประกอบของวันที่ (เดือน, ปี, วัน) ใน MySQL ใช้ฟังก์ชัน MONTH(), YEAR(), DAY() ซึ่งทำงานกับชนิดข้อมูล DATE, DATETIME, TIMESTAMP ตัวอย่างการสร้างตารางและเพิ่มข้อมูล ); Query OK, 0 rows affected (0.90 sec) INSERT INTO DemoTable VALUES(2016-08-14); แสดงข้อมูลทั้งหมด SELECT * FROM Dem

  4. จัดลำดับให้ค่าเฉพาะอยู่หน้าสุดด้วย ORDER BY ใน MySQL

    บทนำ การจัดเรียงข้อมูลโดยให้ค่าเฉพาะ (Specific Value) อยู่หน้าสุด (หรือท้ายสุด) แล้วค่อยเรียงค่าอื่นๆ ตามปกติ สามารถทำได้ด้วยเงื่อนไข Boolean ใน ORDER BY ตัวอย่างการสร้างตารางและเพิ่มข้อมูล ); Query OK, 0 rows affected (0.57 sec) INSERT INTO DemoTable VALUES(98); แสดงข้อมูลทั้งหมด SELECT * FRO

  5. นับจำนวนคอลัมน์ที่ไม่เป็น NULL และไม่เป็นศูนย์ใน MySQL ด้วย IF()

    บทนำ การนับจำนวนคอลัมน์ที่มีค่า มีความหมาย (ไม่เป็น NULL และไม่เป็น 0) ในแต่ละแถว สามารถทำได้ด้วยฟังก์ชัน IF() รวมกัน ตัวอย่างการสร้างตารางและเพิ่มข้อมูล ); Query OK, 0 rows affected (1.15 sec) INSERT INTO DemoTable(Number1, Number2) VALUES(40, 50); แสดงข้อมูลทั้งหมด SELECT * FROM DemoTable;

  6. ค้นหาแถวที่มีวันที่เท่าวันปัจจุบันใน MySQL ด้วย CURDATE()

    บทนำ การกรองข้อมูลที่มีวันที่ตรงกับวันปัจจุบัน (Date portion only, ไม่สนใจเวลา) ใช้ฟังก์ชัน CURDATE() ร่วมกับ DATE() เพื่อแปลง DATETIME เป็น DATE ตัวอย่างการสร้างตารางและเพิ่มข้อมูล ); Query OK, 0 rows affected (1.35 sec) INSERT INTO DemoTable VALUES(2018-07-16); แสดงข้อมูลทั้งหมด SELECT * FRO

  7. คำนวณค่าระหว่างคอลัมน์ขณะ UPDATE ใน MySQL (บวก ลบ คูณ หาร)

    บทนำ สามารถคำนวณค่าจากคอลัมน์อื่นๆ และอัปเดตลงในคอลัมน์เป้าหมายได้ในคำสั่ง UPDATE เดียว โดยใช้ตัวดำเนินการคณิตศาสตร์มาตรฐาน ตัวอย่างการสร้างตาราง ); Query OK, 0 rows affected (0.89 sec) เพิ่มข้อมูลทดสอบ INSERT INTO DemoTable(Number1, Number2) VALUES(40, 20); แสดงข้อมูลก่อนอัปเดต SELECT * FROM

  8. Insert ข้อมูลในตารางที่มีคอลัมน์เดียวเป็น AUTO_INCREMENT ใน MySQL

    บทนำ ตารางที่มีคอลัมน์เดียวและคอลัมน์นั้นเป็น AUTO_INCREMENT PRIMARY KEY สามารถ INSERT ได้โดยไม่ระบุค่า (หรือระบุ 0/NULL) ระบบจะสร้าง ID อัตโนมัติ ตัวอย่างการสร้างตาราง ); Query OK, 0 rows affected (0.60 sec) เพิ่มข้อมูล (ระบุค่า 0 สำหรับ AUTO_INCREMENT) INSERT INTO DemoTable(StudentId) VALUES(0

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

    บทนำ คำสั่ง ALTER TABLE ใน MySQL รองรับการทำหลาย Operation พร้อมกันในคำสั่งเดียว โดยคั่นด้วยคอมมา (,) รวมถึง ADD COLUMN และ ADD INDEX ตัวอย่างการสร้างตาราง ); Query OK, 0 rows affected (0.69 sec) ตรวจสอบโครงสร้างก่อน ALTER DESC DemoTable; ผลลัพธ์ +-------+--------------+------+-----+---------+-

  10. หาค่าที่อยู่ในช่วง (Range) ใน MySQL ด้วย BETWEEN Operator

    บทนำ ตัวดำเนินการ BETWEEN ใช้ตรวจสอบว่าค่าอยู่ในช่วงที่กำหนด (Inclusive: รวมค่าขอบเขต) เหมาะสำหรับตัวเลข วันที่ และข้อความ รูปแบบการใช้งาน SELECT * FROM TableName WHERE ColumnName BETWEEN StartValue AND EndValue; ตัวอย่างการสร้างตารางและเพิ่มข้อมูล ); Query OK, 0 rows affected (0.91 sec) INSERT

  11. ข้ามคอลัมน์ขณะ INSERT ข้อมูลใน MySQL (ค่า DEFAULT/NULL จะถูกใช้)

    บทนำ ใน MySQL สามารถระบุเฉพาะคอลัมน์ที่ต้องการใส่ค่าในคำสั่ง INSERT ได้ คอลัมน์ที่ไม่ได้ระบุจะรับค่า DEFAULT (ถ้ามี) หรือ NULL (ถ้าอนุญาต NULL) ตัวอย่างการสร้างตาราง ); Query OK, 0 rows affected (0.72 sec) เพิ่มข้อมูลโดยข้ามคอลัมน์สลับกัน INSERT INTO DemoTable(StudentName) VALUES(John); แสดงข้อ

  12. ใช้ INSERT INTO ... SELECT ใน MySQL ให้ถูกต้อง หลีกเลี่ยง Error 1064

    บทนำ คำสั่ง INSERT INTO ... SELECT ใช้คัดลอกข้อมูลจากตารางหนึ่งไปอีกตารางหนึ่งในคำสั่งเดียว ต้องระวังลำดับคอลัมน์และจำนวนคอลัมน์ให้ตรงกัน ตัวอย่าง: คัดลอกจาก DemoTable1 ไป DemoTable2 1. สร้างตารางต้นทาง (DemoTable1) ); Query OK, 0 rows affected (0.57 sec) INSERT INTO DemoTable1(FirstName) VALUE

  13. เพิ่มหลายช่วงเวลา (Multiple Intervals) ใน DATE_ADD() ของ MySQL

    บทนำ ฟังก์ชัน DATE_ADD() รองรับการเพิ่มช่วงเวลา (Interval) เดียวต่อครั้ง หากต้องการเพิ่มหลายช่วง (เช่น 6 เดือน + 1 ปี) ต้อง **ซ้อน (Nest) DATE_ADD()** หลายชั้น เวลาปัจจุบัน (สมมติ) SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2019-06-15 12:24:06 | +------

  14. แปลงสตริงเป็นวันที่ใน MySQL ด้วย STR_TO_DATE() และ Format Specifier

    บทนำ ฟังก์ชัน STR_TO_DATE() ใช้แปลงสตริงเป็น DATE/DATETIME ตามรูปแบบ (Format Specifier) ที่ระบุ ซึ่งเป็นการทำงานตรงข้ามกับ DATE_FORMAT() รูปแบบการใช้งาน SELECT STR_TO_DATE(yourColumnName, yourFormatSpecifier) FROM yourTableName; Format Specifier สำคัญ Specifierความหมายตัวอย่าง %dวัน (01-31)01, 15

  15. ใช้ตัวอักษรพิเศษในชื่อคอลัมน์ MySQL ด้วย Backtick

    บทนำ MySQL อนุญาตให้ใช้ตัวอักษรพิเศษ (Special Characters) ในชื่อคอลัมน์/ตาราง ได้โดยการครอบด้วย Backtick (`) ตัวอย่างการสร้างตารางชื่อคอลัมน์มีขีดกลาง (-) ); Query OK, 0 rows affected (0.55 sec) เพิ่มข้อมูล (ต้องใช้ Backtick ครอบชื่อคอลัมน์) INSERT INTO DemoTable(`Student-Name`, `Student-Age`) V

  16. อัปเดตข้อมูลวันที่ที่มีค่า NULL ใน MySQL ด้วย IFNULL()

    บทนำ เมื่อต้องการจัดเรียงหรือเลือกข้อมูลวันที่ โดยให้ค่า NULL ใช้ค่าสำรอง (Fallback) จากคอลัมน์อื่น สามารถใช้ IFNULL() หรือ COALESCE() ในคำสั่ง ORDER BY หรือ WHERE ตัวอย่างการสร้างตารางและเพิ่มข้อมูล ); Query OK, 0 rows affected (0.95 sec) INSERT INTO DemoTable VALUES(NULL, 2019-09-05); แสดงข้อ

  17. ดึงส่วนกลางของข้อความที่คั่นด้วย Slash ใน MySQL ด้วย SUBSTRING_INDEX

    บทนำ เมื่อมีข้อความที่คั่นด้วยตัวแบ่ง (Delimiter) เช่น /101/102/106 และต้องการดึงเฉพาะส่วนกลาง (102) สามารถใช้ SUBSTRING_INDEX() 巢狀 (Nested) ได้ ตัวอย่างการสร้างตารางและเพิ่มข้อมูล ); Query OK, 0 rows affected (1.07 sec) INSERT INTO DemoTable VALUES(/111/114/201); แสดงข้อมูลทั้งหมด SELECT * FR

  18. ดึงโครงสร้างฐานข้อมูล MySQL จาก Java ด้วย DatabaseMetaData

    บทนำ Java JDBC 提供 DatabaseMetaData インターフェースで、データベースの構造情報(テーブル、カラム、インデックス、主キーなど)をプログラムから取得できます。 ตัวอย่างโค้ด Java: แสดงชื่อตารางทั้งหมดในฐานข้อมูล web import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import com.mysql.jdbc.DatabaseMetaDa

  19. ไม่สามารถใช้ Semicolon (;) เป็น DELIMITER ใน MySQL Stored Procedure ได้

    บทนำ ใน MySQL ตัวคั่นคำสั่ง (Delimiter) เริ่มต้นคือ Semicolon (;) แต่เมื่อสร้าง Stored Procedure ต้องมี Semicolon ภายใน Body ดังนั้น **ต้องเปลี่ยน Delimiter ชั่วคราว** ก่อนสร้าง Procedure เหตุผล หากใช้ ; เป็น Delimiter ขณะสร้าง Procedure MySQL จะคิดว่าคำสั่งจบที่ Semicolon แรกใน Body ทำให้ Procedur

  20. ใช้ PRIMARY KEY แบบคู่ (Composite Key) ใน MySQL

    บทนำ MySQL รองรับ Composite Primary Key (Primary Key หลายคอลัมน์) ซึ่งจะบังคับให้ **ชุดค่า** ของคอลัมน์เหล่านั้นไม่ซ้ำกัน (Unique as a Pair) รูปแบบการใช้งาน PRIMARY KEY (yourColumnName1, yourColumnName2); ตัวอย่างการสร้างตาราง ); Query OK, 0 rows affected (0.74 sec) ตรวจสอบโครงสร้างตาราง DESC D

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:98/229  20-คอมพิวเตอร์/Page Goto:1 92 93 94 95 96 97 98 99 100 101 102 103 104