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

    ใน MySQL Engine InnoDB ไม่สามารถตั้งค่า AUTO_INCREMENT ต่ำกว่าค่าสูงสุดที่มีอยู่ ได้ ต้องเปลี่ยน Engine เป็น MyISAM จึงจะทำได้ (แต่ MyISAM ไม่รองรับ Transaction/Row Lock) ข้อจำกัด InnoDB vs MyISAM EngineSET AI ต่ำกว่า MAXพฤติกรรม InnoDB❌ ไม่ได้Silent Ignore - ค่า AI ไม่เปลี่ยน MyISAM✅ ได้Reset เป็

  2. แปลง Integer เป็น VARCHAR ใน MySQL ไม่สูญเสียข้อมูลด้วย ALTER TABLE

    สามารถเปลี่ยน Data Type จาก INTEGER เป็น VARCHAR ได้โดยไม่สูญเสียข้อมูล เพราะตัวเลขทุกตัวสามารถแทนเป็นสตริงได้ ใช้คำสั่ง ALTER TABLE ... CHANGE หรือ MODIFY สร้างตารางและตรวจสอบโครงสร้าง mysql> create table DemoTable ( UserId int, UserFirstName varchar(20), UserLastName varchar(20),

  3. หาผลรวมแต่ละคอลัมน์ใน MySQL ด้วย SUM() หลายคอลัมน์

    เมื่อต้องการหาผลรวม (Sum) ของหลายคอลัมน์พร้อมกัน ให้ใช้ SUM() แยกคอลัมน์ด้วยจุลภาคในคำสั่ง SELECT เดียว สร้างตารางและข้อมูล mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstValue int, SecondValue int, ThirdValue int ); mysql> insert into DemoTable(Firs

  4. ใช้ SUM() ร่วมกับ IF() ใน MySQL นับเงื่อนไข

    สามารถใช้ SUM() ร่วมกับ IF() เพื่อนับจำนวนแถวที่ตรงตามเงื่อนไขได้ โดย IF คืนค่า 1 เมื่อตรงเงื่อนไข 0 เมื่อไม่ตรง แล้ว SUM รวมกัน สร้างตารางและข้อมูล mysql> create table DemoTable (Value int, Value2 int); mysql> insert into DemoTable values(100,400),(100,400),(400,100); ข้อมูลในตาราง +------

  5. MySQL ไม่มี Double Equal Sign (==) ใช้ Single Equal (=) แทน

    ใน MySQL ไม่มี Operator == สำหรับเปรียบเทียบความเท่ากัน ให้ใช้ Single Equal Sign (=) เท่านั้น การใช้ == จะเกิด Syntax Error ทดสอบ: ตั้งค่า Variable mysql> set @Number = 10; ลองใช้ == (ผิด) mysql> select 10 == @Number; Error ERROR 1064 (42000): You have an error in your SQL syntax; check the

  6. ลบตัวอักษร 4 ตัวสุดท้ายใน MySQL ด้วย SUBSTRING และ UPDATE

    เมื่อต้องการลบจำนวนตัวอักษรคงที่จากท้ายสตริง (Trim Right) ให้ใช้ SUBSTRING() หรือ LEFT() ร่วมกับ LENGTH() คำนวณตำแหน่ง แล้ว UPDATE กลับไป สร้างตารางและข้อมูล mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentSubject varchar(100) ); mysql> inser

  7. ไม่สามารถใช้ Backtick กับ Column Value ใน MySQL ได้

    Backtick (`) ใน MySQL ใช้สำหรับ Escape Identifier (ชื่อตาราง, ชื่อคอลัมน์, ชื่อฐานข้อมูล) เท่านั้น ไม่สามารถใช้กับ Value (Literal Value) ได้ หากใช้จะเกิด Error ตัวอย่างผิด: ใช้ Backtick กับ Value mysql> create table DemoTable6 (SystemIPAddress varchar(200)); mysql> insert into DemoTable6 valu

  8. เปลี่ยน Default Value ของ TINYINT เป็น 1 ใน MySQL

    เมื่อต้องการเปลี่ยนค่า Default ของคอลัมน์ TINYINT (มักใช้เป็น Boolean Flag) ให้ใช้ ALTER TABLE ... CHANGE หรือ MODIFY พร้อมระบุ DEFAULT 1 สร้างตารางมีคอลัมน์ TINYINT mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserName varchar(20), UserAge int, isM

  9. คูณคอลัมน์แล้ว Sum กลุ่มตามลูกค้าใน MySQL

    เมื่อต้องการคำนวณยอดรวมต่อลูกค้า โดยคูณ จำนวนสินค้า × ราคา แล้วรวมตามชื่อลูกค้า ให้ใช้ SUM(column1 * column2) ... GROUP BY สร้างตาราง Order Details mysql> create table DemoTable ( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(100), CustomerItems int, Cu

  10. ส่งออกข้อมูลคอลัมน์เฉพาะใน MySQL ด้วย SELECT ... INTO OUTFILE

    เมื่อต้องการ Export ข้อมูลเฉพาะคอลัมน์บางคอลัมน์ไปเป็นไฟล์ Text/CSV ให้ใช้ SELECT ... INTO OUTFILE ซึ่งเขียนไฟล์บน Server Side ได้โดยตรง Syntax SELECT yourColumnName FROM yourTableName INTO OUTFILE file_path [CHARACTER SET charset] [FIELDS TERMINATED BY , ENCLOSED BY \ ESCAPED BY \\\\] [LINES TE

  11. นับค่าที่ปรากฏเพียงครั้งเดียวในคอลัมน์ MySQL ด้วย GROUP BY HAVING

    เมื่อต้องการนับจำนวนค่าที่ ปรากฏเพียงครั้งเดียว (Unique Occurrence) ในคอลัมน์ ให้ใช้ GROUP BY ... HAVING COUNT(*) = 1 แล้วนับจำนวนกลุ่มนั้น สร้างตารางและข้อมูล (มีค่าซ้ำหลายค่า) mysql> create table DemoTable (Name varchar(20)); mysql> insert into DemoTable values (Larry),(Larry),(Sam),(Chri

  12. ค้นหาสตริงขึ้นต้นด้วยตัวเลขใน MySQL ด้วย REGEXP

    เมื่อต้องการค้นหาข้อมูลที่ขึ้นต้นด้วยตัวเลข (0-9) ให้ใช้ Regular Expression ด้วย Operator REGEXP และ Pattern ^[0-9] สร้างตารางและข้อมูล mysql> create table DemoTable (Id varchar(200)); mysql> insert into DemoTable values(123User),(_$123User),(User123456),(0000User),(&^*User); ข้อมูลในตาราง

  13. INSERT ข้อมูลเข้า 2 ตารางพร้อมกันใน MySQL ด้วย Stored Procedure

    MySQL ไม่รองรับ INSERT หลายตารางในคำสั่งเดียวโดยตรง แต่สามารถทำได้ผ่าน Stored Procedure ที่ห่อหุ้มหลายคำสั่ง INSERT ไว้ภายใน สร้างตาราง 2 ตาราง mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(20) ); mysql> create table DemoT

  14. จัดรูปแบบเวลา HH:MM ใน MySQL ด้วย DATE_FORMAT()

    เมื่อต้องการแสดงเฉพาะ ชั่วโมง:นาที (HH:MM) จากคอลัมน์ TIME หรือ DATETIME ให้ใช้ฟังก์ชัน DATE_FORMAT() กำหนด Format String Syntax SELECT DATE_FORMAT(yourColumnName, %H:%i) AS alias FROM yourTableName; สร้างตารางและข้อมูล mysql> create table DemoTable (Arrivaltime time); mysql> insert into Dem

  15. เพิ่มหลายเรคคอร์ดใน MySQL คำสั่งเดียวด้วย INSERT ... VALUES

    MySQL รองรับการ INSERT หลายแถวในคำสั่งเดียว (Multi-row INSERT) โดยใช้ Syntax VALUES (...), (...), ... ซึ่งเร็วกว่า INSERT แยกหลายคำสั่งมาก Syntax INSERT INTO table_name (col1, col2, ...) VALUES (val1, val2, ...), (val1, val2, ...), ...; สร้างตารางและ INSERT 4 แถวทีเดียว mysql> create table Demo

  16. แปลงสตริงเป็น Bitset ใน MySQL ด้วย CONV() และ BIN()

    MySQL มีชนิดข้อมูล BIT สำหรับเก็บค่า Binary (Bit Field) การแปลงสตริงบิต (เช่น 1110) เป็นค่า BIT สามารถใช้ CONV() แปลงฐานได้ สร้างตาราง BIT(4) mysql> create table DemoTable (stringValue BIT(4)); INSERT ค่าบิตจากสตริง mysql> insert into DemoTable values(CONV(1110, 2, 10) * 1); mysql> insert

  17. เปลี่ยน Case ทุกคอลัมน์ในตาราง MySQL ทีเดียวด้วย LOWER()

    เมื่อต้องการแปลงข้อมูลทุกคอลัมน์ในตารางเป็นตัวพิมพ์เล็ก (Lowercase) ทั้งหมดในคำสั่งเดียว ให้ใช้ UPDATE ร่วมกับฟังก์ชัน LOWER() บนทุกคอลัมน์ที่ต้องการ สร้างตารางและข้อมูลตัวพิมพ์ใหญ่ mysql> create table DemoTable ( Id varchar(100), StudentFirstName varchar(20), StudentLastName varchar

  18. ตรวจสอบคอลัมน์เป็น NULL หรือค่า Default ใน MySQL ด้วย IFNULL

    เมื่อต้องการแยกแยะว่า ค่าในคอลัมน์เป็น NULL จริง หรือเป็น ค่า Default ของตาราง ให้ใช้ IFNULL() ร่วมกับ DEFAULT() ฟังก์ชัน สร้างตารางมี Default Value mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(100) DEFAULT Larry, Age int DEFAULT NULL ); เ

  19. จัดการ NULL เป็น 0 และบวกคอลัมน์ใน MySQL ด้วย IFNULL()

    เมื่อต้องการคำนวณค่ารวมจากหลายคอลัมน์ที่อาจมีค่า NULL ให้ใช้ IFNULL() แปลง NULL เป็น 0 ก่อนทำการบวก เพื่อป้องกันผลลัพธ์เป็น NULL ปัญหา: NULL + ค่า = NULL mysql> select 10 + NULL; -- ผลลัพธ์: NULL สร้างตารางและข้อมูลมี NULL mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PR

  20. เปลี่ยน Data Type คอลัมน์ใน MySQL ด้วย ALTER TABLE MODIFY

    เมื่อต้องการเปลี่ยนชนิดข้อมูล (Data Type) ของคอลัมน์ที่มีอยู่แล้ว ให้ใช้คำสั่ง ALTER TABLE ... MODIFY ซึ่งจะรักษาข้อมูลเดิมไว้ (ถ้าเข้ากันได้) สร้างตารางและตรวจสอบโครงสร้าง mysql> create table DemoTable ( StudentId varchar(200) not null, StudentName varchar(20), StudentAge int, S

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