Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. สร้างคอลัมน์ที่ Allow NULL แต่ Default เป็น Empty String ใน MySQL

    ใช้ NULL DEFAULT ในการเพิ่มคอลัมน์ เพื่อให้รับ NULL ได้ แต่ Default เป็น Empty String ไวยากรณ์ ALTER TABLE yourTableName ADD yourColumnName yourDataType NULL DEFAULT ; ตัวอย่างการใช้งาน สร้างตาราง: ); Query OK, 0 rows affected (0.65 sec) เพิ่มคอลัมน์ UserAddress: ALTER TABLE AllowNullDefaulNo

  2. ค้นหาสตริงที่ลงท้ายด้วยตัวเลขใน MySQL ด้วย REGEXP

    ใช้ REGEXP [[:digit:]]$ เพื่อค้นหาแถวที่คอลัมน์ลงท้ายด้วยตัวเลข ไวยากรณ์ SELECT * FROM yourTableName WHERE yourColumnName REGEXP [[:digit:]]$; ตัวอย่างการใช้งาน สร้างตาราง: ); Query OK, 0 rows affected (0.62 sec) เพิ่มข้อมูล (UserId บางตัวลงท้ายตัวเลข บางตัวไม่): insert into StringEndsWithNumb

  3. การ INSERT หลายแถวในคอลัมน์เดียวใน MySQL (Multiple Inserts)

    ใช้ Syntax VALUES (val1), (val2), (val3), ... เพื่อ Insert หลายแถวในคำสั่งเดียว ไวยากรณ์ INSERT INTO yourTableName(yourColumnName) VALUES (value1), (value2), (value3), ...; ตัวอย่างการใช้งาน สร้างตาราง: ); Query OK, 0 rows affected (3.14 sec) Insert หลายค่าในคอลัมน์ UserRole ทีเดียว: INSERT IN

  4. สร้าง Record ใน MySQL พร้อม TTL (Time To Live) ด้วย Event Scheduler

    ใช้ MySQL Event Scheduler เพื่อลบ Record อัตโนมัติเมื่อหมดอายุ (TTL) ขั้นตอนการตั้งค่า 1. เปิด Event Scheduler SET GLOBAL event_scheduler = ON; 2. สร้างตาราง ); Query OK, 0 rows affected (0.71 sec) เพิ่มข้อมูล: insert into EventDemo(EventDateTime) values(2010-09-21),(2016-10-27),(2018-12-09),(

  5. การใช้ SELF JOIN ใน MySQL

    SELF JOIN คือการ JOIN ตารางกับตัวเอง โดยใช้ Alias (t1, t2) เพื่อเปรียบเทียบแถวภายในตารางเดียวกัน ตัวอย่างการใช้งาน สร้างตาราง: ); Query OK, 0 rows affected (1.02 sec) เพิ่มข้อมูล (มี UK ซ้ำ 2 ปี): insert into SelfJoinDemo(CountryName,CountryRank,`Year`) values(UK,3,2000); ข้อมูล: +----+-------

  6. MySQL User ใหม่ Access Denied แม้ให้ Privileges แล้ว ต้อง FLUSH PRIVILEGES

    หลังสร้าง User และ Grant Privileges ต้องรัน FLUSH PRIVILEGES เพื่อโหลดสิทธิ์ใหม่เข้า Memory ขั้นตอนการแก้ไข 1. สร้าง User CREATE USER Bob@% IDENTIFIED BY 123456; Query OK, 0 rows affected (0.56 sec) 2. ให้สิทธิ์ทั้งหมด GRANT ALL PRIVILEGES ON *.* TO Bob@% WITH GRANT OPTION; Query OK, 0 rows aff

  7. การ Merge SELECT หลายคิวรี่ใน MySQL ด้วย GROUP BY และ HAVING

    ใช้ GROUP BY ร่วมกับ HAVING COUNT(*) เพื่อหาค่าที่ตรงเงื่อนไขทั้งหมดใน IN clause (Relational Division) ตัวอย่างการใช้งาน สร้างตาราง MergingSelectDemo: ); Query OK, 0 rows affected (1.98 sec) เพิ่มข้อมูล: insert into MergingSelectDemo values(10,10,10),(20,10,20),(30,10,30),(50,10,50),(110,20,20)

  8. การทำ Pivot Table ใน MySQL: ใช้ค่า Column เป็นชื่อ Column ใหม่

    ใช้ CASE statement ร่วมกับ MAX() และ GROUP BY เพื่อสร้าง Pivot Table (แปลงแถวเป็นคอลัมน์) ไวยากรณ์ SELECT yourIdColumnName, MAX(CASE WHEN yourColumnName1 = value1 THEN yourColumnName2 ELSE NULL END) AS value1, MAX(CASE WHEN yourColumnName1 = value2 THEN yourColumnName2 ELSE NULL END) AS val

  9. ROW_NUMBER() ใน MySQL สำหรับการ INSERT ใช้ Variable แทนได้

    MySQL (ก่อน 8.0) ไม่มี ROW_NUMBER() แต่สามารถจำลองได้ด้วย User-defined Variable ไวยากรณ์ SELECT (@yourVariable := @yourVariable + 1) AS `anyAliasName`, yourColumnName1, yourColumnName2, ...N FROM yourTableName, (SELECT @yourVariable := 0) AS anyAliasName; ตัวอย่างการใช้งาน สร้างตาราง: ); Query O

  10. การนับจำนวนแถวที่แน่นอนใน MySQL ด้วย COUNT(*)

    ใช้ Aggregate Function COUNT(*) เพื่อนับจำนวนแถวทั้งหมด รวมแถวที่มีค่า NULL ด้วย ไวยากรณ์ SELECT COUNT(*) AS anyAliasName FROM yourTableName; ตัวอย่างการใช้งาน สร้างตาราง: ); Query OK, 0 rows affected (1.49 sec) เพิ่มข้อมูล (รวม NULL และข้อมูลซ้ำ): insert into CountAllRowsDemo values(NULL,NULL

  11. ค้นหาและแทนที่ตัวอักษรครั้งแรกด้วย Session Variable ใน MySQL

    ใช้ CONCAT() และ REPLACE() ร่วมกับ INSTR() บน Session Variable เพื่อแทนที่เฉพาะครั้งแรก ตัวอย่างการใช้งาน ตั้งค่า Session Variable: SET @Sentence = Thks ks is a my string; Query OK, 0 rows affected (0.00 sec) แทนที่ k ตัวแรกด้วย i: SUBSTRING(@Sentence, INSTR(@Sentence, k) + 1)) AS ChangeOnlyOne

  12. การ SELECT ส่วนหนึ่งของ Timestamp ใน MySQL (เช่น ปีอย่างเดียว)

    ใช้ฟังก์ชัน YEAR(), MONTH(), DAY(), HOUR(), MINUTE(), SECOND() เพื่อดึงส่วนต่างๆ ของ TIMESTAMP ไวยากรณ์ (ตัวอย่างดึงปี) SELECT YEAR(yourTimestampColumnName) AS anyAliasName FROM yourTableName; ตัวอย่างการใช้งาน สร้างตาราง: ); Query OK, 0 rows affected (1.11 sec) เพิ่มข้อมูล: insert into Select

  13. ปิด Warning SSL Connection ใน Java JDBC MySQL Connection

    เพิ่มพารามิเตอร์ useSSL=false และ autoReconnect=true ใน JDBC URL เพื่อปิด Warning การเชื่อมต่อ SSL ไวยากรณ์ jdbc:mysql://localhost:port/databaseName?autoReconnect=true&useSSL=false ข้อความ Warning ที่จะเกิดหากไม่ตั้งค่า WARN: Establishing SSL connection without servers identity verification is not

  14. วิธีปิดวงเล็บ Subquery ให้ถูกต้องใน MySQL

    Subquery ต้องอยู่ในวงเล็บ (...) เสมอ ไม่ว่าจะอยู่ใน SELECT, WHERE, FROM หรืออื่นๆ ไวยากรณ์ SELECT IF((SELECT COUNT(*) FROM yourTableName), Yes, No) AS anyAliasName; ตัวอย่างการใช้งาน สร้างตาราง: ); Query OK, 0 rows affected (1.03 sec) เพิ่มข้อมูล 5 แถว: insert into SelectIfDemo(Name) values(Jo

  15. คำสั่ง MySQL เรียงลำดับ Timestamp แบบ Ascending

    ใช้ ORDER BY ASC ร่วมกับฟังก์ชัน TIMESTAMP() เพื่อเรียงคอลัมน์ timestamp จากน้อยไปมาก ไวยากรณ์ SELECT TIMESTAMP(yourTimestampColumnName) as anyAliasName FROM yourTableName ORDER BY 1 ASC; ตัวอย่างการใช้งาน สร้างตาราง: ); Query OK, 0 rows affected (0.83 sec) เพิ่มข้อมูล: insert into Timestamp_T

  16. การหาจำนวนแถวทั้งหมดขณะใช้ LIMIT ใน MySQL

    ใช้ SQL_CALC_FOUND_ROWS ในคิวรี่ SELECT แล้วตามด้วย SELECT FOUND_ROWS() เพื่อดูจำนวนแถวทั้งหมดโดยไม่ต้องรันคิวรี่อีกครั้ง ไวยากรณ์ SELECT SQL_CALC_FOUND_ROWS * FROM yourTableName LIMIT 0, yourLastValue; SELECT FOUND_ROWS(); ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูล 6 แถว: insert into RowsUsingL

  17. ไวยากรณ์การสร้าง Foreign Key ใน MySQL

    ใช้ ALTER TABLE ... ADD CONSTRAINT ... FOREIGN KEY ... REFERENCES เพื่อสร้าง Foreign Key หลังสร้างตารางแล้ว ไวยากรณ์ ALTER TABLE yourSecondTableName ADD CONSTRAINT yourConstraintName FOREIGN KEY(yourForeignKeyColumnName) REFERENCES yourFirstTableName(yourPrimaryKeyColumnName); ตัวอย่างการใช้งาน

  18. การ INSERT อักขระพิเศษ Single Quote (') ใน MySQL

    ใช้ Escape character \ (Backslash + Single Quote) เพื่อใส่ Single Quote ลงในข้อมูล ไวยากรณ์ INSERT INTO yourTableName(yourColumnName) VALUES(yourValue\s); ตัวอย่างการใช้งาน สร้างตาราง: ); Query OK, 0 rows affected (0.53 sec) เพิ่มข้อมูลที่มี Single Quote: insert into AvoidInsertErrorDemo(Sente

  19. การทำงานกับวันที่ก่อนปี 1970 ใน MySQL ใช้ DATE Type

    ใช้ชนิดข้อมูล DATE สำหรับวันที่ก่อนปี 1970 เพราะ DATE รองรับช่วง 1000-01-01 ถึง 9999-12-31 ช่วงวันที่ที่รองรับ เริ่มต้น: 1000-01-01 สิ้นสุด: 9999-12-31 รูปแบบ: YYYY-MM-DD ไม่เหมาะกับ TIMESTAMP (รองรับแค่ 1970-2038) ตัวอย่างการใช้งาน สร้างตาราง: ); Query OK, 0 rows affected (0.71 sec) เพิ่มข้

  20. การใช้ Time Datatype ใน MySQL แสดงเฉพาะชั่วโมงและนาที (ไม่มีวินาที)

    ใช้ DATE_FORMAT() กับคอลัมน์ TIME เพื่อแสดงผลเฉพาะชั่วโมง:นาที ไวยากรณ์ SELECT DATE_FORMAT(yourColumnName, %k:%i) as anyAliasName FROM yourTableName; หรือใช้ %H:%i (ผลลัพธ์เหมือนกันแต่ %H แสดง 0 นำหน้า) ตัวอย่างการใช้งาน สร้างตาราง: ); Query OK, 0 rows affected (0.56 sec) เพิ่มข้อมูล: insert

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:137/229  20-คอมพิวเตอร์/Page Goto:1 131 132 133 134 135 136 137 138 139 140 141 142 143