หน้าแรก
หน้าแรก
ด้วยความช่วยเหลือของคำสั่ง MySQL ต่อไปนี้ เราสามารถใช้ SELECT เพื่อคำนวณนิพจน์ − SELECT expression; ข้อความข้างต้นไม่มีการอ้างอิงถึงตารางใดๆ ต่อไปนี้เป็นตัวอย่างบางส่วน - mysql> Select 10 DIV 5; +----------+ | 10 DIV 5 | +----------+ | 2 | +----------+ 1 row in set (0.
สำหรับการสร้างทริกเกอร์ใหม่ เราจำเป็นต้องใช้คำสั่ง CREATE TRIGGER ไวยากรณ์ของมันคือ − CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW BEGIN ... END; ที่นี่ Trigger_name เป็นชื่อของทริกเกอร์ที่ต้องวางไว้หลังคำสั่ง CREATE TRIGGER หลักการตั้งชื่อสำหรับ trigger_name อ
ด้วยความช่วยเหลือของคำสั่ง \c เราสามารถละทิ้งคำสั่ง MySQL ในระหว่างการประมวลผล พิจารณาตัวอย่างต่อไปนี้ซึ่งเราไม่ต้องการทิ้งข้อความไว้ตรงกลางประโยค แล้วใช้ตัวเลือก \c - mysql> Select * -> from\c mysql> แบบสอบถามด้านบนแสดงให้เห็นว่าหลังจากใช้ตัวเลือก \c MySQL ละทิ้งคำสั่งและกลับ
เราต้องเข้าใจข้อดี ข้อเสีย และข้อจำกัดของการใช้ทริกเกอร์ MySQL เพื่อให้สามารถใช้งานได้อย่างมีประสิทธิภาพ ข้อดี ต่อไปนี้คือข้อดีของการใช้ทริกเกอร์ MySQL - ความซื่อสัตย์ ของข้อมูล − ด้วยความช่วยเหลือของทริกเกอร์ MySQL เราสามารถตรวจสอบความสมบูรณ์ของข้อมูลในตารางได้ กล่าวคือ ทริกเกอร์ MySQL เป็นอีกทาง
LIMIT คีย์เวิร์ดใน MySQL สามารถระบุจำนวนเร็กคอร์ดที่จะส่งคืนในเอาต์พุต LIMIT clause จำกัดจำนวนแถวที่จะส่งคืน สามารถเข้าใจได้ด้วยความช่วยเหลือของตัวอย่างต่อไปนี้ − ตัวอย่าง mysql> Select * from Student_info; +------+---------+------------+------------+ | id | Name | Address &nb
หากมี ชุดว่าง ในชุดผลลัพธ์ของการสืบค้น MySQL แสดงว่า MySQL ไม่ส่งคืนแถวและไม่มีข้อผิดพลาดในแบบสอบถามเช่นกัน สามารถเข้าใจได้ด้วยความช่วยเหลือของตัวอย่างต่อไปนี้ − mysql> Select * from Student_info WHERE Name = 'ABCD'; Empty set (0.00 sec) เราสามารถเห็นเซตว่างและเวลาดำเนินการเป็นเอาต์พุต หม
ธุรกรรม MySQL ปัจจุบันจะถูกคอมมิตและสิ้นสุดเมื่อคำสั่ง DDL ใดๆ เช่น ฐานข้อมูล CREATE หรือ DROP, ตาราง Create, ALTER หรือ DROP หรือรูทีนที่เก็บไว้ถูกดำเนินการในช่วงกลางของปัจจุบัน ธุรกรรม. การเปลี่ยนแปลงฐานข้อมูลทั้งหมดที่ทำในธุรกรรมปัจจุบันจะเป็นแบบถาวรและไม่สามารถย้อนกลับได้ ตัวอย่าง สร้างตารางนัก
ธุรกรรมปัจจุบันจะถูกคอมมิตและสิ้นสุดหากมีการดำเนินการ START TRANSACTION ระหว่างธุรกรรมปัจจุบัน การเปลี่ยนแปลงฐานข้อมูลทั้งหมดที่ทำในธุรกรรมปัจจุบันจะมีผลถาวร สิ่งนี้เรียกว่าการคอมมิตโดยปริยายโดยคำสั่ง START TRANSACTION ตัวอย่าง สมมติว่าเรามีค่าต่อไปนี้ในตาราง เครื่องหมาย เริ่มการทำธุรกรรม ตกลง สืบ
เหตุผลเบื้องหลังก็คือเราจะไม่ได้รับผลลัพธ์ที่มีความหมายใดๆ จากการเปรียบเทียบเมื่อเราใช้ NULL กับตัวดำเนินการเปรียบเทียบ เช่น =, < หรือ <> ลองพิจารณาตัวอย่างต่อไปนี้ซึ่งแสดงให้เห็นถึงแนวคิดนี้ - mysql> Select 10 = NULL, 10< NULL, 10<>NULL; +-----------+----------+----------+ | 10 = NULL |
อย่างที่เราทราบดีว่าในขณะที่ใช้ NULL กับตัวดำเนินการเปรียบเทียบ เราจะไม่ได้ชุดผลลัพธ์ที่มีความหมายใดๆ เพื่อให้ได้ผลลัพธ์ที่มีความหมายจากการเปรียบเทียบดังกล่าว เราสามารถใช้ เป็นโมฆะ และ ไม่ใช่เป็นโมฆะ ตัวอย่าง mysql> Select 10 IS NULL; +------------+ | 10 IS NULL | +------------+ | 0
การประกาศคอลัมน์ NOT NULL หมายความว่าคอลัมน์นี้จะไม่ยอมรับค่า NULL แต่เป็นศูนย์ (0) และสตริงว่างคือค่าในตัวเอง ดังนั้น จะไม่มีปัญหาหากเราต้องการแทรกศูนย์หรือสตริงว่างลงในคอลัมน์ MySQL ซึ่งกำหนดเป็น NOT NULL การเปรียบเทียบ 0 และสตริงว่างที่มี NULL จะทำให้ชัดเจน - mysql> Select 0 IS NULL, 0 IS NOT
เป็นเพราะการแทรกสตริงว่างหมายความว่าเรากำลังแทรกค่าบางอย่างไม่ใช่ NULL เห็นได้ชัดว่าสตริงว่างจับคู่กับศูนย์เป็นจำนวนเต็ม กล่าวอีกนัยหนึ่ง เราสามารถพูดได้ว่าโดยการแทรกสตริงว่าง เรากำลังจัดเตรียมค่าให้กับ MySQL ที่มีการแทนค่าจำนวนเต็มเป็น INT 0 ให้พิจารณาตัวอย่างต่อไปนี้ที่เราแทรกสตริงว่างและจับคู่กับ
โดยดำเนินการ SELECT @@TX_ISOLATION คำสั่งเราสามารถตรวจสอบระดับการแยกธุรกรรม MySQL ปัจจุบันได้ ตัวอย่าง mysql> SELECT @@TX_ISOLATION; +-----------------+ | @@TX_ISOLATION | +-----------------+ | REPEATABLE-READ | +-----------------+ 1 row in set (0.00 sec)
การแสดงสตริงว่างในชุดผลลัพธ์ขึ้นอยู่กับประเภทข้อมูลเมื่อเราแทรกสตริงว่างลงในคอลัมน์ MySQL ซึ่งประกาศเป็น NOT NULL ดังที่เราทราบดีว่าในการแทรกสตริงว่างนั้น เรากำลังให้ค่ากับ MySQL ที่มีการแสดงจำนวนเต็มเป็น INT 0 ตอนนี้ หากคอลัมน์นั้นมีประเภทข้อมูล INTEGER แล้ว MySQL จะแสดง 0 ในชุดผลลัพธ์เนื่องจากสตร
อย่างที่เราทราบดีว่าการสืบค้นสามารถมีคำสั่ง MySQL ได้หลายคำสั่งตามด้วยเครื่องหมายอัฒภาค สมมติว่าเราต้องการได้ผลลัพธ์จากหลายตาราง จากนั้นพิจารณาตัวอย่างต่อไปนี้เพื่อรับชุดผลลัพธ์จาก Student_info และ Student_detail โดยการเขียนแบบสอบถามเดียว - mysql> Select Name, Address from Student_info; Select St
FROM clause หลังจาก SELECT แสดงการอ้างอิงไปยังตาราง แต่ถ้าไม่มีการอ้างอิงถึงตารางใด ๆ เราก็สามารถใช้ SELECT โดยไม่มีส่วนคำสั่ง FROM กล่าวอีกนัยหนึ่ง เราสามารถพูดได้ว่า SELECT สามารถใช้เพื่อดึงแถวที่คำนวณโดยไม่ต้องอ้างอิงถึงตารางใดๆ พิจารณาข้อความต่อไปนี้ − mysql> Select concat_ws(" ",&q
เราสามารถใช้คำสั่ง COMMIT เพื่อทำการเปลี่ยนแปลงที่ทำในธุรกรรมปัจจุบัน บันทึกถาวรในฐานข้อมูล MySQL สมมติว่าถ้าเราเรียกใช้คำสั่ง DML และอัปเดตวัตถุข้อมูลบางอย่าง คำสั่ง COMMIT จะบันทึกการอัปเดตเหล่านี้อย่างถาวรในฐานข้อมูล ตัวอย่าง mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysq
เราสามารถใช้คำสั่ง ROLLBACK เพื่อกำจัดการเปลี่ยนแปลงที่ทำในธุรกรรมปัจจุบันอย่างถาวรจากฐานข้อมูล MySQL สมมติว่าถ้าเราเรียกใช้คำสั่ง DML และอัปเดตวัตถุข้อมูลบางรายการ คำสั่ง ROLLBACK จะลบการอัปเดตเหล่านี้ออกจากฐานข้อมูลอย่างถาวร ตัวอย่าง สมมติว่าเรามีข้อมูลต่อไปนี้ในตาราง เครื่องหมาย และเราใช้คำสั่งธ
อย่างที่เราทราบดีว่าตัวเลือก \G ส่งคำสั่งไปยังเซิร์ฟเวอร์ MySQL เพื่อดำเนินการ และด้วยความช่วยเหลือของ Semicolon (;) MySQL กำหนดจุดสิ้นสุดของคำสั่ง เป็นที่ทราบกันดีอยู่แล้วว่าทั้งคู่มีรูปแบบผลลัพธ์ที่แตกต่างกัน ตอนนี้ ถ้าเราจะใช้ทั้งสองอย่างในคำสั่ง MySQL ผลลัพธ์ก็จะถูกสร้างบนพื้นฐานของสิ่งที่ MySQL
อย่างที่เราทราบดีว่าคำสั่งในตัว (\G และ \g) ส่งคำสั่งไปยังเซิร์ฟเวอร์ MySQL เพื่อดำเนินการและด้วยความช่วยเหลือของ Semicolon (;) MySQL กำหนดจุดสิ้นสุดของ คำแถลง. เป็นที่ทราบกันดีอยู่แล้วว่าทั้งคู่มีรูปแบบผลลัพธ์ที่แตกต่างกัน ในการรวมและได้ผลลัพธ์โดยไม่มีข้อผิดพลาด เราจำเป็นต้องเขียนข้อความค้นหาสองราย