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

    การใช้ SUM() กับ GROUP BY ฟังก์ชันรวม SUM() ร่วมกับ GROUP BY คำนวณผลรวมต่อกลุ่ม ตัวอย่าง create table DemoTable850(Id int, Price int); Query OK, 0 rows affected (0.54 sec) insert into DemoTable850 values(1,60); คำสั่ง SUM แยกตาม Id = 1 select Id, SUM(Price) from DemoTable850 where Id = 1; ผลล

  2. MySQL: TRUNCATE ตารางและรีเซ็ต AUTO_INCREMENT เอง

    TRUNCATE และตั้งค่า AUTO_INCREMENT ใหม่ TRUNCATE TABLE ลบข้อมูลทั้งหมดและรีเซ็ต AUTO_INCREMENT กลับเป็น 1 ตามด้วย ALTER TABLE ... AUTO_INCREMENT = n ตั้งค่าเริ่มต้นใหม่ ตัวอย่าง create table DemoTable825(Value int NOT NULL AUTO_INCREMENT PRIMARY KEY); Query OK, 0 rows affected (0.63 sec) insert

  3. MySQL: แปลงค่า Boolean (0/1) เป็นข้อความเพศ (MALE/FEMALE)

    การใช้ IF() แปลง Boolean เป็น String ใน MySQL ไม่มี Boolean Type จริง ใช้ TINYINT(1) แทน (0 = false, 1 = true) ใช้ IF() แปลงเป็นข้อความ ตัวอย่าง create table DemoTable815(Gender BOOLEAN); Query OK, 0 rows affected (0.84 sec) insert into DemoTable815 values(true); ข้อมูลดิบ (0 และ 1) +--------+

  4. MySQL: ตั้งค่าวันที่ขณะ INSERT โดยไม่ต้อง UPDATE หลัง (DATE_ADD)

    การคำนวณวันที่ขณะ INSERT ใช้ DATE_ADD(date, INTERVAL n UNIT) ในคำสั่ง INSERT เพื่อตั้งค่าวันที่ที่คำนวณแล้วตั้งแต่แรก ตัวอย่าง: เพิ่มเวลา 3 นาที/ชั่วโมง/วัน/เดือน/ปี create table DemoTable816(DueDate datetime); Query OK, 0 rows affected (0.45 sec) insert into DemoTable816 values(date_add(2011-03

  5. MySQL: แสดงสิทธิ์ทั้งหมดของผู้ใช้ (INFORMATION_SCHEMA)

    การดูสิทธิ์ระดับ Schema (Database) ใช้ View INFORMATION_SCHEMA.SCHEMA_PRIVILEGES เพื่อดูสิทธิ์ที่มอบให้ต่อ Database คำสั่ง select * from INFORMATION_SCHEMA.SCHEMA_PRIVILEGES; ผลลัพธ์ตัวอย่าง (ตัดให้สั้น) +-----------------------------+---------------+--------------------+-------------------------

  6. MySQL: ตั้งค่าเฉพาะแถวที่เป็น NULL ด้วย IFNULL

    การใช้ IFNULL() ใน UPDATE ฟังก์ชัน IFNULL(expr, alt) คืนค่า alt ถ้า expr เป็น NULL มิฉะนั้นคืน expr เอง ตัวอย่าง: เปลี่ยน NULL เป็น 0 create table DemoTable817(Value int); Query OK, 0 rows affected (0.53 sec) insert into DemoTable817 values(null); คำสั่ง UPDATE update DemoTable817 set Value =

  7. MySQL: แสดงค่าที่ผลรวมสะสมน้อยกว่า 150 เรียงลำดับ_desc

    การกรองข้อมูลด้วย Subquery และ Running Total ใช้ Subquery คำนวณผลรวมสะสม (Running Total) แล้วกรองเฉพาะแถวที่ผลรวม < 150 ตัวอย่าง create table DemoTable844( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Amount int ); Query OK, 0 rows affected (0.95 sec) insert into DemoTable844(Amount) valu

  8. MySQL: แปลงรหัสผ่าน MD5 เป็น SHA256

    การใช้ SHA2() สำหรับ Hash ฟังก์ชัน SHA2(str, hash_length) คำนวณ Hash แบบ SHA-2 รองรับ 224, 256, 384, 512 บิต ตัวอย่าง: แปลง MD5 ที่เก็บอยู่ เป็น SHA256 create table DemoTable818(UserPassword text); Query OK, 0 rows affected (0.51 sec) insert into DemoTable818 values(MD5(999Carol@22)); ก่อนแปลง

  9. MySQL: แปลงรูปแบบวันที่ YYYY-MM-DD เป็น DD Month, YYYY

    การจัดรูปแบบวันที่ด้วย DATE_FORMAT() ฟังก์ชัน DATE_FORMAT(date, format) แปลงวันที่เป็นสตริงตามรูปแบบที่กำหนด ตัวอย่าง create table DemoTable845(AdmissionDate date); Query OK, 0 rows affected (1.10 sec) insert into DemoTable845 values(2019-10-15); คำสั่งแปลงรูปแบบ select date_format(AdmissionDa

  10. MySQL: SELECT ด้วยเงื่อนไข ID และ Name พร้อมกัน

    การใช้ AND รวมเงื่อนไขหลายคอลัมน์ ใช้ value2 เพื่อกรองข้อมูลที่ตรงเงื่อนไขทั้งหมด ตัวอย่าง create table DemoTable819( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(100) ); Query OK, 0 rows affected (0.88 sec) insert into DemoTable819(StudentName) values(Sam);

  11. MySQL: ตรวจสอบสิทธิ์ผู้ใช้ก่อนสร้างฐานข้อมูล (SHOW GRANTS)

    การตรวจสอบสิทธิ์ด้วย SHOW GRANTS คำสั่ง SHOW GRANTS FOR user แสดงสิทธิ์ (Privileges) ที่ผู้ใช้มี กรณีที่ 1: ผู้ใช้ปัจจุบัน (Current User) show grants for current_user; ผลลัพธ์ (ตัวอย่าง root): +-------------------------------------------------------------------+ | Grants for root@%

  12. MySQL: จำกัดผลลัพธ์เฉพาะ 5 แถวล่าสุด

    การดึงเฉพาะ N แถวล่าสุด ใช้ ORDER BY id DESC LIMIT 5 - เรียงจากใหม่ไปเก่า แล้วเอา 5 แถวแรก ตัวอย่าง create table DemoTable820( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(100) ); Query OK, 0 rows affected (0.53 sec) insert into DemoTable820(CustomerName) values(Adam)

  13. MySQL: เรียงลำดับเฉพาะค่าก่อน (Custom ORDER BY)

    การกำหนดลำดับแสดงผลแบบกำหนดเอง ใช้ ORDER BY CASE WHEN ... THEN ... ELSE ... END เพื่อกำหนดให้ค่าเฉพาะขึ้นก่อน ตัวอย่าง: ให้ค่าที่ขึ้นต้นด้วย smith อยู่บนสุด create table DemoTable808(Value varchar(100)); Query OK, 0 rows affected (0.61 sec) insert into DemoTable808 values(smithJohn); คำสั่ง ORD

  14. MySQL: เลือกแถวที่วันที่เก่ากว่าวันที่ปัจจุบัน

    การเปรียบเทียบวันที่กับ NOW() ใช้ WHERE date_column < NOW() เพื่อหาแถวที่วันที่/เวลาน้อยกว่าปัจจุบัน (คืออดีต) ตัวอย่าง create table DemoTable840(DueDate datetime); Query OK, 0 rows affected (0.66 sec) insert into DemoTable840 values(2019-07-13); คำสั่ง SELECT (สมมติวันนี้ 2019-08-03) select *

  15. MySQL: ผลรวมสะสม (Running Total) ด้วย Session Variable

    การคำนวณ Running Total (Cumulative Sum) ใช้ Session Variable (@var) เพื่อเก็บผลรวมสะสมระหว่างการประมวลผลแต่ละแถว ตัวอย่าง create table DemoTable809(Price int); Query OK, 0 rows affected (0.53 sec) insert into DemoTable809 values(60); คำสั่ง Running Total select @currentSum := @currentSum + Pri

  16. MySQL: ใช้ IN สำหรับ 2 คอลัมน์ (Row Constructor)

    การใช้ IN กับ Tuple (Row Constructor) MySQL รองรับการเปรียบเทียบหลายคอลัมน์พร้อมกันด้วย (col1, col2) IN ((val1, val2), (val3, val4), ...) ตัวอย่าง create table DemoTable810(First int, Second int); Query OK, 0 rows affected (0.73 sec) insert into DemoTable810 values(78,128); ค้นหาคู่ค่า (20,40)

  17. MySQL: นับจำนวนแถวแยกตามค่าในคอลัมน์ (GROUP BY COUNT)

    การนับจำนวนแถวต่อกลุ่มด้วย GROUP BY ใช้ COUNT() ร่วมกับ GROUP BY เพื่อนับจำนวนแถวของแต่ละค่าที่แตกต่างกัน ตัวอย่าง create table DemoTable841( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value varchar(100) ); Query OK, 0 rows affected (0.67 sec) insert into DemoTable841(Value) values(Z);

  18. MySQL: แทรกหลายแถวพร้อมกันในคำสั่ง INSERT เดียว

    รูปแบบ INSERT หลายแถว ใช้คอมมา (,) คั่นชุดค่าแต่ละชุดในคำสั่ง INSERT เดียว: INSERT INTO table (col1, col2) VALUES (val1, val2), (val3, val4), (val5, val6), ...; ตัวอย่าง: แทรก 5 นักเรียนพร้อมกัน create table DemoTable811( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varc

  19. InnoDB เป็น Default Engine ใน MySQL หรือไม่?

    คำตอบ: ใช่ เริ่มตั้งแต่ MySQL 4.0 InnoDB เป็น Storage Engine เริ่มต้น (Default) ตั้งแต่ MySQL 4.0 เป็นต้นมา รวมถึง MySQL 8.0 ที่ใช้อยู่ ตรวจสอบเวอร์ชัน MySQL select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ ตรวจสอบ Engine ของตาราง แม้ไม่ระบุ ENGINE ตอนสร้างต

  20. MySQL: สร้างระบบค้นหาด้วย LIKE แบบคีย์เวิร์ด

    การค้นหาข้อความด้วย LIKE ใช้ LIKE %keyword% เพื่อค้นหาแถวที่คอลัมน์มีคำที่ต้องการอยู่ภายใน ตัวอย่าง: ตาราง Comments create table DemoTable812(Comments text); Query OK, 0 rows affected (0.61 sec) insert into DemoTable812 values(Have a nice day); ค้นหาข้อความที่มีคำว่า Look select * from DemoTab

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:75/229  20-คอมพิวเตอร์/Page Goto:1 69 70 71 72 73 74 75 76 77 78 79 80 81