Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. ใช้ UNION ALL สำหรับหลายเงื่อนไข WHERE พร้อม LIMIT ใน MySQL

    บทนำ เมื่อต้องการดึงข้อมูลด้วยเงื่อนไข WHERE หลายเงื่อนไข และจำกัดจำนวนแถว (LIMIT) สำหรับแต่ละเงื่อนไข สามารถใช้ตัวดำเนินการ UNION ALL เพื่อรวมผลลัพธ์จากหลายคำสั่ง SELECT เข้าด้วยกัน ตัวอย่างการสร้างตารางและเพิ่มข้อมูล ); Query OK, 0 rows affected (0.64 sec) INSERT INTO DemoTable(Subject) VALUES

  2. MySQL: GROUP BY คอลัมน์ในอีกตารางหนึ่ง ด้วย CREATE TABLE AS SELECT

    ใช้ CREATE TABLE AS SELECT ร่วมกับ GROUP BY เพื่อสร้างตารางใหม่จากข้อมูลที่จัดกลุ่มแล้ว ตารางต้นทาง (DemoTable1) INSERT INTO DemoTable1(CountryName) VALUES (US),(UK),(AUS),(UK),(UK),(US),(AUS); ข้อมูล (มีซ้ำ) +----+-------------+ | Id | CountryName | +----+-------------+ | 1 | US | | 2

  3. วิธีหาวันสุดท้ายของทุกเดือนใน MySQL ด้วย LAST_DAY

    ใช้ LAST_DAY() คืนคาวันสุดท้ายของเดือนจากวันที่ใดๆ ฟังก์ชัน LAST_DAY(date) รับ DATE/DATETIME/TIMESTAMP คืนค่า DATE ของวันสุดท้ายในเดือนนั้น (28/29/30/31) ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable (ShippingDate DATE); INSERT INTO DemoTable VALUES (2019-01-12), (2019-02-01), (2019-03-04), (2

  4. วิธีเลือกแถวในช่วงเฉพาะด้วย LIMIT และ OFFSET ใน MySQL

    ใช้ ORDER BY, LIMIT, OFFSET สำหรับ Pagination / ดึงช่วงแถว LIMIT n OFFSET m ข้าม m แถวแรก แล้วเอา n แถวถัดไป ใช้ร่วม ORDER BY เพื่อกำหนดลำดับที่แน่นอน ตัวอย่างสร้างตารางและข้อมูล 9 แถว CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName VARCHAR(20) ); INSERT IN

  5. วิธีตั้งค่าคอลัมน์ทั้งหมดเป็น 0 ใน MySQL

    ใช้ UPDATE SET column = 0 โดยไม่มี WHERE คำสั่ง UPDATE table SET column = 0; จะตั้งค่าคอลัมน์นั้นเป็น 0 ทุกแถวในตาราง ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable (Number INT); INSERT INTO DemoTable VALUES (10), (4757), (48474), (35465); ข้อมูลก่อนอัปเดต +--------+ | Number | +--------+ | 10

  6. วิธีอัปเดตค่าตารางที่ 2 โดยบวกค่าจากตารางที่ 1 ใน MySQL

    ใช้ User Variable เก็บค่าจากตารางแรก แล้ว UPDATE ตารางที่สอง อ่านค่าจากตารางแรกเก็บใน @variable (Session Variable) แล้วนำไปใช้ใน UPDATE ตารางที่สอง ตัวอย่างสร้างตาราง 2 ตาราง CREATE TABLE DemoTable1 (value INT); CREATE TABLE DemoTable2 (value1 INT); INSERT INTO DemoTable1 VALUES (10); INSERT INTO

  7. วิธีเพิ่มคอลัมน์ใหม่พร้อม Default เป็นเวลาปัจจุบันใน MySQL

    ใช้ DEFAULT CURRENT_TIMESTAMP ตอนสร้าง/แก้ไขคอลัมน์ TIMESTAMP กำหนด DEFAULT CURRENT_TIMESTAMP ให้คอลัมน์ TIMESTAMP/DATETIME จะเซ็ตเวลาปัจจุบันอัตโนมัติตอน INSERT หากไม่ระบุค่า ไวยากรณ์ CREATE TABLE your_table ( your_column TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ตัวอย่างสร้างตาราง CREATE TABLE

  8. วิธีค้นหาชื่อคอลัมน์ที่มีสตริงเฉพาะใน MySQL

    ใช้ SHOW COLUMNS ... LIKE ค้นหาชื่อคอลัมน์ SHOW COLUMNS FROM table_name LIKE pattern แสดงโครงสร้างคอลัมน์ที่ชื่อตรงกับ Pattern (รองรับ Wildcard % และ _) ตัวอย่างสร้างตาราง CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(20), LastName VARCHAR(20) );

  9. วิธีหาค่าสูงสุดจาก 4 ตารางใน MySQL ด้วย GREATEST

    ใช้ GREATEST() รวม MAX() จาก Subquery ของหลายตาราง GREATEST() รับหลายพารามิเตอร์ คืนค่ามากที่สุด ใช้ร่วม Subquery (SELECT MAX(col) FROM table) จากแต่ละตาราง สร้างตาราง 4 ตารางและข้อมูล CREATE TABLE DemoTable1 (Value INT); CREATE TABLE DemoTable2 (Value INT); CREATE TABLE DemoTable3 (Value INT); CRE

  10. วิธีอัปเดตทุกแถวสลับกัน (Alternate Rows) ที่มีค่าเดียวกันใน MySQL

    ใช้ WHERE Id % 2 = 0 อัปเดตเฉพาะแถวคู่ (Even ID) รวม REPLACE() แทนที่ค่า และ WHERE Id % 2 = 0 เลือกแถวที่ ID หาร 2 ลงตัว (Even rows) เพื่ออัปเดตทีละแถวสลับ ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Subject VARCHAR(100) ); INSERT INTO D

  11. วิธีลบวินาทีออกจาก DATETIME ใน MySQL

    ใช้ UPDATE ลบวินาทีด้วยการลบ SECOND() ออกจากคอลัมน์ ลบส่วนวินาทีออกจาก DATETIME/TIMESTAMP ได้โดย datetime_col - INTERVAL SECOND(datetime_col) SECOND หรือ datetime_col - SECOND(datetime_col) (MySQL รองรับการลบ Integer ออกจาก DATETIME เป็นวินาที) ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable (Sh

  12. ฟังก์ชันเทียบ stripos() ของ PHP ใน MySQL คือ INSTR()

    ใช้ INSTR() หาตำแหน่ง Substring แบบ Case-Insensitive INSTR(str, substr) คืนตำแหน่ง (1-based) ของ substr แรกที่พบใน str คล้าย stripos() ของ PHP (แต่ INSTR เป็น Case-Insensitive ตาม Collation ของคอลัมน์) ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable (Title TEXT); INSERT INTO DemoTable VALUES (M

  13. วิธีดึงข้อมูลพร้อม GROUP BY ใน MySQL

    จัดกลุ่มและสรุปข้อมูลด้วย GROUP BY และ Aggregate Functions GROUP BY จัดกลุ่มแถวที่มีค่าเหมือนกันในคอลัมน์ที่ระบุ แล้วใช้ Aggregate Function (SUM, COUNT, AVG, MIN, MAX) คำนวณค่าสรุปต่อกลุ่ม ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Subje

  14. ใช้ {} หรือ () ตอนสร้างตาราง MySQL?

    ต้องใช้ Parentheses () ไม่ใช่ Braces {} ใน CREATE TABLE ไวยากรณ์ SQL มาตรฐานและ MySQL ใช้ Parentheses (วงเล็บ) () ครอบรายการคอลัมน์ใน CREATE TABLE ไม่ใช่ Braces (ปีกกา) {} ไวยากรณ์ที่ถูกต้อง CREATE TABLE IF NOT EXISTS your_table_name ( your_column_name1 data_type1, your_column_name2 data_ty

  15. วิธีแปลงสตริงเวลา "1h 15 min" เป็นนาทีใน MySQL

    ใช้ STR_TO_DATE แปลงสตริงเวลาเป็น TIME แล้ว TIME_TO_SEC หาร 60 รูปแบบ %h h %i min ตรงกับ 1h 15 min (ชั่วโมง 12ชม. + นาที) แปลงเป็น TIME แล้ว TIME_TO_SEC() หาเวลาทั้งหมดเป็นวินาที หาร 60 ได้นาที ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable (stringDate VARCHAR(100)); INSERT INTO DemoTable VALUE

  16. วิธีแปลงชื่อเดือนสตริงเป็นตัวเลขเดือนใน MySQL

    ใช้ STR_TO_DATE() แปลงชื่อเดือนสั้น (Jan, Feb...) เป็น DATE แล้วดึง MONTH() รูปแบบ %b ใน STR_TO_DATE() รับชื่อเดือนย่อ 3 ตัวอักษร (Jan, Feb, Mar...) แปลงเป็น DATE แล้ว MONTH() ดึงเลขเดือน ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, MonthN

  17. วิธีอัปเดตทุกแถวเพิ่มคำนำหน้าข้อความด้วย CONCAT ใน MySQL

    ใช้ CONCAT() รวมสตริงคงที่กับคอลัมน์เดิมใน UPDATE คำสั่ง UPDATE ร่วมกับ CONCAT(prefix , column) เพิ่มข้อความนำหน้า (Prefix) ให้ทุกแถวในคอลัมน์ข้อความ ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Subject VARCHAR(200) ); INSERT INTO DemoTab

  18. วิธีลบข้อมูลที่เป็น Backslash (\\) ใน MySQL

    ใช้ DELETE WHERE กับ Escape Sequence สำหรับ Backslash Backslash (\) เป็นอักขระ Escape ใน String Literal ต้องเขียน \\\\ (4 backslashes) ใน SQL เพื่อแทนค่า \\ (2 backslashes) ในข้อมูลจริง ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable (FolderName VARCHAR(100)); INSERT INTO DemoTable VALUES (????)

  19. ชนิดข้อมูลสำหรับเก็บตัวเลขทศนิยม (Float) ใน MySQL คือ DECIMAL

    ใช้ DECIMAL(p, s) สำหรับตัวเลขทศนิยมที่ต้องการความแม่นยำ DECIMAL(precision, scale) หรือ NUMERIC เก็บตัวเลขทศนิยมแบบ Exact (ไม่มีปัญหาความคลาดเคลื่อนของ Floating Point) เหมาะกับเงิน/การเงิน ตัวอย่างสร้างตาราง CREATE TABLE DemoTable (Price DECIMAL(10, 2)); INSERT ค่าตัวเลขทศนิยม INSERT INTO DemoTabl

  20. วิธี INSERT วันที่ปัจจุบันบวกเวลาเฉพาะใน MySQL

    รวม CURDATE() กับเวลาคงที่ด้วย CONCAT() สร้าง DATETIME ใช้ CONCAT(CURDATE(), HH:MM:SS) รวมวันที่ปัจจุบัน (ไม่มีเวลา) กับสตริงเวลาที่กำหนด ให้ได้ DATETIME ตัวอย่างสร้างตาราง CREATE TABLE DemoTable (ArrivalDate DATETIME); INSERT วันที่วันนี้ + เวลา 10:20:05 และ 12:05:00 INSERT INTO DemoTable VALUES

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