คำสั่งเกี่ยวกับ SQL
SELECT สำหรับเรียกข้อมูลมาแสดง
- SELECT * FROM customers; // เรียกข้อมูลทั้งหมดจากฟิลด์ customers ออกมา
- SELECT id FROM customers; // เรียกข้อมูลเฉพาะคอลัมน์ id ออกมา
- SELECT id,name FROM customers; // เรียกข้อมูลคอลัมน์ id และ name ออกมาในฟิลด์อาจมีหลายคอลัมน์
- SELECT id_file AS idtest,filename FROM smf_admin_info_files; // เปลี่ยนชื่อฟิลด์ที่จะแสดงผลแต่ไม่ไม่กระทบกับฐานข้อมูล
- SELECT * FROM customers WHERE id = 2 ; // เรียกข้อมูลเฉพาะคอลัมน์ id ที่ row 2 ออกมา
- SELECT * FROM customers WHERE name = ‘tarn’ ; // ไม่ใช่ตัวเลขให้ใช้ ‘ ‘ ครอบด้วย การค้นหาถ้าในฐานข้อมูลมี tarns จะหาไม่เจอต้องให้ตรงกันทุกตัวอักษร
- SELECT id FROM customers WHERE id = 2 ; // เรียกข้อมูล row 2 ออกมา เอาเฉพาะคอลัมน์ id และ name เท่านั้น
- SELECT * FROM smf_members WHERE id_member = 1 AND member_name = ‘admins’ ; // การใช้ AND
- SELECT * FROM smf_members WHERE member_name = ‘user’ OR member_name = ‘admins’ ; // การใช้ OR
- SELECT * FROM smf_members ORDER BY email_address; // การจัดเรียงตามชื่อฟิลด์ ในที่นี้จัดเรียงตามฟิลด์ที่ชื่อ email_adderss ถ้าไม่กำหนดมันจะเรียงจากน้อยไปหามาก 0 →a→ก
- SELECT * FROM smf_members ORDER BY email_address DESC; // ใส่ DESC จะเรียงจากมากไปหาน้อย มาจากคำว่า descending
- SELECT * FROM smf_members ORDER BY email_address DESC LIMIT 5; // จำกัดข้อมูลที่เรียกออกมา 5 row
- SELECT * FROM smf_members WHERE id_member <= 10; // ดึงข้อมูล id 1 – 10
- SELECT * FROM smf_members WHERE id_member >= 10; // ดึงข้อมูล id 10 เป็นต้นไป
- SELECT * FROM smf_members WHERE id_member > 10; // ดึงข้อมูล id 11 เป็นต้นไป
- SELECT brand FROM wp_jobrepair WHERE NOT brand=’FANUC’ GROUP BY brand ; // ดึงข้อมูลฟิลด์ brand โดยไม่เอา FANUC
- SELECT * FROM wp_jobrepair WHERE brand IN(‘samsung’,’fanuc’); // การใช้ IN คือเราต้องการข้อมูลอะไรที่อยู่ในฟิลด์ brand
- SELECT * FROM wp_jobrepair WHERE brand NOT IN(‘fanuc’); // การใช้ NOT IN คือเราไม่ต้องการข้อมูลอะไรที่อยู่ในฟิลด์ brand
- SELECT * FROM wp_jobrepair WHERE brand LIKE ‘a%’; // การค้นหาคำที่ขึ้นต้นด้วยตัว a แล้วตามด้วยอะไรก็ได้( % คือ อะไรก็ได้)
- SELECT * FROM wp_jobrepair WHERE brand LIKE ‘%c’; // การค้นหาคำที่ลงท้ายด้วยตัว c อะไรขึ้นต้นก็ได้( % คือ อะไรก็ได้)
- SELECT * FROM wp_jobrepair WHERE brand LIKE ‘%a%‘; // ค้นหาตัวที่มีอักษร a ในคำ ( % คือ อะไรก็ได้)
- SELECT * FROM wp_jobrepair WHERE brand LIKE ‘f%c’; // ค้นหาคำที่ขึ้นต้นด้วยตัว f และลงท้ายด้วย a
- SELECT * FROM wp_jobrepair WHERE id BETWEEN 5 AND 10; // ใช้ BETWEEN ค้นหา id 5-10 มาแสดงผล
- SELECT * FROM wp_jobrepair WHERE NOT id BETWEEN 5 AND 10; // ค้นหาข้อมูลทั้งหมดแต่ไม่เอา id 5-10
- SELECT * FROM wp_jobrepair WHERE id BETWEEN 1 AND 20 AND brand IN(‘samsung’); // ค้นหา id 5-20 และยี่ห้อ samaung มาแสดงผล
- SELECT * FROM wp_jobrepair WHERE comment IS NULL; // ค้นหาข้อมูลสินค้าที่ยังไม่กรอกหรือเป็น NULL นั่นเอง
- SELECT * FROM wp_jobrepair WHERE comment IS NOT NULL; //ค้นหาข้อมูลสินค้าที่มีข้อมูลหรือไม่เป็น NULL นั่นเอง
INSERT สำหรับเพิ่มข้อมูล
- INSERT INTO wp_jobrepair VALUES (21,111111,’aerw’,’sun’,’445hft’,’5545′,NULL,’ฮาสาด’,2,1,’หมายเหตุ’,current_time(),current_time()); // จำนวนขอมูลชนิดข้อมูลและฟิลด์ จะต้องตรงกัน ตัวไหนที่ไม่มีข้อมูลให้ใส่ NULL ใว้ก่อน ข้อเสียถ้ามีการเปลี่ยนแปลงอะไรเกี่ยวกับฟิลด์ มันจะพังทันที
- INSERT INTO wp_jobrepair(numberjob,brand,namejob,model,serialjob,picture,descriptionjob,customer_id,typejob,comment,datejob,updatejob)
VALUES (111111,’aerw’,’sun’,’445hft’,’5545′,NULL,’ฮาสาด’,2,1,’หมายเหตุ’,current_time(),current_time()); // เพิ่มชื่อฟิลด์เข้าไปลดการผิดพลาดในกรณีที่ฟิลด์มีการเปลี่ยนแปลงข้อมูลจะไปลงตรงฟิลด์แน่นอน และใส่ข้อมูลไม่ครบฟิลด์ก็ได้
UPDATE สำหรับแก้ใขข้อมูล
- UPDATE wp_jobrepair SET numberjob=222222,brand = ‘chang’ WHERE id=22; // แก้ใขข้อมูล จะต้องมี UPDATE ,SET ,WHERE
DELETE สำหรับลบข้อมูล
- DELETE FROM wp_jobrepair WHERE id=22; // ลบข้อมูลไอดี 22
Aggregate Functions คือการรวมฟังก์ชัน อื่นๆที่ใช้
- SELECT COUNT(id_member) FROM smf_members ; // นับ row id ทั้งหมดที่มี
- SELECT COUNT(id_member) FROM smf_members WHERE member_name=’admin’; // นับจำนวน row id ว่ามีจำนวนเท่าใหร่ โดยมีเงื่อนใข ค้นหา admin ในฟิลด์ที่ชื่อ member_name ว่ามีจำนวนเท่าใหร่
- SELECT AVG(numberjob) FROM wp_jobrepair; // การหาค่าเฉลี่ยของฟิลด์ที่ชื่อ numberjob
- SELECT SUM(numberjob) FROM wp_jobrepair; // การรวมโดยใช้ SUM
- SELECT MIN(numberjob) FROM wp_jobrepair; // การหาค่าน้อยที่สุดด้วย MIN
- SELECT MAX(numberjob) FROM wp_jobrepair; // การหาค่าน้อยที่สุดด้วย MAX
- SELECT COUNT(id),brand FROM wp_jobrepair GROUP BY brand; //การรวมกลุ่มหรือจัดกลุ่มทางข้อมูล นับข้อมูลที่เหมือนกันในฟิลด์ว่ามีเท่าใหร่ เช่น samsung = 4 , sharp = 2 , mitsubishi = 7
- SELECT COUNT(id) AS idtest ,brand FROM wp_jobrepair GROUP BY brand; // เปลี่ยนชื่อฟิลด์ที่จะแสดง
- SELECT COUNT(id),brand FROM wp_jobrepair GROUP BY brand ORDER BY brand; // เพิ่มการจัดเรียงจากน้อยไปหามาก
- SELECT COUNT(id),brand FROM wp_jobrepair GROUP BY brand ORDER BY brand DESC; // เพิ่มการจัดเรียงจากมากไปหาน้อย
- WHERE ไม่สามารถใช้ได้กับ Aggregate Functions ต้องใช้ HAVING แทน
- SELECT COUNT(id),brand FROM wp_jobrepair GROUP BY brand HAVING COUNT(id) >=5 ORDER BY brand ; // เอาเฉพาะ id ที่ไม่เกิน 5 วิธีใช้ต้องอยู่หลัง GROUP BY
การเรียงลำดับคำสั่งพื้นฐาน SQL
- SELECT คำสั่งในการดึงข้อมูลทั้งหมด หรือเฉพาะคอลัมน์
- FROM ดึงข้อมูลทั้งหมดในตาราง
- GROUP BY การ Sort ข้อมูลตามคอลัมน์
- HAVING เลือกข้อมูลต่อจาก GROUP BY
- ORDER BY จัดเรียงตามฟิลด์ไหน มีเงื่อนใขด้วยไหม
- LIMIT จำกัดจำนวนข้อมูล
การเชื่อมโยงตารางข้อมูล
- การ JOIN ตาราง คือการเชื่อมข้อมูลที่มากกว่า 2 ตารางขึ้นไป