Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. ใช้ CHAR_LENGTH() ในคอลัมน์คำนวณ (Generated Column) ตอน CREATE TABLE ใน MySQL

    ตั้งแต่ MySQL 5.7 สร้าง Generated Column ที่คำนวณค่าอัตโนมัติจากคอลัมน์อื่นได้ โดยใช้ CHAR_LENGTH() สร้างตารางพร้อมคอลัมน์คำนวณความยาวข้อความ CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Title VARCHAR(200), `Number_of_characters` INT AS (CHAR_LENGTH(Title)) );

  2. ค้นหาแถวซ้ำตามคอลัมน์หนึ่งหรือสองคอลัมน์ใน MySQL

    ใช้ Subquery ร่วมกับ 1 เพื่อหาค่าที่ซ้ำ สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable(StudentFirstName, StudentLastName) VALUES (John, Smith), (Carol, Taylor), (John, Doe), (John, Brown), (David, Miller); ดูข้อมูล SELECT * FROM DemoTable; +-----------+------------------+---------------

  3. จำกัดจำนวนแถวที่ดึงด้วย LIMIT ใน MySQL

    ใช้ LIMIT เพื่อดึงข้อมูลแค่ N แถวแรก (หรือข้ามไปก่อนหน้า) ไวยากรณ์ SELECT * FROM your_table LIMIT offset, row_count; -- หรือ SELECT * FROM your_table LIMIT row_count OFFSET offset; สร้างตารางและเพิ่มข้อมูล 13 แถว INSERT INTO DemoTable(Name) VALUES (John), (Larry), (Bob), (Sam), (Mike), (David

  4. อ้างอิงชื่อเรียก (Alias) ใน MySQL ใช้ AS หรือไม่ก็ได้

    ใน MySQL สามารถตั้งชื่อเรียก (alias) ให้คอลัมน์ได้ โดยใช้ AS หรือเว้นว่างไว้ก็ได้ สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable(Name) VALUES (John), (Larry), (Sam); กรณี 1: ใช้ AS SELECT Id, Name AS FirstName FROM DemoTable; +----+-----------+ | Id | FirstName | +----+-----------+ | 1 | John

  5. บันทึกเวลาสร้างแถวอัตโนมัติด้วย DEFAULT CURRENT_TIMESTAMP ใน MySQL

    ใช้ TIMESTAMP DEFAULT CURRENT_TIMESTAMP เพื่อบันทึกเวลาปัจจุบันอัตโนมัติตอน INSERT สร้างตาราง CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Arrivaltime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); เพิ่มข้อมูล (แถวที่ 2 ไม่ระบุเวลา → ใช้เวลาปัจจุบัน) INSERT INTO DemoTable

  6. สุ่มค่าจากรายการเฉพาะด้วย ELT() และ RAND() ใน MySQL

    ใช้ ELT() ร่วมกับ RAND() เพื่อสุ่มเลือกค่าจากรายการที่กำหนดไว้ ไวยากรณ์ SELECT ELT(FLOOR(RAND() * จำนวนรายการ) + 1, ค่า1, ค่า2, ค่า3, ...); ตัวอย่างสุ่มจาก 10 ค่า (100 ถึง 1000) AS random_value_from_listOfValues; รันครั้งที่ 1 +--------------------------------+ | random_value_from_listOfValues |

  7. DROP TABLE vs TRUNCATE TABLE ใน MySQL ต่างอย่างไร?

    DROP TABLE — ลบทั้งตาราง โครงสร้าง และข้อมูล หายไปหมด TRUNCATE TABLE — ลบข้อมูลทั้งหมด แต่โครงสร้างตารางยังคงอยู่ ตัวอย่าง DROP TABLE SELECT * FROM DemoTable; +----+-------+ | Id | Name | +----+-------+ | 1 | Larry | | 2 | Chris | +----+-------+ DROP TABLE DemoTable; Query OK, 0 rows affected

  8. ค้นหาคำที่ตรงกันพอดีในสตริงด้วย REGEXP ใน MySQL

    ใช้ Regular Expression กับ REGEXP เพื่อค้นหาคำที่ตรงพอดี (whole word) ไม่ใช่ส่วนหนึ่งของคำอื่น ไวยากรณ์ SELECT * FROM your_table WHERE your_column REGEXP (^|[[:space:]])คำที่ค้นหา([[:space:]]|$); สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable VALUES (This is the Introduction to Java), (Th

  9. คูณสองคอลัมน์แล้วหาผลรวมตามกลุ่มใน MySQL

    ใช้ SUM(คอลัมน์1 * คอลัมน์2) ร่วมกับ GROUP BY เพื่อคำนวณมูลค่ารวมต่อกลุ่ม สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable(CustomerProductName, CustomerProductQuantity, CustomerPrice) VALUES (Product-1, 5, 400), (Product-2, 3, 100), (Product-1, 2, 300), (Product-1, 5, 50), (Product-3, 6, 10)

  10. แสดงแถวที่ต้องการเป็นแถวแรกด้วย ORDER BY ใน MySQL

    ใช้ ORDER BY พร้อมเงื่อนไข Boolean เพื่อนำแถวที่ต้องการขึ้นก่อน สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable VALUES (20), (8), (18), (11), (9), (19), (6), (7); ดูข้อมูลเดิม SELECT * FROM DemoTable; +-------+ | Value | +-------+ | 20 | | 8 | | 18 | | 11 | | 9 | | 19 | |

  11. รวมคอลัมน์ก่อนค้นหาด้วย LIKE ใน MySQL

    ใช้ CONCAT() รวมคอลัมน์หลายคอลัมน์ แล้วค่อยค้นหาด้วย LIKE สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable(Value1, Value2) VALUES (10, 345), (14, 789), (18, 234); ดูข้อมูล SELECT * FROM DemoTable; +----+--------+--------+ | Id | Value1 | Value2 | +----+--------+--------+ | 1 | 10 | 345

  12. ค้นหาข้อความที่ออกเสียงคล้ายด้วย SOUNDEX() ใน MySQL

    SOUNDEX() สร้างรหัสเสียง 4 ตัวอักษร ข้อความที่ออกเสียงคล้ายกันจะได้รหัสเดียวกัน ไวยากรณ์ SELECT * FROM your_table WHERE SOUNDEX(ค่าค้นหา) = SOUNDEX(คอลัมน์); สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable(FirstName, LastName) VALUES (Adam, Smith), (David, Miller), (Carol, Taylor), (Chris,

  13. อัปเดตค่า Boolean ใน MySQL

    ใน MySQL BOOLEAN เป็น alias ของ TINYINT(1) ค่า true = 1, false = 0 สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable(isMarried) VALUES (false), (true), (true), (false); ดูข้อมูล (แสดงเป็น 0 และ 1) SELECT * FROM DemoTable; +----+-----------+ | Id | isMarried | +----+-----------+ | 1 | 0 | |

  14. ชนิดข้อมูลสำหรับเก็บตัวเลขลบใน MySQL

    ใช้ TINYINT (สIGNED) เพื่อเก็บตัวเลขลบได้ ช่วงค่า -128 ถึง 127 สร้างตาราง CREATE TABLE DemoTable (Number TINYINT); ทดสอบเพิ่มค่าต่างๆ INSERT INTO DemoTable VALUES (14); -- OK ดูข้อมูลที่เพิ่มสำเร็จ SELECT * FROM DemoTable; +--------+ | Number | +--------+ | -10 | | -128 | | 127 | |

  15. ตัวแปร table_type ไม่ทำงานใน MySQL ใช้ default_storage_engine แทน

    ตัวแปรระบบ table_type ถูก deprecated ตั้งแต่ MySQL 5.5.3 ควรใช้ default_storage_engine แทน ตั้งค่า Storage Engine สำหรับ Session ปัจจุบัน SET default_storage_engine = MyISAM; สร้างตารางทดสอบ CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ); ตรวจสอบ Engine ของตาราง SHOW

  16. คำนวณค่าทางคณิตศาสตร์ตามเงื่อนไขด้วย CASE WHEN ใน MySQL

    ใช้ CASE WHEN ในคำสั่ง SELECT เพื่อคำนวณค่าต่างกันตามเงื่อนไข พร้อมทำการคำนวณทางคณิตศาสตร์ สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable(FruitName, FruitPrice) VALUES (Orange, 250), (Banana, 100), (Apple, 150), (Pomegranate, 200); ดูข้อมูล SELECT * FROM DemoTable; +----+-------------+------

  17. ค้นหาแถวที่มีตัวเลขในข้อความคั่นคอมมาด้วย FIND_IN_SET ใน MySQL

    ใช้ฟังก์ชัน FIND_IN_SET() เพื่อค้นหาค่าตัวเลขในคอลัมน์ที่เก็บตัวเลขคั่นด้วยคอมมา สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable(CustomerName, CustomerAllProductPrice) VALUES (Chris, 245,345,678,90,45,56,78), (Chris, 98,99,90,56,77), (David, 1000,2000,4000,56000); ดูข้อมูล SELECT * FR

  18. ใช้ CASE WHEN ในคำสั่ง UPDATE ของ MySQL

    ใช้ CASE WHEN ... THEN ... ELSE ... END ภายในคำสั่ง UPDATE เพื่ออัปเดตค่าแบบมีเงื่อนไขหลายระดับ สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable(UserScore) VALUES (100), (110), (120), (200), (230), (250), (270); ดูข้อมูลก่อนอัปเดต SELECT * FROM DemoTable; +--------+-----------+ | UserId | UserScor

  19. เพิ่มคอลัมน์ใหม่หลังคอลัมน์ที่กำหนดพร้อมค่า DEFAULT ใน MySQL

    ใช้ ALTER TABLE พร้อม ADD ... AFTER และ ALTER ... SET DEFAULT สร้างตารางเดิม CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName VARCHAR(20), StudentAge INT, StudentCountryName VARCHAR(100) ); โครงสร้างเดิม DESC DemoTable; +---------------

  20. เพิ่มเฉพาะข้อมูลที่ไม่ซ้ำด้วย UNIQUE INDEX ใน MySQL

    สร้าง UNIQUE INDEX บนคอลัมน์ที่ต้องการให้ไม่ซ้ำ แล้วใช้ INSERT ปกติ — ข้อมูลซ้ำจะถูกปฏิเสธโดยอัตโนมัติ สร้างตารางและ UNIQUE INDEX CREATE UNIQUE INDEX index_on_FirstName ON DemoTable(FirstName); ทดสอบเพิ่มข้อมูล (ซ้ำจะ error) INSERT INTO DemoTable(FirstName) VALUES (Robert); -- ERROR 1062 ดูข้อม

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:106/229  20-คอมพิวเตอร์/Page Goto:1 100 101 102 103 104 105 106 107 108 109 110 111 112