Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. SELECT DISTINCT ค่าจาก 2 คอลัมน์ใน MySQL ใช้ LEAST และ GREATEST

    ปัญหา: DISTINCT บน 2 คอลัมน์ที่สลับตำแหน่ง หากมีคู่ค่า (100,101) และ (101,100) ควรนับเป็นคู่เดียวกัน ต้องจัดลำดับค่าให้เล็ก-ใหญ่ก่อน ใช้ LEAST() และ GREATEST() LEAST(a,b) - คืนค่าที่น้อยกว่า GREATEST(a,b) - คืนค่าที่มากกว่า ไวยากรณ์ SELECT DISTINCT LEAST(col1, col2) AS first_col, GREAT

  2. ความหมายของ INT(7) ใน MySQL: Display Width ไม่ใช่ขนาดเก็บข้อมูล

    INT(7) หมายถึงอะไร? ตัวเลขในวงเล็บ (7) คือ Display Width (ความกว้างในการแสดงผล) ไม่ใช่ขนาดการจัดเก็บหรือขอบเขตค่า ข้อเท็จจริงสำคัญ Storage: INT เสมอใช้ 4 Bytes (32-bit) Range: -2,147,483,648 ถึง 2,147,483,647 (Signed) / 0 ถึง 4,294,967,295 (Unsigned) Display Width: ใช้ร่วมกับ ZEROFILL เติมศูนย์หน

  3. เพิ่มวันให้กับค่า DATETIME ใน MySQL ด้วย DATE_ADD

    ไวยากรณ์ DATE_ADD ฟังก์ชัน DATE_ADD() ใช้เพิ่มช่วงเวลา (Interval) ให้กับวันที่/เวลา: DATE_ADD(date_value, INTERVAL expr unit) เพิ่ม 1 วัน SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) AS tomorrow_datetime; SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY) AS tomorrow_date; ตัวอย่างการใช้งาน เพิ่ม 1 วันจากเว

  4. คำนวณอายุจากวันเกิดใน MySQL ใช้ YEAR และ RIGHT

    สูตรคำนวณอายุ (ปีเต็ม) ใช้ YEAR(CURRENT_TIMESTAMP) ลบ YEAR(dob) แล้วปรับตามว่าวันเกิดปีนี้ผ่านไปหรือยัง: SELECT YEAR(CURRENT_TIMESTAMP) - YEAR(dob_column) - (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT(dob_column, 5)) AS age FROM your_table; ตัวอย่างการใช้งาน สร้างตารางและเพิ่มวันเกิดต่างๆ CREATE

  5. ดูวันที่สร้างตารางใน MySQL จาก information_schema

    คำสั่งดูวันที่สร้างตาราง ใช้คอลัมน์ CREATE_TIME ใน INFORMATION_SCHEMA.TABLES: SELECT CREATE_TIME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = your_database AND TABLE_NAME = your_table; ตัวอย่างการใช้งาน คิวรี่สำหรับตาราง skiplasttenrecords ในฐานข้อมูล test SELECT CREATE_TIME FROM IN

  6. สร้าง Cumulative Sum (Running Total) ใน MySQL ด้วย User Variable

    หลักการทำงาน Cumulative Sum ใช้ User Variable (@variable) เก็บค่าสะสม และอัปเดตทีละแถวตามลำดับที่ต้องการ: ขั้นตอน สร้าง Variable และตั้งค่าเริ่มต้น: SET @cumsum := 0; SELECT พร้อมคำนวณสะสม: @cumsum := @cumsum + column กำหนด ORDER BY ให้ชัดเจน ตัวอย่างการใช้งาน สร้างตารางหนังสือและราคา CREATE T

  7. เปลี่ยน Default Value ของคอลัมน์ใน MySQL ใช้ ALTER TABLE CHANGE

    ไวยากรณ์เปลี่ยน Default Value ใช้ ALTER TABLE ... CHANGE COLUMN ระบุ Default ใหม่: ALTER TABLE your_table CHANGE COLUMN column_name column_name data_type NOT NULL DEFAULT new_default; ตัวอย่างการใช้งาน สร้างตารางมีคอลัมน์ TIMESTAMP (Default NULL) CREATE TABLE DefaultDemo (ArrivalTime TIMESTAMP);

  8. เปลี่ยน Data Type หลายคอลัมน์พร้อมกันใน MySQL ใช้ MODIFY COLUMN

    ไวยากรณ์ MODIFY หลายคอลัมน์ในคำสั่งเดียว ใช้ ALTER TABLE ร่วมกับ MODIFY COLUMN หลายครั้ง คั่นด้วยจุลภาค: ALTER TABLE your_table MODIFY COLUMN col1 new_data_type, MODIFY COLUMN col2 new_data_type, MODIFY COLUMN col3 new_data_type; ตัวอย่างการใช้งาน สร้างตารางเดิม (INT, VARCHAR(200)) CREATE TABLE

  9. จัดเรียงลำดับคอลัมน์ในตาราง MySQL ใช้ ALTER TABLE ... FIRST/AFTER

    วิธีจัดเรียงลำดับคอลัมน์ MySQL รองรับการเปลี่ยนลำดับคอลัมน์ด้วย ALTER TABLE ... CHANGE COLUMN ... FIRST|AFTER ย้ายคอลัมน์ไปหน้าสุด (FIRST) ALTER TABLE your_table CHANGE COLUMN column_name column_name data_type FIRST; ย้ายคอลัมน์ไปหลังคอลัมน์อื่น (AFTER) ALTER TABLE your_table CHANGE COLUMN colum

  10. ตัดทิ้ง 2 ตัวอักษรสุดท้ายของคอลัมน์ใน MySQL ด้วย SUBSTRING และ CHAR_LENGTH

    ไวยากรณ์ตัดท้าย 2 ตัวอักษร ใช้ SUBSTRING() ร่วมกับ CHAR_LENGTH() คำนวณตำแหน่งสิ้นสุด: SELECT column_name, SUBSTRING(column_name, 1, CHAR_LENGTH(column_name) - 2) AS stripped FROM your_table; ตัวอย่างการใช้งาน สร้างตารางและข้อมูล CREATE TABLE LastTwoCharacters (Words VARCHAR(200)); INSERT

  11. ใช้ Alias ในคำนวณ MySQL เพื่ออ้างอิงค่าที่คำนวณได้

    การใช้ Alias ในคำนวณ (Subquery/Derived Table) ใน MySQL ไม่สามารถอ้างอิง Alias ในระดับเดียวกันได้ (เช่น SELECT a+b AS c, c*2 จะ Error) ต้องใช้ Subquery หรือ Derived Table: วิธีที่ 1: Subquery ใน SELECT SELECT Id, 100 AS MyNumber, (SELECT MyNumber) * Id AS MultiplyWith100 FROM AliasDemo; วิธีที่ 2

  12. Data Type ที่เหมาะสมสำหรับคอลัมน์ Price ใน MySQL คือ DECIMAL

    ทำไมต้องใช้ DECIMAL สำหรับราคา DECIMAL เป็นชนิดข้อมูลที่จัดเก็บค่าทศนิยมได้ แม่นยำ (Exact Precision) ไม่มีปัญหาการปัดเศษแบบ Floating Point (FLOAT/DOUBLE) รูปแบบที่แนะนำ: DECIMAL(10,2) 10 = จำนวนหลักทั้งหมด (Precision) 2 = จำนวนหลักหลังจุดทศนิยม (Scale) รองรับค่าสูงสุด: 99,999,999.99 (เกือบ 100 ล้

  13. ดูเฉพาะ Foreign Key Constraints ใน MySQL ผ่าน information_schema

    คำสั่งดู Foreign Key เท่านั้น ใช้ตาราง information_schema.referential_constraints ซึ่งเก็บเฉพาะ Foreign Key Constraints: SELECT * FROM information_schema.referential_constraints WHERE constraint_schema = your_database_name; ตัวอย่างจากฐานข้อมูล business SELECT * FROM information_schema.referentia

  14. จัดกลุ่มข้อมูลตาม เดือนและปี ใน MySQL ด้วย DATE_FORMAT

    ไวยากรณ์ GROUP BY เดือนและปี ใช้ DATE_FORMAT() สำหรับแสดงผล และ GROUP BY MONTH(), YEAR() สำหรับจัดกลุ่ม: SELECT DATE_FORMAT(date_column, %m-%Y) AS month_year FROM your_table GROUP BY MONTH(date_column), YEAR(date_column) DESC; ตัวอย่างการใช้งาน สร้างตารางและข้อมูลหลายปี CREATE TABLE GroupMonthAn

  15. ลบข้อมูลใน MySQL ภายใต้ Safe Mode (SQL_SAFE_UPDATES)

    Safe Mode ใน MySQL MySQL มีโหมด SQL_SAFE_UPDATES ป้องกันการ UPDATE หรือ DELETE โดยไม่มี WHERE ใช้ Primary Key หรือ Limit ปิด Safe Mode ชั่วคราว SET SQL_SAFE_UPDATES = 0; ตัวอย่างการใช้งาน สร้างตารางและข้อมูล CREATE TABLE SafeDeleteDemo (Price INT); INSERT INTO SafeDeleteDemo VALUES (100), (200)

  16. บังคับให้ LIKE ใน MySQL แยกตัวพิมพ์เล็ก-ใหญ่ ด้วย BINARY

    ปัญหา: LIKE ไม่แยกตัวพิมพ์ใหญ่-เล็ก โดยค่าเริ่มต้น MySQL ใช้ Collation ที่ Case-Insensitive โดยค่าเริ่มต้น (เช่น utf8mb4_0900_ai_ci) SELECT john LIKE JOHN; -- ผลลัพธ์: 1 (true) แก้ไขด้วย LIKE BINARY ใช้คำสำคัญ BINARY หลัง LIKE เพื่อบังคับเปรียบเทียบแบบ Binary (Case-Sensitive): SELECT column_name

  17. นับค่าที่ไม่ซ้ำกัน (DISTINCT) ใน MySQL ด้วย COUNT(DISTINCT)

    ไวยากรณ์นับค่า Distinct ใช้ COUNT(DISTINCT column_name) เพื่อนับจำนวนค่าที่ไม่ซ้ำกัน: SELECT COUNT(DISTINCT column_name) AS distinct_count FROM your_table; ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูลซ้ำ CREATE TABLE DistinctDemo (Name VARCHAR(200)); INSERT INTO DistinctDemo VALUES (John), (Sam),

  18. ใช้ GROUP BY 2 คอลัมน์ และนับจำนวนใน MySQL

    ไวยากรณ์ GROUP BY หลายคอลัมน์ ระบุคอลัมน์ใน GROUP BY คั่นด้วยจุลภาค เรียงตามลำดับความสำคัญ: SELECT column1, column2, COUNT(*) FROM your_table GROUP BY column1, column2; ตัวอย่างการใช้งาน สร้างตารางและข้อมูล (มีค่าซ้ำ) CREATE TABLE GroupByTwoFieldsDemo (Id INT, Name VARCHAR(200)); INSERT INTO Gro

  19. คิวรี่ MySQL ดึงข้อมูล DATETIME เก่ากว่า 1 สัปดาห์

    ไวยากรณ์ดึงข้อมูลเก่ากว่า 1 สัปดาห์ ใช้ NOW() ลบ INTERVAL 1 WEEK: SELECT * FROM your_table WHERE date_column < NOW() - INTERVAL 1 WEEK; ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูลหลายช่วงเวลา CREATE TABLE DatesOfOneWeek (ArrivalTime DATETIME); INSERT INTO DatesOfOneWeek VALUES (DATE_ADD(NOW(), IN

  20. สร้างตารางใหม่โคลนโครงสร้างและข้อมูลจากตารางเดิมใน MySQL

    2 ขั้นตอนสำคัญ โคลนโครงสร้าง: ใช้ CREATE TABLE ... LIKE คัดลอกข้อมูล: ใช้ INSERT INTO ... SELECT * FROM ไวยากรณ์ -- 1. สร้างโครงสร้างเหมือนกัน CREATE TABLE new_table LIKE old_table; -- 2. คัดลอกข้อมูลทั้งหมด INSERT INTO new_table SELECT * FROM old_table; ตัวอย่างการใช้งาน ตารางต้นฉบับ CREATE

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:156/229  20-คอมพิวเตอร์/Page Goto:1 150 151 152 153 154 155 156 157 158 159 160 161 162