Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. INSERT ข้อมูลจากหลายตารางใน MySQL ด้วย INSERT INTO SELECT และ CROSS JOIN

    ใช้ INSERT INTO ... SELECT ร่วมกับการ Join หลายตาราง (ตัวอย่างใช้ Cross Join / Cartesian Product) เพื่อรวมข้อมูลจากตารางแยกกัน ตัวอย่าง: รวมชื่อจากตาราง 1 และ อายุจากตาราง 2 ตาราง 1: ชื่อ mysql> create table DemoTable1943 (Name varchar(20)); mysql> insert into DemoTable1943 values(Chris),(Ro

  2. นับจำนวนวันที่เฉพาะเจาะจงในตาราง MySQL ด้วย COUNT และ WHERE

    ใช้ COUNT(*) กรองด้วย WHERE date(คอลัมน์) = วันที่ เพื่อนับแถวที่ตรงกับวันที่ต้องการ ตัวอย่างการใช้งาน สร้างตารางวันจัดส่ง: mysql> create table DemoTable1946 (ShippingDate date); เพิ่มข้อมูล (มี 2019-12-17 ซ้ำ 2 ครั้ง): mysql> insert into DemoTable1946 values(2019-12-11),(2018-12-11),(2017-1

  3. MySQL SELECT จาก Subquery แล้ว DELETE: หลีกเลี่ยง Error 1093

    ใช้ Derived Table (Subquery ใน FROM clause มี alias) เพื่อเลือก ID ก่อน แล้ว DELETE ด้วย IN (...) หลีกเลี่ยง Error 1093 ตัวอย่างการใช้งาน สร้างตารางและข้อมูล: mysql> create table DemoTable1947 (Id int, Name varchar(20)); mysql> insert into DemoTable1947 values(101,Chris),(102,David),(103,Mike

  4. จัดเรียงเฉพาะตัวเลขจากสตริง Alphanumeric ใน MySQL ด้วย RIGHT()

    ใช้ ORDER BY RIGHT(คอลัมน์, จำนวนตัวอักษร) เพื่อจัดเรียงตามตัวเลขท้ายสตริง (สมมติตัวเลขอยู่ท้ายและความยาวคงที่) ตัวอย่างการใช้งาน สร้างตารางรหัสนักเรียน (รูปแบบผสมตัวอักษร-ตัวเลข): mysql> create table DemoTable1948 (StudentCode varchar(20)); เพิ่มข้อมูล: mysql> insert into DemoTable1948 valu

  5. ใช้ COALESCE() ใน MySQL หาค่าแรกที่ไม่ใช่ NULL จากหลายคอลัมน์

    COALESCE(col1, col2, col3, ...) คืนค่า แรกสุดที่ไม่ใช่ NULL จากรายการคอลัมน์/ค่าที่กำหนด ตัวอย่างการใช้งาน สร้างตารางนักเรียน (บางฟิลด์เป็น NULL): mysql> create table DemoTable1927 ( -> StudentName varchar(20), -> StudentSubject varchar(20) -> ); เพิ่มข้อมูล: mysql> inse

  6. สร้าง Stored Procedure สำหรับ INSERT ข้อมูลใน MySQL

    ใช้ CREATE PROCEDURE รับพารามิเตอร์ แล้ว INSERT เข้าตาราง เรียกใช้ด้วย CALL รูปแบบพื้นฐาน CREATE PROCEDURE procedure_name (param1 TYPE, param2 TYPE, ...) BEGIN INSERT INTO table_name (col1, col2, ...) VALUES (param1, param2, ...); END ตัวอย่างสมบูรณ์ สร้างตาราง: mysql> create table DemoTabl

  7. รีเซ็ต Primary Key Auto Increment ใน MySQL ด้วย TRUNCATE และ ALTER TABLE

    วิธีมาตรฐานในการรีเซ็ต AUTO_INCREMENT เริ่มจาก 1 ใหม่ คือ TRUNCATE TABLE ตามด้วย ALTER TABLE ... AUTO_INCREMENT = 1 ตัวอย่างการใช้งาน สร้างตารางมี Primary Key Auto Increment: mysql> create table DemoTable1929 ( -> UserId int NOT NULL AUTO_INCREMENT, -> PRIMARY KEY(UserId) ->

  8. เพิ่มวัน 45 วันใน MySQL และแสดงในคอลัมน์ใหม่ด้วย DATE_ADD

    ใช้ฟังก์ชัน DATE_ADD() หรือ INTERVAL เพื่อคำนวณวันที่บวก/ลบ แล้วแสดงเป็นคอลัมน์เพิ่มเติม ตัวอย่างการใช้งาน สร้างตารางวันครบกำหนด: mysql> create table DemoTable1930 (DueTime datetime); เพิ่มข้อมูล: mysql> insert into DemoTable1930 values(2017-10-21),(2019-12-14),(2018-11-26),(2014-06-16); ดู

  9. แปลงวันที่เป็นรูปแบบ mm-yyyy (เดือน-ปี) ใน MySQL พร้อมแสดงคอลัมน์ทั้งหมด

    ใช้ DATE_FORMAT() ร่วม STR_TO_DATE() แปลงสตริงวันที่รูปแบบ dd-mm-yyyy เป็น mm-yyyy ตัวอย่างการใช้งาน สร้างตารางเก็บวันที่เป็น VARCHAR: mysql> create table DemoTable1931 (ShippingDate varchar(40)); เพิ่มข้อมูล (รูปแบบ dd-mm-yyyy): mysql> insert into DemoTable1931 values(10-11-2017),(31-01-201

  10. จัดเรียง MySQL: ใส่ค่าเฉพาะด้านบน แล้วค่อยเรียงวันที่สำหรับที่เหลือ

    ใช้ ORDER BY column = value DESC, date_column เพื่อจัดให้แถวที่ตรงค่าเฉพาะอยู่บนสุด แล้วค่อยเรียงส่วนที่เหลือตามวันที่ Syntax SELECT * FROM table_name ORDER BY (column_name = target_value) DESC, date_column; (column = value) คืนค่า 1 (True) หรือ 0 (False) DESC ให้ True (1) อยู่บนสุด ส่วนที่เป็น

  11. แสดงข้อมูลตารางจาก Stored Procedure ใน MySQL

    สามารถสร้าง Stored Procedure ที่รัน SELECT * FROM table_name เพื่อแสดงข้อมูลตารางได้ แล้วเรียกด้วย CALL procedure_name() ตัวอย่างการใช้งาน 1. สร้างตารางและเพิ่มข้อมูล mysql> create table DemoTable1933 ( ClientName varchar(20) ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTa

  12. หาค่าเฉลี่ยจากค่าที่ไม่ซ้ำ (DISTINCT) ใน MySQL

    ใช้ AVG(DISTINCT column) หรือ Subquery กรอง Distinct ก่อน แล้วค่อย AVG เพื่อคำนวณค่าเฉลี่ยจากค่าที่ไม่ซ้ำกัน Syntax -- วิธี 1: AVG(DISTINCT) - รองรับใน MySQL SELECT AVG(DISTINCT column_name) FROM table_name; -- วิธี 2: Subquery (เข้ากันได้กับทุก DB) SELECT AVG(tbl.column_name) FROM (SELECT DISTIN

  13. กรองข้อมูล MySQL ด้วย RLIKE หลายคำ (OR Logic)

    ใช้ RLIKE (หรือ REGEXP) พร้อม Pattern word1|word2|word3 เพื่อกรองแถวที่คอลัมน์มีคำใดคำหนึ่งจากหลายคำ (OR Logic) Syntax SELECT * FROM table_name WHERE column_name RLIKE value1|value2|value3; ตัวอย่างการใช้งาน 1. สร้างตารางและเพิ่มข้อมูล mysql> create table DemoTable1935 ( Subject varchar(20) );

  14. Insert หลายแถวพร้อมกันด้วย INSERT INTO SELECT UNION ใน MySQL

    ใช้ INSERT INTO ... SELECT ... UNION ALL ... เพื่อเพิ่มหลายแถวใน Statement เดียว โดยสร้าง Virtual Rows จากค่าคงที่ Syntax INSERT INTO table_name (col1, col2, col3) SELECT val1, val2, val3 UNION ALL SELECT val4, val5, val6 UNION ALL SELECT val7, val8, val9; ... ตัวอย่างการใช้งาน 1. สร้างตาราง mysq

  15. สร้าง MySQL Trigger BEFORE INSERT เพื่อตรวจสอบเงื่อนไขก่อนเพิ่มข้อมูล

    Trigger BEFORE INSERT ทำงานก่อนที่ข้อมูลจะถูก Insert จริง สามารถใช้ตรวจสอบเงื่อนไขและยกเลิกการ Insert ได้โดยส่ง Signal Error Syntax DELIMITER // CREATE TRIGGER trigger_name BEFORE INSERT ON table_name FOR EACH ROW BEGIN -- validation logic IF (condition) THEN SIGNAL SQLSTATE 45000

  16. แก้ไข ERROR 1396 (HY000): Operation CREATE USER failed ใน MySQL

    Error 1396 (HY000) Operation CREATE USER failed เกิดขึ้นเมื่อพยายามสร้าง User ที่มีอยู่แล้ว หรือมีปัญหากับ Host/Plugin การแก้ไขคือตรวจสอบก่อนสร้าง หรือใช้ CREATE USER IF NOT EXISTS (MySQL 8.0.13+) สร้าง User ให้ถูกต้อง 1. Syntax พื้นฐาน CREATE USER username@hostname IDENTIFIED BY password; 2. ตัว

  17. ใช้ DECLARE สร้างตัวแปรใน MySQL Stored Procedure

    คำสั่ง DECLARE ใช้สำหรับประกาศตัวแปรภายใน MySQL Stored Procedure (หรือ Function, Trigger) ต้องอยู่ที่ต้น Block (หลัง BEGIN) ก่อน Statement อื่นๆ Syntax DECLARE variable_name data_type [DEFAULT default_value]; ตัวอย่าง: คำนวณกำลังสอง 1. สร้าง Stored Procedure ใช้ DECLARE mysql> delimiter // mys

  18. รวมคะแนนนักเรียนแยกตามคนด้วย GROUP BY และ SUM ใน MySQL

    ใช้ GROUP BY ร่วมกับ SUM() เพื่อรวมคะแนนของนักเรียนแต่ละคน แสดงผลรวมในคอลัมน์แยก Syntax SELECT student_name, SUM(student_marks) AS total_marks FROM table_name GROUP BY student_name; ตัวอย่างการใช้งาน 1. สร้างตารางและเพิ่มข้อมูล mysql> create table DemoTable1920 ( StudentName varchar(20), Stu

  19. กำหนดค่าคอลัมน์เฉพาะคงที่ ส่วนที่เหลือสุ่มลำดับใน MySQL

    ใช้ ORDER BY (เงื่อนไข) DESC, RAND() เพื่อ ปักหมุด แถวที่ตรงเงื่อนไขไว้หน้าสุด ส่วนอื่นสุ่ม ตัวอย่างการใช้งาน สร้างตารางตัวเลข: mysql> create table DemoTable1921 (Number int); เพิ่มข้อมูล: mysql> insert into DemoTable1921 values(40),(80),(820),(10); ดูข้อมูลทั้งหมด: mysql> select * from

  20. ลบข้อมูลหลายแถวใน MySQL ด้วย IN() ใน Query เดียว

    ใช้ DELETE ... WHERE column IN (value1, value2, ...) เพื่อลบหลายแถวพร้อมกันใน Statement เดียว Syntax DELETE FROM table_name WHERE id_column IN (val1, val2, val3, ...); ตัวอย่างการใช้งาน 1. สร้างตารางและเพิ่มข้อมูล mysql> create table DemoTable1922 ( -> StudentId int NOT NULL AUTO_INCRE

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:19/229  20-คอมพิวเตอร์/Page Goto:1 13 14 15 16 17 18 19 20 21 22 23 24 25