หน้าแรก
หน้าแรก
เราสามารถระบุจำนวนเร็กคอร์ดที่จะส่งคืนในเอาต์พุตโดยเพิ่มส่วนคำสั่ง LIMIT ในการสืบค้น MySQL LIMIT clause จำกัดจำนวนแถวที่จะส่งคืน ลองพิจารณาตัวอย่างต่อไปนี้ − mysql> Select * from ratelist ORDER BY Price; +----+------+-------+ | Sr | Item | Price | +----+------+-------+ | 5 | T
ทรานแซกชันคือกลุ่มของการดำเนินการจัดการฐานข้อมูลตามลำดับ ซึ่งดำเนินการเสมือนว่าเป็นหน่วยงานเดียว กล่าวอีกนัยหนึ่ง ธุรกรรมจะไม่มีวันสมบูรณ์เว้นแต่การดำเนินการแต่ละอย่างภายในกลุ่มจะประสบความสำเร็จ หากการดำเนินการใด ๆ ภายในธุรกรรมล้มเหลว ธุรกรรมทั้งหมดจะล้มเหลว ในทางปฏิบัติ เราสามารถรวมการสืบค้น SQL จำ
ดังที่เราทราบในการทำธุรกรรม คำสั่งจะถูกดำเนินการเป็นหน่วย หากการดำเนินการใด ๆ ภายในธุรกรรมล้มเหลว ธุรกรรมทั้งหมดจะล้มเหลวและควรย้อนกลับ มิฉะนั้น การเปลี่ยนแปลงใด ๆ ที่ทำโดยคำสั่งจะถูกบันทึกลงในฐานข้อมูล สำหรับการดำเนินการธุรกรรม MySQL ให้คำสั่งต่อไปนี้ - เริ่มการทำธุรกรรม ตามชื่อที่แนะนำ ธุรกรรมเริ่
จากผลลัพธ์ที่ส่งคืนโดย MySQL เป็นที่ชัดเจนว่ามีกี่แถวในชุดผลลัพธ์พร้อมกับเวลาดำเนินการ ตัวอย่าง ตัวอย่างเช่น ในผลลัพธ์ของ MySQL ต่อไปนี้ เราจะเห็นว่ามี 3 แถวในชุดผลลัพธ์ mysql> Select * from ratelist ORDER BY Price LIMIT 3; +----+------+-------+ | Sr | Item | Price | +----+------+-------+ | &nbs
ด้วยความช่วยเหลือของฟังก์ชัน MySQL SUM() เราจะได้รับมูลค่ารวมตามหมวดหมู่ในแถวเอาต์พุตเดียว ตัวอย่างเช่นในตาราง ratelist หากเราต้องการได้มูลค่ารวมของหมวดหมู่ ราคา เราสามารถใช้ SUM() ในราคาดังนี้ − mysql> select SUM(price) as totalprice from ratelist; +------------+ | totalprice | +------------+ |
MySQL สามารถจัดการพฤติกรรมของธุรกรรมโดยใช้สองโหมดต่อไปนี้ - เปิดอัตโนมัติ เป็นโหมดเริ่มต้น ในโหมดนี้ คำสั่ง MySQL แต่ละคำสั่ง (ภายในธุรกรรมหรือไม่) จะถือเป็นธุรกรรมที่สมบูรณ์และกำหนดโดยค่าเริ่มต้นเมื่อเสร็จสิ้น เริ่มต้นได้โดยการตั้งค่าตัวแปรเซสชัน AUTOCOMMIT เป็น 1 ดังนี้ - SET AUTOCOMMIT = 1 mysql&
MySQL กำหนดจุดสิ้นสุดของคำสั่งเมื่อพบสิ่งใดสิ่งหนึ่งต่อไปนี้ – อัฒภาค(;) โดยทั่วไป MySQL จะกำหนดจุดสิ้นสุดของคำสั่ง บรรทัดเดียวหรือหลายบรรทัด เมื่อพบการสิ้นสุดเซมิโคลอน (;) พิจารณาตัวอย่างด้านล่าง mysql> Select * from employee; (Single line statement) mysql> Select * -> from
ด้วยการใช้อัตตา \G ตัวเลือกท้ายประโยค เราจะได้ผลลัพธ์ในรูปแบบแนวตั้ง พิจารณา ตัวอย่าง . ต่อไปนี้ − mysql> Select * from Student where name = 'Aarav'\G *************************** 1. row *************************** Name: Aarav RollNo: 150 Grade: M.SC 1 row in set (0.00 sec)
สมมติว่าเราไม่ต้องการรันคำสั่งที่เรากำลังป้อน เราก็สามารถใช้ตัวเลือก \c ที่ชัดเจน ซึ่งจะล้างข้อมูลอินพุตปัจจุบัน ตัวอย่างเช่น การใช้ตัวเลือก \c สามารถทำได้ดังนี้ − mysql> Select * -> from\c ในตัวอย่างข้างต้น เมื่อเราใช้ \c ในคำสั่ง MySQL จะล้างอินพุตปัจจุบันและส่งคืนกลับไปยังพรอ
อย่างที่เราทราบกันดีว่า NULL ไม่มีค่าและไม่เหมือนกับศูนย์ MySQL แสดงคอลัมน์ฐานข้อมูลเป็น NULL หากไม่มีข้อมูลใด ๆ ตอนนี้ หากเราจะใช้ NULL ในนิพจน์เลขคณิตใดๆ ผลลัพธ์จะเป็น NULL ด้วย ตัวอย่าง mysql> Select 65/NULL,65+NULL,65*NULL,65-NULL,65%NULL; +---------+---------+---------+---------+---------+ |
มักไม่ค่อยใช้ในการใช้สองคอลัมน์ของตารางเดียวกันในส่วนคำสั่ง WHERE แต่เรายังสามารถดำเนินการสืบค้นข้อมูลที่มีสองคอลัมน์ในตารางเดียวกันได้ พิจารณาตัวอย่างด้านล่าง − mysql> Select F_name, L_name -> From Customer -> where F_name = L_name; Empty set (0.00
ข้อจำกัดในการสืบค้น MySQL ที่มีรายการเด่นคือสามารถส่งคืนได้เพียงหนึ่งแถวเท่านั้น แต่ผลลัพธ์นั้นสามารถมีหลายคอลัมน์ได้ ตัวอย่าง mysql> Select 65/NULL,65+NULL,65*NULL,65-NULL,65%NULL; +------------+--------------+-------------+-------------+---------+ | 65/NULL | 65+NULL
ด้วยความช่วยเหลือของ SHOW TABLES จาก Database_name แบบสอบถาม เราสามารถเห็นตารางของฐานข้อมูลอื่น ที่นี่ Database_name เป็นชื่อของฐานข้อมูลที่เราไม่ได้ใช้ในปัจจุบัน ลองพิจารณาตัวอย่างต่อไปนี้ที่เราเรียกใช้แบบสอบถามเพื่อรับรายการตารางในชื่อฐานข้อมูล บทช่วยสอน mysql> show tables from tutorial; +----
เพื่อให้เข้าใจว่าเรากำลังใช้ข้อมูลจากตารางต่อไปนี้ - mysql> Select * from customers; +-------------+----------+ | Customer_Id | Name | +-------------+----------+ | 1 | Rahul | | 2 | Yashpal | |
เพื่อให้เข้าใจว่าเรากำลังใช้ข้อมูลจากตารางต่อไปนี้ - mysql> Select * from Customers; +-------------+----------+ | Customer_Id | Name | +-------------+----------+ | 1 | Rahul | | 2 | Yashpal | |
เพื่อให้เข้าใจว่าเรากำลังใช้ข้อมูลจากตารางต่อไปนี้ - mysql> Select * from customers; +-------------+----------+ | Customer_Id | Name | +-------------+----------+ | 1 | Rahul | | 2 | Yashpal | |
เราสามารถเขียนคำสั่งแบบหลายบรรทัดได้เนื่องจาก MySQL กำหนดจุดสิ้นสุดของคำสั่งโดยมองหาเครื่องหมายอัฒภาคการสิ้นสุด ไม่ใช่โดยมองหาจุดสิ้นสุดของบรรทัดอินพุต ตัวอย่าง mysql> Select * -> from -> stock_item; +------------+-------+----------+ | item_name | Value | Q
เราสามารถใช้ตัวดำเนินการ MySQL EXIST เพื่อทดสอบการมีอยู่ของเร็กคอร์ดในเคียวรีย่อย กล่าวอีกนัยหนึ่ง เราสามารถพูดได้ว่าตัวดำเนินการ EXIST จะตรวจสอบว่าแบบสอบถามย่อยส่งคืนแถวใดๆ หรือไม่ ไวยากรณ์ของการใช้ตัวดำเนินการ EXIST กับแบบสอบถามย่อย MySQL มีดังนี้ - ไวยากรณ์ WHERE EXISTS (Subquery) นิพจน์ EXIST (
หากเคียวรีย่อย ใช้กับตัวดำเนินการ EXIST ส่งกลับค่า NULL นิพจน์ EXIST NULL จะคืนค่า TRUE และ MySQL ส่งคืนผลลัพธ์ตามการสืบค้นภายนอก สามารถเข้าใจได้ด้วยความช่วยเหลือของตัวอย่างง่ายๆ โดยใช้ข้อมูลต่อไปนี้จากตาราง ลูกค้า - mysql> Select * from Customers; +-------------+----------+ | Customer_Id | Name
หากเคียวรีย่อย ใช้กับโอเปอเรเตอร์ EXIST ไม่ส่งคืนแถว นิพจน์ EXIST จะคืนค่า FALSE และ MySQL จะคืนค่าเซ็ตว่างเป็นเอาต์พุต สามารถเข้าใจได้ด้วยความช่วยเหลือของตัวอย่างง่ายๆ โดยใช้ข้อมูลต่อไปนี้จากตาราง ลูกค้า - mysql> Select * from Customers; +-------------+----------+ | Customer_Id | Name &nb