Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. MySQL: เรียงลำดับสุ่มด้วยคอลัมน์ค่าสุ่ม (RAND)

    การสร้างคอลัมน์ค่าสุ่มชั่วคราวเพื่อเรียงลำดับสุ่ม ใช้ Subquery สร้างคอลัมน์ RAND() + 1 (ค่า 1.0 - 2.0) แล้ว ORDER BY RandomRecord DESC เพื่อเรียงสุ่ม ทำได้ใน Query เดียวโดยไม่ต้อง ALTER TABLE ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูล: INSERT INTO DemoTable(StudentName) VALUES(Larry),(Sam),(Mike),

  2. MySQL: เปลี่ยน Primary Key ให้เป็น AUTO_INCREMENT ด้วย MODIFY

    การเปลี่ยน Primary Key ให้เป็น AUTO_INCREMENT หลังสร้างตารางแล้ว ใช้ ALTER TABLE ... MODIFY COLUMN เปลี่ยน Definition ของคอลัมน์ Primary Key ให้เพิ่ม AUTO_INCREMENT เข้าไป ตัวอย่างการใช้งาน สร้างตาราง PK แบบ Manual (ไม่ Auto): ); Query OK, 0 rows affected (0.63 sec) ตรวจสอบโครงสร้าง (ยังไม่มี aut

  3. MySQL: นับค่าที่ปรากฏในหลายคอลัมน์ด้วย CASE SUM

    การนับจำนวนครั้งที่ค่าเฉพาะปรากฏในหลายคอลัมน์รวมกัน ใช้ SUM(CASE WHEN col = value THEN 1 ELSE 0 END) สำหรับแต่ละคอลัมน์ แล้วนำมาบวกกัน จะได้จำนวนรวมที่ค่านั้นปรากฏในทุกคอลัมน์ที่สนใจ ตัวอย่างการใช้งาน สร้างตาราง 3 คอลัมน์ตัวเลข: INSERT INTO countValueMultipleColumnsDemo VALUES(10,15,10), (20,30,10

  4. MySQL: ความหมายของ AUTO_INCREMENT=3 ใน Schema Definition

    ความหมายของ AUTO_INCREMENT = N ในการสร้างตาราง คำสั่ง CREATE TABLE ... AUTO_INCREMENT = 3 กำหนดค่าเริ่มต้นของ Auto Increment Column (มักเป็น Primary Key) ให้เริ่มที่ 3 แทนค่า Default 1 ตัวอย่างการใช้งาน สร้างตารางตั้งค่า Auto Increment เริ่มที่ 3: ) AUTO_INCREMENT = 3; Query OK, 0 rows affected (0

  5. MySQL: เลือกแถวเฉพาะเจาะจง 1 แถว และอีกแถวสุ่ม (RAND)

    การเลือก 1 แถวเฉพาะเจาะจง + แถวสุ่ม ด้วย ORDER BY (Condition) DESC, RAND() เทคนิคนี้ใช้ ORDER BY (Id = target_id) DESC เพื่อบังคับให้แถว Target อยู่บนสุด (TRUE=1 มากกว่า FALSE=0) แล้วตามด้วย RAND() สำหรับแถวที่เหลือ ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูล 7 แถว: INSERT INTO oneSpecificRowAndOth

  6. MySQL: แปลง BOOL เป็น TINYINT(1) ภายใน (Internal Conversion)

    MySQL แปลง BOOL/BOOLEAN เป็น TINYINT(1) ภายในอัตโนมัติ ใน MySQL BOOL และ BOOLEAN เป็น Synonym (Alias) ของ TINYINT(1) ระบบจะแปลงชนิดข้อมูลนี้เป็น TINYINT(1) ตอนสร้างตารางจริง ตัวอย่างการใช้งาน สร้างตารางมีคอลัมน์ BOOL: ); Query OK, 0 rows affected (1.02 sec) ตรวจสอบโครงสร้างจริง (DESC): DESC bool

  7. MySQL: การประกาศตัวแปร (DECLARE) ใน Stored Procedure ให้ถูกต้อง

    กฎการประกาศตัวแปรใน MySQL Stored Procedure ใน MySQL DECLARE ตัวแปรต้องอยู่ ระหว่าง BEGIN ... END และต้องเป็น คำสั่งแรก ก่อนคำสั่งอื่นๆ (SET, SELECT, INSERT, ฯลฯ) ไม่สามารถประกาศกลางโค้ดได้ ตัวอย่างที่ถูกต้อง DELIMITER ; เรียกใช้ Procedure: CALL showVariablesValue(); +-------------+ | output

  8. MySQL: ใช้เงื่อนไข OR ใน CASE Expression

    การใช้เงื่อนไขแบบ OR ใน CASE WHEN ของ MySQL ใน CASE WHEN สามารถเขียนเงื่อนไขซับซ้อนรวมถึง OR, AND, NOT ได้ โดยตรงในแต่ละ WHEN clause ตัวอย่างการใช้งาน สร้างตารางคะแนน: INSERT INTO caseOrConditionDemo(Name, Score) VALUES(Larry,85),(Sam,74),(Mike,76),(Carol,65); Query OK, 4 rows affected (0.18 sec)

  9. MySQL: ลบแถวที่ n (Nth Row) ด้วย Subquery และ LIMIT

    การลบแถวลำดับที่ N จากตารางด้วย Subquery และ LIMIT MySQL ไม่มีคำสั่ง DELETE ... LIMIT 1 OFFSET n โดยตรง (รองรับในบาง Version แต่ไม่มาตรฐาน) วิธีมาตรฐานคือใช้ Subquery หา Primary Key ของแถวที่ N แล้วค่อย DELETE ด้วย PK นั้น ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูล 6 แถว: INSERT INTO DemoTable1(St

  10. MySQL: ทำงานกับ Array Variable ด้วย UNION ALL และ DUAL

    การจำลอง Array ใน MySQL ด้วย UNION ALL บนตาราง DUAL MySQL ไม่มี Array Variable แบบ Built-in แต่สามารถสร้าง Result Set ที่ทำงานคล้าย Array ได้โดยใช้ UNION ALL รวมหลาย SELECT ... FROM DUAL (DUAL = Dummy Table 1 แถว) ไวยากรณ์ (Syntax) SELECT yourValue1 AS ArrayValue FROM DUAL UNION ALL SELECT yourValu

  11. MySQL: เรียก Stored Procedure ด้วย CALL แล้วค่อย SELECT

    การเรียก Stored Procedure ใน MySQL: ใช้ CALL ไม่ใช่ SELECT FROM MySQL ไม่รองรับ SELECT * FROM procedure_name() (ต่างจาก SQL Server/PostgreSQL) ต้องใช้ CALL procedure_name() แล้วค่อยรัน SELECT แยกต่างหากเพื่อดูผลลัพธ์ ตัวอย่างการใช้งาน สร้างตารางและ Stored Procedure INSERT: DELIMITER ; เรียก Proce

  12. แก้ไข JDBC Error: Unknown Database 'onlinebookstore' ใน Java-MySQL

    การแก้ไขข้อผิดพลาด Unknown database ใน JDBC Connection ข้อผิดพลาด MySQLSyntaxErrorException: Unknown database onlinebookstore เกิดจากการระบุ Database Name ใน Connection URL ที่ ไม่มีอยู่จริง ใน MySQL Server โค้ด Java ที่ทำให้เกิด Error String JdbcURL = jdbc:mysql://localhost:3306/onlinebookstore?us

  13. MySQL: ความแตกต่างระหว่าง COUNT(*) และ COUNT(columnName)

    ความแตกต่างของ COUNT(*) vs COUNT(columnName) ใน MySQL COUNT(*) นับจำนวนแถวทั้งหมด (รวมแถวที่มี NULL) ส่วน COUNT(columnName) นับเฉพาะแถวที่คอลัมน์นั้น ไม่ใช่ NULL ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูลผสม NULL, Empty String, 0: INSERT INTO ifNotNullDemo VALUES(Chris),(),(Robert),(NULL),(0); Que

  14. MySQL: เรียงลำดับผลลัพธ์ด้วยการคำนวณคณิตศาสตร์ (ORDER BY Expression)

    การ ORDER BY ด้วยนิพจน์คณิตศาสตร์ (Expression) MySQL รองรับการใช้ Expression (นิพจน์คำนวณ) ใน ORDER BY โดยตรง เช่น Quantity * Price คำนวณค่าในแต่ละแถว แล้วเรียงตามผลลัพธ์ ตัวอย่างการใช้งาน สร้างตารางสินค้า: INSERT INTO orderByMathCalculation(Quantity, Price) VALUES(10,50),(20,40),(2,20),(11,10); Q

  15. MySQL: เพิ่มคอลัมน์ด้วย ALTER TABLE ADD COLUMN พร้อม DEFAULT

    การเพิ่มคอลัมน์ใหม่พร้อมค่า Default ด้วย ALTER TABLE คำสั่ง ALTER TABLE ... ADD COLUMN เพิ่มคอลัมน์ใหม่เข้าไปในตารางที่มีอยู่แล้ว สามารถระบุ DEFAULT value เพื่อให้แถวเก่าได้ค่าอัตโนมัติ ไวยากรณ์ (Syntax) ALTER TABLE yourTableName ADD COLUMN yourColumnName yourDataType DEFAULT yourValue; ตัวอย่างก

  16. MySQL: ปิดการแสดงผล Stored Procedure ด้วย Variable

    การปิดกักผลลัพธ์ของ Stored Procedure ไว้ใน Variable MySQL Stored Procedure ตามปกติจะส่งผลลัพธ์ (Result Set) กลับมาทันที หากต้องการไม่ให้แสดงผลทันที แต่เก็บไว้ใน User Variable (@var) ให้ใช้ SET @var = (SELECT ...) ภายใน Procedure แล้วค่อย SELECT @var ตอนเรียกใช้ ตัวอย่างการใช้งาน สร้างตารางและข้อมูล

  17. MySQL: Query เทียบเท่า SHOW TABLES 但按字母顺序排序

    การแสดงรายชื่อตารางเรียงลำดับตัวอักษรด้วย INFORMATION_SCHEMA.TABLES คำสั่ง SHOW TABLES แสดงรายชื่อตาราง แต่ไม่รับประกันลำดับ (ขึ้นกับ Storage Engine) ใช้ INFORMATION_SCHEMA.TABLES กรองตาม Database แล้ว ORDER BY TABLE_NAME เพื่อเรียง A-Z ไวยากรณ์ (Syntax) SELECT TABLE_NAME FROM INFORMATION_SCHEMA.T

  18. MySQL: นับแถวที่มีค่าที่ระบุปรากฏ 2 คอลัมน์ขึ้นไป

    การนับแถวที่มีค่าเฉพาะปรากฏในหลายคอลัมน์พร้อมกัน ใช้เงื่อนไข value IN (col1, col2, col3) ตรวจสอบว่าค่าที่ต้องการปรากฏในคอลัมน์ไหนก็ได้ของแถวนั้น แล้วรวมเงื่อนไขด้วย AND เพื่อให้ต้องมีทั้งสองค่า ตัวอย่างการใช้งาน สร้างตาราง 3 คอลัมน์ตัวเลข: INSERT INTO specifiedValuesDemo VALUES(10,15,20), (40,10,2

  19. MySQL: เรียงลำดับตามความยาวตัวอักษรด้วย ORDER BY LENGTH()

    การเรียงข้อมูลตามความยาวสตริง (Character Length) ใช้ ORDER BY LENGTH(column) เพื่อเรียงลำดับตามจำนวนตัวอักษร สามารถรวมกับการเรียงตัวอักษรอีกชั้นได้ ตัวอย่างการใช้งาน สร้างตารางและเพิ่มสตริงความยาวต่างกัน: INSERT INTO orderingAADemo VALUES(A),(B),(AA),(C),(CCC); Query OK, 5 rows affected (0.18 sec)

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:118/229  20-คอมพิวเตอร์/Page Goto:1 112 113 114 115 116 117 118 119 120 121 122 123 124