บทช่วยสอน SQL Server - ทุกสิ่งที่คุณต้องการสำหรับ Master Transact-SQL



บทความเกี่ยวกับ SQL Server Tutorial นี้เป็นคำแนะนำที่ครอบคลุมเกี่ยวกับแนวคิดไวยากรณ์และคำสั่งต่างๆที่ใช้ใน MS SQL Server

ในตลาดปัจจุบันที่มีการสร้างข้อมูลจำนวนมหาศาลทุกวันการทำความเข้าใจวิธีจัดการข้อมูลจึงเป็นเรื่องสำคัญมาก SQL Server เป็นสภาพแวดล้อมรวมที่พัฒนาโดย Microsoft เพื่อจัดการกับข้อมูลในบทความเกี่ยวกับบทช่วยสอน SQL Server นี้คุณจะได้เรียนรู้การดำเนินการและคำสั่งทั้งหมดที่คุณต้องใช้ในการสำรวจฐานข้อมูลของคุณ

เพื่อความเข้าใจที่ดีขึ้นฉันได้แบ่งบล็อกออกเป็นหมวดหมู่ต่อไปนี้:





คำสั่ง คำอธิบาย

คำสั่งภาษานิยามข้อมูล (DDL)

ชุดคำสั่งนี้ใช้เพื่อกำหนดฐานข้อมูล

คำสั่งภาษาการจัดการข้อมูล (DML)



คำสั่งการจัดการใช้เพื่อจัดการข้อมูลที่มีอยู่ในฐานข้อมูล

คำสั่งภาษาควบคุมข้อมูล (DCL)

ชุดคำสั่งนี้จัดการกับสิทธิ์สิทธิ์และการควบคุมอื่น ๆ ของระบบฐานข้อมูล

คำสั่งภาษาควบคุมธุรกรรม (TCL)

คำสั่งเหล่านี้ใช้เพื่อ จัดการกับธุรกรรมของฐานข้อมูล

นอกเหนือจากคำสั่งแล้วหัวข้อต่อไปนี้จะกล่าวถึงในบทความนี้:



MS SQL Server - การสอน SQL Server - Edureka

  1. SQL Server คืออะไร?
  2. ติดตั้ง SQL Server
  3. เชื่อมต่อกับ SQL Server โดยใช้ SSMS
  4. เข้าถึง Database Engine
  5. สถาปัตยกรรมเซิร์ฟเวอร์ SQL
  6. ความคิดเห็นใน SQL
  7. ชนิดข้อมูลเซิร์ฟเวอร์ SQL
  8. คีย์ในฐานข้อมูล
  9. ข้อ จำกัด ในฐานข้อมูล
  10. ตัวดำเนินการ
  11. ฟังก์ชันรวม
  12. ฟังก์ชันที่ผู้ใช้กำหนดเอง
  13. แบบสอบถามที่ซ้อนกัน
  14. เข้าร่วม
  15. ลูป
  16. กระบวนงานที่จัดเก็บ
  17. การจัดการข้อยกเว้น

***บันทึก*** ในบทช่วยสอนเซิร์ฟเวอร์ SQL นี้ฉันจะพิจารณาฐานข้อมูลด้านล่างเป็นตัวอย่างเพื่อแสดงวิธีการเรียนรู้และการเขียนคำสั่ง

รหัสนักศึกษา ชื่อนักเรียน ชื่อผู้ปกครอง หมายเลขโทรศัพท์ ที่อยู่ เมือง ประเทศ
หนึ่งฉันเกลียดAkriti mehra9955339966ถนนกองพล 9ไฮเดอราบาดอินเดีย
2มานาซ่าShourya Sharma9234568762ถนนมายอ 15กัลกัตตาอินเดีย
3AnaySoumya Mishra9876914261บ้าน Marathalli เลขที่ 101เบงกาลูรูอินเดีย
4Preetiโรฮันซินฮา9765432234ถนนควีนส์ 40เดลีอินเดีย
5ชนายาAbhinay agarwal9878969068ถนนโอเบรอย 21มุมไบอินเดีย

ก่อนที่เราจะเริ่มทำความเข้าใจกับคำสั่งต่างๆที่ใช้ใน SQL Server ให้เราเข้าใจว่า SQL Server คืออะไรสถาปัตยกรรมของมันและวิธีการติดตั้ง

SQL Server คืออะไร?

Microsoft SQL Server เป็นแบบเชิงสัมพันธ์ ระบบจัดการฐานข้อมูล . รองรับไฟล์ ภาษาแบบสอบถามที่มีโครงสร้าง และมาพร้อมกับการใช้งานภาษา SQL ซึ่งเป็นไฟล์ กลุ่มคำสั่ง SQL (T-SQL) . มีสภาพแวดล้อมรวมเพื่อจัดการฐานข้อมูล SQL ซึ่งเป็นไฟล์ .

ส่วนประกอบสำคัญของ SQL Server มีดังนี้:

  • เครื่องมือฐานข้อมูล: ส่วนประกอบนี้จัดการการจัดเก็บการประมวลผลธุรกรรมอย่างรวดเร็วและการรักษาความปลอดภัยข้อมูล
  • เซิร์ฟเวอร์ SQL - บริการนี้ใช้เพื่อเริ่มหยุดหยุดชั่วคราวและดำเนินการต่ออินสแตนซ์ของ MS SQL Server
  • ตัวแทนเซิร์ฟเวอร์ SQL - บริการ Server Agent มีบทบาทเป็นตัวกำหนดตารางเวลางานและถูกทริกเกอร์โดยเหตุการณ์ใด ๆ หรือตามความต้องการ
  • เบราว์เซอร์เซิร์ฟเวอร์ SQL - บริการนี้ใช้เพื่อเชื่อมต่อคำขอที่เข้ามากับอินสแตนซ์ SQL Server ที่ต้องการ
  • การค้นหาข้อความแบบเต็มของเซิร์ฟเวอร์ SQL - ใช้เพื่อให้ผู้ใช้เรียกใช้แบบสอบถามแบบเต็มกับข้อมูลอักขระในตาราง SQL
  • ผู้เขียน VSS ของเซิร์ฟเวอร์ SQL - อนุญาตให้สำรองและกู้คืนไฟล์ข้อมูลเมื่อ SQL Server ไม่ทำงาน
  • บริการวิเคราะห์เซิร์ฟเวอร์ SQL (SSAS) - บริการนี้ใช้เพื่อให้การวิเคราะห์ข้อมูลการขุดข้อมูลและ ความสามารถ SQL Server รวมอยู่ด้วย และ สำหรับการวิเคราะห์ข้อมูลขั้นสูง
  • บริการรายงานเซิร์ฟเวอร์ SQL (SSRS) - ตามชื่อที่แนะนำบริการนี้ใช้เพื่อมอบคุณสมบัติและความสามารถในการตัดสินใจรวมถึงการผสานรวมกับ .
  • บริการการรวมเซิร์ฟเวอร์ SQL (SSIS) - บริการนี้ใช้เพื่อดำเนินการ ETL สำหรับข้อมูลประเภทต่างๆจากแหล่งข้อมูลหลายแหล่ง

ตอนนี้คุณรู้แล้วว่า MS SQL Server คืออะไรให้เราก้าวต่อไปในบทความนี้เกี่ยวกับบทช่วยสอน SQL Server และทำความเข้าใจวิธีการติดตั้งและตั้งค่า SQL Server

ติดตั้ง SQL Server

ทำตามขั้นตอนด้านล่างเพื่อติดตั้ง SQL Server:

ขั้นตอนที่ 1: ไปที่หน้าอย่างเป็นทางการของ ดาวน์โหลด Microsoft SQL Server ซึ่งคุณจะพบตัวเลือกในการติดตั้ง SQL Server ทั้งในองค์กรหรือบนคลาวด์

ขั้นตอนที่ 2: ตอนนี้เลื่อนลงและคุณจะเห็นสองตัวเลือก: รุ่น Developer & Enterprise . ที่นี่ฉันจะดาวน์โหลดไฟล์ รุ่นสำหรับนักพัฒนา . ในการดาวน์โหลดคุณเพียงแค่คลิกที่ไฟล์ ดาวน์โหลดเดี๋ยวนี้ ตัวเลือก ดูด้านล่าง

ขั้นตอนที่ 3: เมื่อดาวน์โหลดแอปพลิเคชันแล้วให้ดับเบิลคลิกที่ไฟล์และคุณจะเห็นหน้าต่างต่อไปนี้

ขั้นตอนที่ 4: ตอนนี้คุณสามารถเลือกตัวเลือกใดก็ได้จาก 3 ตัวเลือกเพื่อตั้งค่า SQL Server ที่นี่ฉันจะเลือกไฟล์ ตัวเลือกพื้นฐาน . ในการเลือกตัวเลือกประเภทการติดตั้งหน้าจอถัดไปจะเป็นการยอมรับข้อตกลงใบอนุญาต โดยคลิกที่ ยอมรับ ในหน้าต่างต่อไปนี้

ขั้นตอนที่ 5: ถัดไปคุณต้องระบุตำแหน่งการติดตั้ง SQL Server จากนั้นคุณต้องคลิกที่ติดตั้ง

เมื่อคุณคลิกที่ ติดตั้ง คุณจะเห็นว่ามีการดาวน์โหลดแพ็คเกจที่จำเป็น หลังจากการติดตั้งเสร็จสมบูรณ์คุณจะเห็นหน้าจอต่อไปนี้:

ที่นี่คุณสามารถไปข้างหน้าและคลิกที่เชื่อมต่อทันทีหรือคุณสามารถปรับแต่งการติดตั้ง เพื่อความเข้าใจที่ดีขึ้นฉันจะเลือกต่อไป ปรับแต่ง

ขั้นตอนที่ 6: เมื่อคุณคลิกที่ ปรับแต่ง ในหน้าต่างด้านบนคุณจะเห็นตัวช่วยสร้างต่อไปนี้เปิดขึ้น ในหน้าต่างต่อไปนี้ให้คลิกที่ ต่อไป.

ขั้นตอนที่ 7: หลังจากติดตั้งกฎโดยอัตโนมัติแล้วให้คลิกที่ ต่อไป . ดูด้านล่าง

ขั้นตอนที่ 8: ถัดไปคุณต้องเลือกประเภทการติดตั้ง ดังนั้นเลือกไฟล์ ดำเนินการ การติดตั้งใหม่ของ SQL Server 2017 จากนั้นคลิกที่ ต่อไป.

ขั้นตอนที่ 9: ในวิซาร์ดที่เปิดขึ้นให้เลือกรุ่น: นักพัฒนา จากนั้นคลิกที่ ต่อไป . ดูด้านล่าง

ขั้นตอนที่ 10: ตอนนี้อ่านและยอมรับข้อตกลงใบอนุญาตโดยการเช็คอินที่ปุ่มตัวเลือกจากนั้นคลิกที่ ต่อไป . ดูด้านล่าง

ขั้นตอนที่ 11: ในวิซาร์ดด้านล่างคุณสามารถเลือกคุณสมบัติที่คุณต้องการติดตั้ง นอกจากนี้คุณสามารถเลือกไดเร็กทอรีรากของอินสแตนซ์จากนั้นคลิกที่ ต่อไป . ที่นี่ฉันจะเลือกไฟล์ บริการโปรแกรมฐานข้อมูล .

ขั้นตอนที่ 12: ถัดไปคุณต้องตั้งชื่ออินสแตนซ์จากนั้นรหัสอินสแตนซ์จะถูกสร้างขึ้นโดยอัตโนมัติ ในที่นี้ฉันจะตั้งชื่ออินสแตนซ์ว่า edureka จากนั้นคลิกที่ ต่อไป.

ขั้นตอนที่ 13: ในตัวช่วยสร้างการกำหนดค่าเซิร์ฟเวอร์คลิกที่ ต่อไป .

ขั้นตอนที่ 14: ตอนนี้คุณต้องเปิดใช้งานโหมดการรับรองความถูกต้อง ที่นี่คุณจะเห็นไฟล์ โหมดการรับรองความถูกต้องของ Windows และ โหมดผสม . ฉันจะเลือกโหมดผสม จากนั้นระบุรหัสผ่านจากนั้นฉันจะเพิ่มผู้ใช้ปัจจุบันเป็น ธุรการ โดยเลือก เพิ่มผู้ใช้ปัจจุบัน ตัวเลือก

ขั้นตอนที่ 15: จากนั้นเลือกเส้นทางไฟล์การกำหนดค่าและคลิกที่ ติดตั้ง .

หลังจากการติดตั้งเสร็จสมบูรณ์คุณจะเห็นหน้าจอต่อไปนี้:

เชื่อมต่อกับ SQL Server โดยใช้ SSMS

หลังจากติดตั้ง SQL Server แล้วขั้นตอนต่อไปของคุณคือการเชื่อมต่อ SQL Server กับ SQL Server Management Studio โดยทำตามขั้นตอนด้านล่าง:

ขั้นตอนที่ 1: กลับไปที่หน้าต่างต่อไปนี้และคลิกที่ไฟล์ ติดตั้ง SSMS ตัวเลือก

ขั้นตอนที่ 2: เมื่อคุณคลิกที่ตัวเลือกนั้นคุณจะถูกนำไปที่ไฟล์ หน้าต่อไป ที่คุณต้องเลือก ดาวน์โหลด SSMS

ขั้นตอนที่ 3: หลังจากดาวน์โหลดการตั้งค่าแล้วให้ดับเบิลคลิกที่แอปพลิเคชันและคุณจะเห็นวิซาร์ดต่อไปนี้เปิดขึ้น

ขั้นตอนที่ 4: คลิกที่ ติดตั้งตัวเลือก ในหน้าต่างด้านบนและคุณจะเห็นว่าการติดตั้งจะเริ่มขึ้น

ขั้นตอนที่ 5: หลังจากการติดตั้งเสร็จสมบูรณ์คุณจะได้กล่องโต้ตอบดังที่แสดงด้านล่าง

หลังจากคุณติดตั้ง SSMS ขั้นตอนต่อไปคือการเข้าถึงไฟล์ โปรแกรมฐานข้อมูล .

การเข้าถึง Database Engine

เมื่อคุณเปิดไฟล์ สตูดิโอจัดการเซิร์ฟเวอร์ SQL จาก เมนูเริ่มต้น หน้าต่างจะเปิดขึ้นคล้ายกับหน้าต่างที่แสดงในภาพด้านล่าง

ที่นี่กล่าวถึงชื่อเซิร์ฟเวอร์โหมดการรับรองความถูกต้องและคลิกที่ เชื่อมต่อ

หลังจากที่คุณคลิกที่ เชื่อมต่อ คุณจะเห็นหน้าจอต่อไปนี้

นั่นคือวิธีที่คุณติดตั้งและตั้งค่า SQL Server ตอนนี้ก้าวไปข้างหน้าในบทช่วยสอน SQL Server นี้ให้เราเข้าใจส่วนประกอบต่างๆของสถาปัตยกรรมของ SQL Server

สถาปัตยกรรมเซิร์ฟเวอร์ SQL

สถาปัตยกรรมของ SQL Server มีดังนี้:

  • เซิร์ฟเวอร์ & ลบนี่คือที่ที่ติดตั้งบริการ SQL และฐานข้อมูลอยู่
  • เอนจิ้นเชิงสัมพันธ์ & ลบประกอบด้วยตัวแยกวิเคราะห์แบบสอบถามเครื่องมือเพิ่มประสิทธิภาพและตัวดำเนินการและการดำเนินการเกิดขึ้นในเอนจินเชิงสัมพันธ์
  • ตัวแยกคำสั่ง & ลบตรวจสอบไวยากรณ์ของแบบสอบถามและแปลงแบบสอบถามเป็นภาษาเครื่อง
  • เครื่องมือเพิ่มประสิทธิภาพ & ลบเตรียมแผนการดำเนินการเป็นผลลัพธ์โดยใช้สถิติแบบสอบถามและโครงสร้าง Algebrator เป็นอินพุต
  • ผู้ดำเนินการสืบค้น & ลบนี่คือสถานที่ที่การสืบค้นดำเนินการทีละขั้นตอน
  • เครื่องมือจัดเก็บข้อมูล & ลบมีหน้าที่ในการจัดเก็บและดึงข้อมูลในระบบจัดเก็บข้อมูลการจัดการข้อมูลการจัดการและการล็อกธุรกรรม

ตอนนี้คุณรู้วิธีตั้งค่าและติดตั้ง SQL Server และส่วนประกอบต่างๆแล้วให้เราเริ่มต้นด้วยการเขียน เซิร์ฟเวอร์ แต่ก่อนหน้านั้นให้ฉันพูดถึงวิธีการเขียนความคิดเห็นใน SQL Server

ความคิดเห็นใน SQL Server

มีสองวิธีที่คุณสามารถแสดงความคิดเห็นใน SQL ได้เช่นใช้ไฟล์ เอส ความคิดเห็นในบรรทัด หรือ ความคิดเห็น ulti-line .

ความคิดเห็นบรรทัดเดียว

ความคิดเห็นบรรทัดเดียวเริ่มต้นด้วย ขีดกลางสองตัว (-) ดังนั้นข้อความที่กล่าวถึงหลัง (-) จนถึงจุดสิ้นสุดของบรรทัดเดียวจะถูกละเว้นโดยคอมไพเลอร์

ตัวอย่าง:

- ตัวอย่างความคิดเห็นบรรทัดเดียว

ความคิดเห็นหลายบรรทัด

ความคิดเห็นหลายบรรทัดเริ่มต้นด้วย / * และลงท้ายด้วย * / . ดังนั้นข้อความที่กล่าวถึงระหว่าง / * และ * / คอมไพเลอร์จะถูกละเว้น

ตัวอย่าง:

/ * ตัวอย่างความคิดเห็นแบบหลายบรรทัด * /

ตอนนี้ในบทความเกี่ยวกับบทช่วยสอน SQL Server ให้เราเริ่มต้นด้วยชุดคำสั่งแรกเช่นคำสั่ง Data Definition Language

คำสั่งภาษานิยามข้อมูล

ส่วนนี้ของบทความจะให้แนวคิดเกี่ยวกับคำสั่งต่างๆซึ่งคุณสามารถกำหนดฐานข้อมูลของคุณได้ คำสั่งมีดังนี้:

สร้าง

คำสั่งนี้ใช้เพื่อสร้างตารางฐานข้อมูลหรือมุมมอง

คำสั่ง 'สร้างฐานข้อมูล'

คำสั่งนี้ใช้ในการสร้างฐานข้อมูล

ไวยากรณ์

สร้างชื่อฐานข้อมูลฐานข้อมูล

ตัวอย่าง

สร้างฐานข้อมูลนักเรียน

ส่วน ‘ สร้างตาราง ' คำให้การ

ตามชื่อที่แนะนำคำสั่งนี้ใช้เพื่อสร้างตาราง

ไวยากรณ์

สร้างตารางชื่อ TableName (ประเภทข้อมูล Column1, ประเภทข้อมูล Column2, ประเภทข้อมูล Column3, .... ColumnN ประเภทข้อมูล)

ตัวอย่าง

สร้างตาราง StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), เมือง varchar (8000), ประเทศ varchar (8000))

ดรอป

คำสั่งนี้ใช้เพื่อวางตารางฐานข้อมูลหรือมุมมองที่มีอยู่

คำสั่ง 'DROP DATABASE'

คำสั่งนี้ใช้เพื่อดร็อปฐานข้อมูลที่มีอยู่ ข้อมูลทั้งหมดที่มีอยู่ในฐานข้อมูลจะหายไปทันทีที่คุณดำเนินการคำสั่งด้านล่าง

ไวยากรณ์

DROP DATABASE DatabaseName

ตัวอย่าง

ปล่อยนักเรียนฐานข้อมูล

คำสั่ง 'DROP TABLE'

คำสั่งนี้ใช้เพื่อวางตารางที่มีอยู่ ข้อมูลทั้งหมดที่มีอยู่ในตารางจะหายไปทันทีที่คุณดำเนินการคำสั่งด้านล่าง

ไวยากรณ์

DROP TABLE TableName

ตัวอย่าง

DROP TABLE StudentInfo

อายุ

คำสั่ง ALTER ใช้เพื่อเพิ่มลบหรือแก้ไขคอลัมน์หรือข้อ จำกัด ในตารางที่มีอยู่

ส่วน ‘ แก้ไขตาราง ' คำให้การ

คำสั่งนี้ใช้เพื่อเพิ่มลบแก้ไขคอลัมน์ในตารางที่มีอยู่แล้ว

คำสั่ง 'ALTER TABLE' พร้อม ADD / DROP COLUMN

คำสั่ง ALTER TABLE ใช้กับคำสั่ง ADD / DROP Column เพื่อเพิ่มและลบคอลัมน์

ไวยากรณ์

แก้ไขตารางชื่อตารางเพิ่มคอลัมน์ชื่อประเภทข้อมูลเปลี่ยนตารางชื่อคอลัมน์คอลัมน์ดรอปชื่อ

ตัวอย่าง

- ADD Column BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) - DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup

คำสั่ง 'แก้ไขตาราง' ด้วย ALTER COLUMN

สามารถใช้คำสั่ง ALTER TABLE กับคอลัมน์ ALTER เพื่อเปลี่ยนชนิดข้อมูลของคอลัมน์ที่มีอยู่ในตาราง

ไวยากรณ์

เปลี่ยนตารางชื่อตารางเปลี่ยนคอลัมน์คอลัมน์ชื่อประเภทข้อมูล

ตัวอย่าง

- เพิ่ม DOB คอลัมน์และเปลี่ยนประเภทข้อมูลจากวันที่เป็นวันที่และเวลา แก้ไขตาราง StudentInfo เพิ่มวันที่ DOB แก้ไขตาราง StudentInfo แก้ไขคอลัมน์วันที่เวลา DOB

ตัด

คำสั่ง SQL นี้ใช้เพื่อลบข้อมูลที่มีอยู่ในตาราง แต่ไม่ได้ลบตารางนั้นเอง ดังนั้นหากคุณต้องการลบข้อมูลที่มีอยู่ในตารางและไม่ลบตารางเองคุณต้องใช้คำสั่ง TRUNCATE ใช้คำสั่ง DROP

ไวยากรณ์

TRUNCATE TABLE TableName

ตัวอย่าง

ตัดทอนข้อมูลตาราง StudentInfo

เปลี่ยนชื่อ

คำสั่งนี้ใช้เพื่อเปลี่ยนชื่อตารางอย่างน้อยหนึ่งตาราง

ไวยากรณ์

sp_rename 'OldTableName', 'NewTableName'

ตัวอย่าง

sp_rename 'StudentInfo', 'Infostudents'

ในบทความนี้เกี่ยวกับบทช่วยสอน SQL Server ให้เราเข้าใจประเภทข้อมูลต่างๆที่ SQL Server สนับสนุน

ชนิดข้อมูลเซิร์ฟเวอร์ SQL

ประเภทข้อมูลประเภท ชื่อชนิดข้อมูล คำอธิบาย ช่วง / ไวยากรณ์
ตัวเลขที่แน่นอน ตัวเลขใช้เพื่อจัดเก็บค่าตัวเลขและมีความแม่นยำและมาตราส่วนคงที่- 10 ^ 38 +1 ถึง 10 ^ 38 - 1
Tinyintใช้เพื่อเก็บค่าจำนวนเต็ม0 ถึง 255
Smallintใช้เพื่อเก็บค่าจำนวนเต็ม-2 ^ 15 (-32,768) ถึง 2 ^ 15-1 (32,767)
bigintใช้เพื่อเก็บค่าจำนวนเต็ม-2 ^ 63 (-9,223,372,036,854,775,808) ถึง 2 ^ 63-1 (9,223,372,036,854,775,807)
intใช้เพื่อเก็บค่าจำนวนเต็ม-2 ^ 31 (-2,147,483,648) ถึง 2 ^ 31-1 (2,147,483,647)
นิดหน่อยเก็บชนิดข้อมูลจำนวนเต็มซึ่งมีค่าเป็น 0, 1 หรือ NULL0, 1 หรือ NULL
ทศนิยมใช้เพื่อจัดเก็บค่าตัวเลขและมีความแม่นยำและมาตราส่วนคงที่- 10 ^ 38 +1 ถึง 10 ^ 38 - 1
smallmoneyใช้ในการจัดเก็บเงินหรือค่าเงิน- 214,748.3648 ถึง 214,748.3647
เงินใช้ในการจัดเก็บเงินหรือค่าเงิน-922,337,203,685,477.5808 ถึง 922,337,203,685,477.5807 (-922,337,203,685,477.58
ถึง 922,337,203,685,477.58 สำหรับ Informatica
ตัวเลขโดยประมาณ ลอยใช้เพื่อจัดเก็บข้อมูลตัวเลขทศนิยม- 1.79E + 308 ถึง -2.23E-308, 0 และ 2.23E-308 ถึง 1.79E + 308
จริงใช้เพื่อจัดเก็บข้อมูลตัวเลขทศนิยม- 3.40E + 38 ถึง -1.18E - 38, 0 และ 1.18E - 38 ถึง 3.40E + 38
วันและเวลา วันที่ใช้เพื่อกำหนดวันที่ใน SQL Serverไวยากรณ์: date
smalldatetimeใช้เพื่อกำหนดวันที่รวมกับช่วงเวลาของวันโดยที่เวลาจะขึ้นอยู่กับวันที่ 24 ชั่วโมงโดยวินาทีจะเป็นศูนย์ (: 00) และไม่มีเศษเสี้ยววินาทีไวยากรณ์: smalldatetime
วันเวลาใช้เพื่อกำหนดวันที่รวมกับเวลาของวันโดยมีเศษเสี้ยววินาทีตามนาฬิกาแบบ 24 ชั่วโมงไวยากรณ์: datetime
วันที่เวลา 2 วันที่เวลา 2 เป็นส่วนขยายของไฟล์ วันเวลา ประเภทที่มีความแม่นยำเศษส่วนเริ่มต้นที่ใหญ่กว่าช่วงวันที่ที่ใหญ่กว่าไวยากรณ์: datetime2
datetimeoffsetใช้เพื่อกำหนดวันที่รวมกับเวลาของวันที่มีการรับรู้เขตเวลา มันขึ้นอยู่กับนาฬิกา 24 ชั่วโมงไวยากรณ์: datetimeoffset
เวลาใช้เพื่อกำหนดช่วงเวลาของวันไวยากรณ์: เวลา
สตริงอักขระ ถ่านใช้เพื่อเก็บอักขระขนาดคงที่ถ่าน[( n )] โดยที่ค่า n แตกต่างกันไปตั้งแต่ 1 - 8,000
varcharใช้เพื่อเก็บอักขระที่มีความยาวผันแปรวาร์ชาร์ [( n | สูงสุด)] โดยที่ค่า n แตกต่างกันไปตั้งแต่ 1-8000 และพื้นที่เก็บข้อมูลสูงสุดที่อนุญาตคือ 2GB
ข้อความใช้เก็บ vข้อมูลที่ไม่ใช่ Unicode ที่มีความยาว ariableความยาวสตริงสูงสุดที่อนุญาต - 2 ^ 31-1 (2,147,483,647)
สตริงอักขระ Unicode ncharใช้เพื่อเก็บอักขระขนาดคงที่nchar[(n)] โดยที่ค่า n แตกต่างกันไปตั้งแต่ 1-4000
nvarcharใช้เพื่อเก็บอักขระที่มีความยาวผันแปรวาร์ชาร์ [( n | สูงสุด)] โดยที่ค่า n แตกต่างกันไปตั้งแต่ 1-4000 และพื้นที่เก็บข้อมูลสูงสุดที่อนุญาตคือ 2GB
ntextใช้เพื่อจัดเก็บข้อมูล Unicode ที่มีความยาวผันแปรได้ความยาวสตริงสูงสุดที่อนุญาต - 2 ^ 30-1 (2,147,483,647)
สตริงไบนารี ไบนารี่ใช้เพื่อจัดเก็บประเภทข้อมูลไบนารีที่มีความยาวคงที่ไบนารี่[( n )] โดยที่ค่า n แตกต่างกันไปตั้งแต่ 1 - 8,000
varbinaryใช้เพื่อจัดเก็บประเภทข้อมูลไบนารีที่มีความยาวคงที่varbinary[( n )] โดยที่ n vale แตกต่างกันไปตั้งแต่ 1-8000 และพื้นที่เก็บข้อมูลสูงสุดที่อนุญาตคือ 2 ^ 31-1 ไบต์
ภาพใช้เพื่อจัดเก็บข้อมูลไบนารีความยาวตัวแปร0 - 2 ^ 31-1 (2,147,483,647) ไบต์
ประเภทข้อมูลอื่น ๆ เป็นชนิดข้อมูลสำหรับกระบวนงานที่เก็บไว้หรือพารามิเตอร์ OUTPUT ของตัวแปรที่มีการอ้างอิงไปยังเคอร์เซอร์-
rowversionใช้เพื่อแสดงเลขฐานสองที่สร้างขึ้นโดยอัตโนมัติภายในฐานข้อมูล-
ลำดับชั้นใช้เพื่อแสดงตำแหน่งตามลำดับชั้น-
ตัวบ่งชี้เฉพาะเป็น GUID ขนาด 16 ไบต์ไวยากรณ์:ตัวบ่งชี้เฉพาะ
sql_variantใช้เพื่อเก็บค่าของชนิดข้อมูลต่างๆที่รองรับ SQL Serverไวยากรณ์: sql_variant
xmlใช้เพื่อจัดเก็บชนิดข้อมูล XML

xml ([CONTENT | DOCUMENT] xml_schemacollection)

ประเภทของเรขาคณิตเชิงพื้นที่ใช้เพื่อแสดงข้อมูลในระบบพิกัดแบบยุคลิด (แบน)-
ประเภทภูมิศาสตร์เชิงพื้นที่ใช้ในการจัดเก็บข้อมูลทรงรี (รอบโลก) เช่นพิกัดละติจูด GPS และลองจิจูด-
โต๊ะใช้เพื่อจัดเก็บชุดผลลัพธ์สำหรับการประมวลผลในภายหลัง-

ต่อไปในบทความนี้จะให้เราเข้าใจประเภทของคีย์และข้อ จำกัด ต่างๆในฐานข้อมูล

คีย์ประเภทต่างๆในฐานข้อมูล

ต่อไปนี้เป็นคีย์ประเภทต่างๆที่ใช้ในฐานข้อมูล:

  • คีย์ผู้สมัคร - รหัสผู้สมัครคือชุดของแอตทริบิวต์ที่สามารถระบุตารางได้โดยไม่ซ้ำกัน ตารางสามารถมีคีย์ตัวเลือกได้มากกว่าหนึ่งคีย์และจากคีย์ตัวเลือกที่เลือกคีย์หนึ่งจะถูกเลือกเป็นคีย์หลัก
  • ซูเปอร์คีย์ - ชุดแอตทริบิวต์สามารถระบุทูเปิลแบบไม่ซ้ำกันได้ ดังนั้นคีย์ตัวเลือกคีย์ที่ไม่ซ้ำกันและคีย์หลักจึงเป็นคีย์ระดับสูง แต่ในทางกลับกันไม่เป็นความจริง
  • คีย์หลัก - คีย์หลัก ใช้เพื่อระบุทูเพิลทุกตัวแบบไม่ซ้ำกัน
  • คีย์สำรอง - คีย์สำรองคือคีย์ตัวเลือกที่ไม่ได้ถูกเลือกให้เป็นคีย์หลัก
  • คีย์เฉพาะ- คีย์ที่ไม่ซ้ำจะคล้ายกับคีย์หลัก แต่อนุญาตให้มีค่า NULL เดียวในคอลัมน์
  • คีย์ต่างประเทศ - แอตทริบิวต์ที่สามารถรับเฉพาะค่าปัจจุบันเป็นค่าของแอตทริบิวต์อื่น ๆ คือ คีย์ต่างประเทศ กับแอตทริบิวต์ที่อ้างถึง
  • คีย์คอมโพสิต- คีย์คอมโพสิตคือการรวมกันของคอลัมน์ตั้งแต่สองคอลัมน์ขึ้นไปที่ระบุทูเพิลแต่ละอันโดยไม่ซ้ำกัน

ข้อ จำกัด ที่ใช้ในฐานข้อมูล

ข้อ จำกัด ถูกใช้ในฐานข้อมูลเพื่อระบุกฎสำหรับข้อมูลที่จัดเก็บในตาราง ประเภทต่างๆของ ข้อ จำกัด ใน SQL มีรายละเอียดดังนี้:

ไม่เป็นโมฆะ

ข้อ จำกัด NOT NULL ทำให้แน่ใจว่าคอลัมน์ไม่สามารถมีค่า NULL ได้

ตัวอย่าง

สร้างข้อมูลตารางนักเรียน (StudentID int ไม่เป็นโมฆะ, StudentName varchar (8000) ไม่เป็นโมฆะ, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) ไม่เป็นโมฆะ, เมือง varchar (8000), ประเทศ varchar (8000)) - ไม่เป็นโมฆะ บน ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL

ไม่ซ้ำใคร

ข้อ จำกัด นี้ช่วยให้มั่นใจได้ว่าค่าทั้งหมดในคอลัมน์ไม่ซ้ำกัน

ตัวอย่าง

- UNIQUE บน Create Table CREATE TABLE StudentsInfo (StudentID int not NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000)) - UNIQUE บนหลายคอลัมน์สร้างข้อมูลตารางนักเรียน (StudentID int ไม่เป็นโมฆะ, StudentName varchar (8000) ไม่เป็นโมฆะ, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) ไม่ใช่ NULL, City varchar (8000), ประเทศ varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) - UNIQUE บน ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) - ในการวางข้อ จำกัด ที่ไม่ซ้ำกันให้แก้ไขตารางข้อมูลนักเรียนให้ยกเลิกข้อตกลง UC_Student_Info

ตรวจสอบ

ข้อ จำกัด CHECK ช่วยให้มั่นใจได้ว่าค่าทั้งหมดในคอลัมน์เป็นไปตามเงื่อนไขเฉพาะ

ตัวอย่าง

--CHECK ข้อ จำกัด ในการสร้างตาราง CREATE TABLE StudentsInfo (StudentID int ไม่ใช่ NULL, StudentName varchar (8000) ไม่ใช่ NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) ไม่ใช่ NULL, City varchar (8000), Country varchar ( 8000) CHECK (Country = 'India')) --CHECK Constraint ในหลายคอลัมน์ CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, เมือง varchar (8000), ประเทศ varchar (8000) ตรวจสอบ (ประเทศ = 'อินเดีย' และเมือง = 'ไฮเดอราบาด')) - ตรวจสอบข้อ จำกัด ในการเปลี่ยนแปลงตารางเปลี่ยนตารางนักเรียนข้อมูลเพิ่มการตรวจสอบ (ประเทศ = 'อินเดีย') - เพื่อให้ a ชื่อไปยัง CHECK Constraint ALTER TABLE StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (Country = 'India') - หากต้องการวางข้อ จำกัด การเปลี่ยนแปลงตารางเวลาสำหรับนักเรียน

ค่าเริ่มต้น

ข้อ จำกัด DEFAULT ประกอบด้วยชุดของค่าเริ่มต้นสำหรับคอลัมน์เมื่อไม่มีการระบุค่า

ตัวอย่าง

- ข้อ จำกัด ดีฟอลต์ในการสร้างตาราง CREATE TABLE StudentsInfo (StudentID int, StudentName varchar (8000) ไม่ใช่ NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) ค่าเริ่มต้น 'อินเดีย') - ข้อ จำกัด ดีฟอลต์ในการเปลี่ยนแปลงตารางแก้ไขตารางนักเรียนข้อมูลเพิ่มข้อ จำกัด defau_Country DEFAULT 'อินเดีย' สำหรับประเทศ - หากต้องการวางข้อ จำกัด เริ่มต้นแก้ไขตารางข้อมูลนักเรียนแก้ไขคอลัมน์ประเทศ DROP defau_Country

ดัชนี

ข้อ จำกัด INDEX ใช้เพื่อสร้างดัชนีในตารางซึ่งคุณสามารถสร้างและดึงข้อมูลจากฐานข้อมูลได้อย่างรวดเร็ว

ไวยากรณ์

- สร้างดัชนีที่อนุญาตให้มีค่าที่ซ้ำกัน CREATE INDEX IndexName บน TableName (Column1, Column2, ... ColumnN) - สร้างดัชนีที่ไม่อนุญาตให้มีค่าที่ซ้ำกันสร้างชื่อดัชนีที่ไม่ซ้ำกันบน TableName (Column1, Column2, ... ColumnN)

ตัวอย่าง

สร้างดัชนี idex_StudentName บน StudentsInfo (StudentName) - ในการลบดัชนีในตาราง DROP INDEX StudentsInfo.idex_StudentName

ก้าวต่อไปในบทความเกี่ยวกับบทช่วยสอน SQL Server ตอนนี้ให้เราเข้าใจคำสั่ง Data Manipulation Language ต่างๆที่ใช้ใน Microsoft SQL Server

คำสั่งภาษาการจัดการข้อมูล

ส่วนนี้ของบทความจะครอบคลุมคำสั่งทั้งหมดที่คุณสามารถจัดการกับฐานข้อมูลได้ คำสั่งมีดังนี้:

นอกเหนือจากคำสั่งเหล่านี้แล้วยังมีตัวดำเนินการ / ฟังก์ชันอื่น ๆ เช่น:

ใช้

คำสั่งนี้ใช้เพื่อเลือกฐานข้อมูลเพื่อเริ่มดำเนินการต่างๆ

ไวยากรณ์

ใช้ฐานข้อมูลชื่อ

ตัวอย่าง

ใช้นักเรียน

ใส่ลงใน

คำสั่ง INSERT INTO ใช้เพื่อแทรกระเบียนใหม่ลงในตารางที่มีอยู่

ไวยากรณ์

INSERT INTO TableName (Column1, Column2, Column3, ... , ColumnN) VALUES (value1, value2, value3, ... ) - หากคุณไม่ต้องการกล่าวถึงชื่อคอลัมน์ให้ใช้ไวยากรณ์ด้านล่าง INSERT INTO TableName VALUES (ค่า 1 ค่า 2 ค่า 3 ... )

ตัวอย่าง

INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') INSERT INTO StudentsInfo VALUES (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')

อัปเดต

คำสั่ง UPDATE ใช้เพื่อแก้ไขหรือปรับปรุงระเบียนที่มีอยู่แล้วในตาราง

ไวยากรณ์

อัปเดต TableName SET Column1 = Value1, Column2 = Value2, ... WHERE Condition

ตัวอย่าง

UPDATE StudentsInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1

ลบ

คำสั่ง DELETE ใช้เพื่อลบระเบียนที่มีอยู่ในตาราง

ไวยากรณ์

ลบจาก TableName WHERE Condition

ตัวอย่าง

ลบข้อมูลจากข้อมูลของนักเรียน WHERE StudentName = 'Aahana'

ไป

คำสั่ง MERGE ใช้เพื่อดำเนินการ INSERT, UPDATE และ DELETE บนตารางเฉพาะซึ่งมีการจัดเตรียมตารางต้นทาง ดูด้านล่าง

ไวยากรณ์

ผสาน TagretTableName โดยใช้ SourceTableName บน MergeCondition เมื่อตรงกันแล้ว Update_Statement เมื่อไม่ตรงกันแล้ว Insert_Statement เมื่อไม่ตรงกับแหล่งที่มาแล้วลบ

ตัวอย่าง

เพื่อทำความเข้าใจคำสั่ง MERGE ให้พิจารณาตารางต่อไปนี้เป็นตาราง Source และตาราง Target

ตารางที่มา:

รหัสนักศึกษา ชื่อนักเรียน เครื่องหมาย
หนึ่งฉันเกลียด87
2มานาซ่า92
4Anay74

ตารางเป้าหมาย:

รหัสนักศึกษา ชื่อนักเรียน เครื่องหมาย
หนึ่งฉันเกลียด87
2มานาซ่า67
3Saurabh55
ตัวอย่างการรวมกลุ่มเป้าหมายโดยใช้ SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) เมื่อตรงกันและกำหนดเป้าหมายแหล่งที่มาของชื่อนักศึกษาชื่อนักศึกษาหรือเป้าหมายเครื่องหมายที่มาจากนั้นเครื่องหมายแล้ว UPDATE SET TARGET. SOURCE TARGET. เมื่อไม่ตรงกับเป้าหมายแล้วให้แทรกค่า (StudentID, StudentName, Marks) (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) เมื่อไม่ตรงกับแหล่งที่มาแล้วลบ

เอาต์พุต

รหัสนักศึกษา ชื่อนักเรียน เครื่องหมาย
หนึ่งฉันเกลียด87
2มานาซ่า92
4Anay74

เลือก

คำสั่ง SELECT ใช้เพื่อเลือกข้อมูลจากฐานข้อมูลตารางหรือมุมมอง ข้อมูลที่ส่งคืนจะถูกเก็บไว้ในตารางผลลัพธ์ที่เรียกว่า ชุดผลลัพธ์ .

ไวยากรณ์

SELECT Column1, Column2, ... ColumN FROM TableName - (*) ใช้เพื่อเลือกทั้งหมดจากตาราง SELECT * FROM table_name - ในการเลือกจำนวนระเบียนที่จะส่งคืนการใช้: SELECT TOP 3 * FROM TableName

ตัวอย่าง

- ในการเลือกไม่กี่คอลัมน์ SELECT StudentID, StudentName FROM StudentsInfo - (*) ใช้เพื่อเลือกทั้งหมดจากตาราง SELECT * FROM StudentsInfo - ในการเลือกจำนวนระเบียนที่จะกลับมาใช้: SELECT TOP 3 * FROM StudentsInfo

เรายังสามารถใช้คำสำคัญต่อไปนี้กับคำสั่ง SELECT:

แตกต่าง

คีย์เวิร์ด DISTINCT ใช้กับคำสั่ง SELECT เพื่อส่งคืนเฉพาะค่าที่แตกต่างกัน

ไวยากรณ์

เลือก DISTINCT Column1, Column2, ... ColumnN จาก TableName

ตัวอย่าง

เลือก DISTINCT PhoneNumber จาก StudentsInfo

สั่งโดย

คำสั่งนี้ใช้เพื่อเรียงลำดับผลลัพธ์ที่ต้องการทั้งจากน้อยไปมากหรือมากไปหาน้อย โดยค่าเริ่มต้นผลลัพธ์จะถูกจัดเก็บตามลำดับจากน้อยไปมาก อย่างไรก็ตามหากคุณต้องการได้ผลลัพธ์จากมากไปหาน้อยคุณต้องใช้ไฟล์ DESC คำสำคัญ.

ไวยากรณ์

เลือก Column1, Column2, ... ColumnN จาก TableName ORDER BY Column1, Column2, ... ASC | DESC

ตัวอย่าง

- เลือกนักเรียนทั้งหมดจากตาราง 'StudentsInfo' ที่เรียงตาม ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - เลือกนักเรียนทั้งหมดจากตาราง 'StudentsInfo' ที่เรียงตาม ParentName ในลำดับจากมากไปหาน้อย: SELECT * FROM StudentsInfo ORDER BY ParentName DESC - เลือกนักเรียนทั้งหมดจากตาราง 'StudentsInfo' ที่เรียงตาม ParentName และ StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * เลือกนักเรียนทั้งหมดจากตาราง 'StudentsInfo' ที่เรียงตาม ParentName ในลำดับจากมากไปหาน้อยและ StudentName จากน้อยไปมาก: * / SELECT * จากข้อมูลนักเรียนเรียงลำดับตามชื่อผู้ปกครอง ASC, StudentName DESC

GROUP BY

คำสั่งนี้ใช้กับไฟล์ ฟังก์ชันรวม เพื่อจัดกลุ่มผลลัพธ์ที่กำหนดโดยคอลัมน์อย่างน้อยหนึ่งคอลัมน์

ไวยากรณ์

เลือก Column1, Column2, ... , ColumnN จาก TableName WHERE Condition GROUP BY ColumnName (s) ORDER BY ColumnName (s)

ตัวอย่าง

- เพื่อแสดงจำนวนนักเรียนจากแต่ละเมือง เลือก COUNT (รหัสนักศึกษา) เมืองจากกลุ่มข้อมูลนักเรียนตามเมือง

ชุดการจัดกลุ่ม

GROUPING SETS ถูกนำมาใช้ใน SQL Server 2008 ซึ่งใช้ในการสร้างชุดผลลัพธ์ที่สามารถสร้างโดยไฟล์ ยูเนี่ยนทั้งหมด ของประโยค GROUP BY ง่ายๆ

ไวยากรณ์

เลือก ColumnNames (s) จาก TableName GROUP BY GROUPING SETS (ColumnName (s))

ตัวอย่าง

เลือก StudentID, StudentName, COUNT (เมือง) จากกลุ่ม StudentsInfo โดยการจัดกลุ่ม ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

มี

ประโยคนี้ใช้ในสถานการณ์ที่ คำหลัก WHERE ไม่สามารถใช้งานได้

วิธีค้นหาชนิดข้อมูลใน python

ไวยากรณ์

เลือก ColumnName จาก TableName WHERE Condition GROUP BY ColumnName (s) HAVING Condition ORDER BY ColumnName (s)

ตัวอย่าง

เลือก COUNT (StudentID) เมืองจากกลุ่มข้อมูลนักเรียนตามเมืองที่มี COUNT (StudentID)> 2 ORDER BY COUNT (StudentID) DESC

เข้า

คำหลัก INTO สามารถใช้กับ คำสั่ง SELECT เพื่อคัดลอกข้อมูลจากตารางหนึ่งไปยังอีกตารางหนึ่ง คุณสามารถเข้าใจตารางเหล่านี้ว่าเป็นตารางชั่วคราว โดยทั่วไปตารางชั่วคราวจะใช้เพื่อดำเนินการกับข้อมูลที่มีอยู่ในตารางโดยไม่รบกวนตารางเดิม

ไวยากรณ์

เลือก * ลงใน NewTable [ใน ExternalDB] จาก OldTable WHERE Condition

ตัวอย่าง

- ในการสร้างข้อมูลสำรองของตาราง 'StudentsInfo' SELECT * INTO StudentsBackup จาก StudentsInfo - หากต้องการเลือกเพียงไม่กี่คอลัมน์จาก StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails จาก StudentsInfo SELECT * INTO PuneStudents from StudentsInfo WHERE City = 'Pune'

คิวบ์

CUBE เป็นส่วนขยายของไฟล์ GROUP BY clause . ช่วยให้คุณสามารถสร้างผลรวมย่อยสำหรับชุดค่าผสมทั้งหมดของคอลัมน์การจัดกลุ่มที่ระบุในคำสั่ง GROUP BY

ไวยากรณ์

เลือก ColumnName จาก TableName GROUP BY CUBE (ColumnName1, ColumnName2, ..... , ColumnNameN)

ตัวอย่าง

เลือก StudentID, COUNT (เมือง) จากกลุ่มข้อมูลนักเรียนโดย CUBE (StudentID) สั่งซื้อโดย StudentID

ม้วน

ROLLUP เป็นส่วนขยายของ GROUP BY clause ซึ่งช่วยให้คุณสามารถรวมแถวพิเศษที่แสดงผลรวมย่อย สิ่งเหล่านี้เรียกว่าแถวที่รวมขั้นสูงพร้อมกับแถวผลรวมทั้งหมด

ไวยากรณ์

เลือก ColumnName จาก TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ..... , ColumnNameN)

ตัวอย่าง

เลือก StudentID, COUNT (เมือง) จากกลุ่มข้อมูลของนักเรียนโดย ROLLUP (StudentID)

ออฟเซ็ต

ส่วนคำสั่ง OFFSET ใช้กับ SELECT และ สั่งซื้อตามคำสั่ง เพื่อดึงข้อมูลช่วงของระเบียน ต้องใช้กับคำสั่ง ORDER BY เนื่องจากไม่สามารถใช้งานได้ด้วยตัวเอง นอกจากนี้ช่วงที่คุณพูดถึงต้องเท่ากับหรือมากกว่า 0 หากคุณกล่าวถึงค่าลบจะแสดงข้อผิดพลาด

ไวยากรณ์

เลือก ColumnNames) จาก TableName WHERE Condition ORDER BY ColumnName (s) OFFSET RowsToSkip ROWS

ตัวอย่าง

พิจารณาคอลัมน์ใหม่ เครื่องหมาย ใน ข้อมูลนักเรียน โต๊ะ.

เลือก StudentName, ParentName จาก StudentsInfo ORDER BY Marks OFFSET 1 ROWS

ค้นหา

คำสั่ง FETCH ใช้เพื่อส่งคืนชุดของแถวจำนวนหนึ่ง จะต้องใช้ร่วมกับส่วนคำสั่ง OFFSET

ไวยากรณ์

เลือก ColumnNames) จาก TableName WHERE Condition ORDER BY ColumnName (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows ROWS only

ตัวอย่าง

เลือก StudentName, ParentName จาก StudentsInfo ORDER BY Marks OFFSET 1 ROWS FETCH NEXT 1 ROWS only

TOP

คำสั่ง TOP ใช้กับคำสั่ง SELECT เพื่อระบุจำนวนระเบียนที่จะส่งคืน

ไวยากรณ์

เลือกชื่อคอลัมน์หมายเลขสูงสุดจาก TableName WHERE Condition

ตัวอย่าง

เลือก 3 อันดับแรก * จากข้อมูลของนักเรียน

หมุน

PIVOT ใช้เพื่อหมุนแถวเป็นค่าคอลัมน์และเรียกใช้การรวมเมื่อต้องการกับค่าคอลัมน์ที่เหลือ

ไวยากรณ์

SELECT NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Last Pivoted ColumnName] AS ColumnName FROM (SELECT query ที่สร้างข้อมูล) AS [alias สำหรับการสืบค้นเริ่มต้น] PIVOT ([AggregationFunction] (ColumName) สำหรับ [ColumnName ของคอลัมน์ที่ค่าจะกลายเป็นส่วนหัวของคอลัมน์] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last pivoted column])) AS [นามแฝงสำหรับ Pivot Table]

ตัวอย่าง

หากต้องการดูตัวอย่างโดยละเอียดคุณสามารถอ้างถึง บทความของฉันเกี่ยวกับ SQL PIVOT และ UNPIVOT . ถัดไปในบทช่วยสอน SQL Server นี้ให้เราดูตัวดำเนินการต่างๆที่รองรับโดย Microsoft SQL Server

ตัวดำเนินการ

ตัวดำเนินการประเภทต่างๆ รองรับโดย SQL Server ดังนี้:

ให้เราคุยกันทีละคน

ตัวดำเนินการเลขคณิต

ตัวดำเนินการ ความหมาย ไวยากรณ์

+

ส่วนที่เพิ่มเข้าไป

นิพจน์ + นิพจน์

-

การลบ

นิพจน์ - การแสดงออก

*

การคูณ

นิพจน์ * นิพจน์

/

หาร

นิพจน์ / การแสดงออก

%

Modulous

นิพจน์นิพจน์

ผู้ดำเนินการมอบหมาย

ตัวดำเนินการ ความหมาย ไวยากรณ์

=

กำหนดค่าให้กับตัวแปร

ตัวแปร = 'ค่า'

ตัวดำเนินการ Bitwise

ตัวดำเนินการ ความหมาย ไวยากรณ์

& (Bitwise AND)

ใช้เพื่อดำเนินการเชิงตรรกะ AND แบบบิตระหว่างค่าจำนวนเต็มสองค่า

การแสดงออกและการแสดงออก

& = (Bitwise และการกำหนด)

ใช้เพื่อดำเนินการเชิงตรรกะ AND แบบบิตระหว่างค่าจำนวนเต็มสองค่า นอกจากนี้ยังตั้งค่าให้กับผลลัพธ์ของการดำเนินการ

นิพจน์ & = นิพจน์

| (Bitwise หรือ)

ใช้เพื่อดำเนินการหรือการดำเนินการเชิงตรรกะแบบบิตระหว่างค่าจำนวนเต็มสองค่าที่แปลเป็นนิพจน์ไบนารีภายในคำสั่ง Transact-SQL

นิพจน์ | นิพจน์

| = (Bitwise หรือการกำหนด)

ใช้เพื่อดำเนินการหรือการดำเนินการเชิงตรรกะแบบบิตระหว่างค่าจำนวนเต็มสองค่าที่แปลเป็นนิพจน์ไบนารีภายในคำสั่ง Transact-SQL นอกจากนี้ยังตั้งค่าให้กับผลลัพธ์ของการดำเนินการ

นิพจน์ | = นิพจน์

^ (Bitwise Exclusive หรือ)

ใช้เพื่อดำเนินการหรือการดำเนินการแบบบิตพิเศษระหว่างค่าจำนวนเต็มสองค่า

นิพจน์ ^ นิพจน์

^ = (Bitwise Exclusive หรือ Assignment)

ใช้เพื่อดำเนินการหรือการดำเนินการแบบบิตพิเศษระหว่างค่าจำนวนเต็มสองค่า นอกจากนี้ยังตั้งค่าให้กับผลลัพธ์ของการดำเนินการ

นิพจน์ ^ = นิพจน์

~ (ไม่ใช้บิต)

ใช้เพื่อดำเนินการบิตตรรกะ NOT กับค่าจำนวนเต็ม

~ การแสดงออก

ตัวดำเนินการเปรียบเทียบ

ตัวดำเนินการ ความหมาย ไวยากรณ์

=

เท่ากับ

expression = นิพจน์

>

มากกว่า

นิพจน์> นิพจน์

<

น้อยกว่า

นิพจน์

> =

มากกว่าหรือเท่ากับ

นิพจน์> = นิพจน์

<=

น้อยกว่าหรือเท่ากับ

นิพจน์<= expression

ไม่เท่ากับ

การแสดงออกทางสีหน้า

! =

ไม่เท่ากับ

นิพจน์! = expression

!<

ไม่น้อยกว่า

สำนวน!

!>

ไม่เกิน

นิพจน์!> นิพจน์

ตัวดำเนินการผสม

ตัวดำเนินการ ความหมาย ไวยากรณ์

+ =

ใช้เพื่อเพิ่มมูลค่าให้กับค่าเดิมและกำหนดค่าเดิมให้กับผลลัพธ์

นิพจน์ + = นิพจน์

- =

ใช้เพื่อลบค่าออกจากค่าเดิมและตั้งค่าเดิมเป็นผลลัพธ์

นิพจน์ - = นิพจน์

* =

ใช้เพื่อคูณค่ากับค่าเดิมและตั้งค่าเดิมเป็นผลลัพธ์

นิพจน์ * = นิพจน์

/ =

ใช้เพื่อหารค่าจากค่าเดิมและกำหนดค่าเดิมให้กับผลลัพธ์

นิพจน์ / = นิพจน์

% =

ใช้เพื่อหารค่าจากค่าเดิมและกำหนดค่าเดิมให้กับผลลัพธ์

นิพจน์% = นิพจน์

& =

ใช้เพื่อดำเนินการบิตและการดำเนินการและตั้งค่าเดิมเป็นผลลัพธ์

นิพจน์ & = นิพจน์

^ =

ใช้เพื่อดำเนินการหรือการดำเนินการเฉพาะแบบบิตและตั้งค่าเดิมเป็นผลลัพธ์

นิพจน์ ^ = นิพจน์

| =

ใช้เพื่อดำเนินการบิตหรือการดำเนินการและตั้งค่าเดิมเป็นผลลัพธ์

นิพจน์ | = นิพจน์

ตัวดำเนินการทางตรรกะ

ตัวดำเนินการ ความหมาย ไวยากรณ์

ทั้งหมด

ส่งคืนค่า TRUE หากชุดการเปรียบเทียบทั้งหมดเป็น TRUE

scalar_expression! = ALL (เคียวรีย่อย)

และ

ส่งคืนค่า TRUE หากนิพจน์ทั้งสองเป็น TRUE

boolean_expression และ boolean_expression

ใด ๆ

ส่งคืนค่า TRUE หากการเปรียบเทียบชุดใดชุดหนึ่งเป็น TRUE

scalar_expression! = {ANY} (แบบสอบถามย่อย)

ระหว่าง

ส่งคืนค่า TRUE หากตัวถูกดำเนินการอยู่ในช่วง

การแสดงออกของตัวอย่าง [NOT] ระหว่างการเริ่มต้นและความพยายามในการแสดงออก

EXISTS

ส่งคืนค่า TRUE หากคิวรีย่อยมีแถวใด ๆ

EXISTS (แบบสอบถามย่อย)

ใน

ส่งคืนค่า TRUE หากตัวถูกดำเนินการเท่ากับหนึ่งในรายการนิพจน์

test_expression [NOT] IN (เคียวรีย่อย | นิพจน์ [, … n])

ชอบ

ส่งคืนค่า TRUE หากตัวถูกดำเนินการตรงกับรูปแบบ

match_expression [NOT] รูปแบบ LIKE [ESCAPE escape_character]

ไม่

กลับค่าของตัวดำเนินการบูลีนใด ๆ

[NOT] boolean_expression

หรือ

ส่งคืนค่า TRUE หากนิพจน์บูลีนอย่างใดอย่างหนึ่งเป็น TRUE

boolean_expression หรือ boolean_expression

บาง

ส่งคืนค่า TRUE หากการเปรียบเทียบบางชุดเป็น TRUE

scalar_expression<= { SOME} ( subquery )

ตัวดำเนินการแก้ไขขอบเขต

ตัวดำเนินการ ความหมาย ตัวอย่าง

::

ให้การเข้าถึงสมาชิกแบบคงที่ของชนิดข้อมูลผสม ประเภทข้อมูลแบบผสมคือประเภทข้อมูลที่มีหลายวิธีและประเภทข้อมูลอย่างง่าย ประเภทข้อมูลแบบผสมซึ่งรวมถึงประเภท CLR ในตัวและ SQLCLR User-Defined types (UDTs) ที่กำหนดเอง

ประกาศ @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid ToString ()

ตั้งค่าตัวดำเนินการ

ส่วนใหญ่มีการดำเนินการสามชุด:ยูเนี่ยน,ตัด,ลบ. คุณสามารถอ้างถึงรูปภาพด้านล่างเพื่อทำความเข้าใจการดำเนินการชุดใน SQL ดูภาพด้านล่าง:

ตัวดำเนินการ ความหมาย ไวยากรณ์

ยูเนี่ยน

ตัวดำเนินการ UNION ใช้เพื่อรวมชุดผลลัพธ์ของคำสั่ง SELECT ตั้งแต่สองชุดขึ้นไป

เลือก ColumnName จาก Table1
ยูเนี่ยน
เลือก ColumnName จาก Table2

ตัด

คำสั่ง INTERSECT ใช้เพื่อรวมสองเลือกและส่งกลับจุดตัดของชุดข้อมูลของทั้งคำสั่ง SELECT

เลือก Column1, Column2 ….
จาก TableName
ที่ไหนเงื่อนไข
ตัด
เลือก Column1, Column2 ….
จาก TableName
ที่ไหนเงื่อนไข

ยกเว้น

ตัวดำเนินการ EXCEPT ส่งคืนสิ่งเหล่านั้นที่ส่งคืนโดยการดำเนินการ SELECT แรกและจะไม่ส่งคืนโดยการดำเนินการ SELECT ที่สอง

เลือก ColumnName
จาก TableName
ยกเว้น
เลือก ColumnName
จาก TableName

ตัวดำเนินการสตริง

ตัวดำเนินการ ความหมาย ไวยากรณ์ / ตัวอย่าง

+ (การต่อสตริง)

เชื่อมต่อไบนารีหรือสตริงอักขระคอลัมน์หรือการรวมกันของสตริงและชื่อคอลัมน์สองรายการขึ้นไปเป็นนิพจน์เดียว

นิพจน์ + นิพจน์

+ = (การต่อสตริง)

ใช้เพื่อเชื่อมสองสตริงและตั้งค่าสตริงเป็นผลลัพธ์ของการดำเนินการ

นิพจน์ + = นิพจน์

% (อักขระตัวแทนที่จะจับคู่)

ใช้เพื่อจับคู่สตริงที่มีอักขระศูนย์ขึ้นไป

ตัวอย่าง: 'sample%'

[] (อักขระตัวแทนที่จะจับคู่)

ใช้เพื่อจับคู่อักขระเดี่ยวภายในช่วงที่ระบุหรือชุดที่ระบุไว้ระหว่างวงเล็บ []

ตัวอย่าง: m [n-z]% ’

[^] (อักขระตัวแทนที่จะจับคู่)

ใช้เพื่อจับคู่อักขระเดี่ยวที่ไม่อยู่ในช่วงหรือชุดที่ระบุระหว่างวงเล็บเหลี่ยม

ตัวอย่าง: 'Al [^ a]%'

_ (อักขระตัวแทนที่จะจับคู่)

ใช้เพื่อจับคู่อักขระเดี่ยวในการดำเนินการเปรียบเทียบสตริง

test_expression [NOT] IN (เคียวรีย่อย | นิพจน์ [, … n])

รวม ฟังก์ชั่น

ความแตกต่าง ฟังก์ชันรวม รองรับโดย SQL Server ดังนี้:

ฟังก์ชัน คำอธิบาย ไวยากรณ์ ตัวอย่าง

SUM ()

ใช้เพื่อส่งคืนผลรวมของกลุ่มค่า

เลือก SUM (ColumnName) จาก TableName

เลือก SUM (Marks) จาก StudentsInfo

นับ()

ส่งคืนจำนวนแถวตามเงื่อนไขหรือไม่มีเงื่อนไข

เลือก COUNT (ColumnName) จาก TableName WHERE Condition

เลือก COUNT (รหัสนักเรียน) จากข้อมูลนักเรียน

AVG ()

ใช้ในการคำนวณค่าเฉลี่ยของคอลัมน์ตัวเลข

เลือก AVG (ColumnName) จาก TableName

เลือก AVG (Marks) จาก StudentsInfo

ขั้นต่ำ ()

ฟังก์ชันนี้ส่งคืนค่าต่ำสุดของคอลัมน์

เลือก MIN (ColumnName) จาก TableName

เลือก MIN (ทำเครื่องหมาย) จากข้อมูลนักเรียน

สูงสุด ()

ส่งคืนค่าสูงสุดของคอลัมน์

เลือก MAX (ColumnName) จาก TableName

เลือก MAX (เครื่องหมาย) จากข้อมูลนักเรียน

FIRST ()

ใช้เพื่อส่งคืนค่าแรกของคอลัมน์

เลือก FIRST (ColumnName) จาก TableName

เลือก FIRST (Marks) จาก StudentsInfo

ล่าสุด()

ฟังก์ชันนี้จะส่งคืนค่าสุดท้ายของคอลัมน์

เลือก LAST (ColumnName) จาก TableName

เลือกสุดท้าย (เครื่องหมาย) จากข้อมูลของนักเรียน

ฟังก์ชันที่ผู้ใช้กำหนดเอง

Microsoft SQL Server อนุญาตให้ผู้ใช้สร้างฟังก์ชันที่ผู้ใช้กำหนดเองซึ่งเป็นกิจวัตร รูทีนเหล่านี้ยอมรับพารามิเตอร์สามารถดำเนินการที่เรียบง่ายไปจนถึงซับซ้อนและส่งคืนผลลัพธ์ของการกระทำนั้นเป็นค่า ในที่นี้ค่าที่ส่งคืนอาจเป็นค่าสเกลาร์เดี่ยวหรือชุดผลลัพธ์ที่สมบูรณ์

คุณสามารถใช้ฟังก์ชันที่ผู้ใช้กำหนดเพื่อ:

  • อนุญาตการเขียนโปรแกรมแบบโมดูล
  • ลดปริมาณการใช้งานเครือข่าย
  • อนุญาตให้ดำเนินการสืบค้นได้เร็วขึ้น

นอกจากนี้ยังมีฟังก์ชันที่ผู้ใช้กำหนดเองประเภทต่างๆที่คุณสามารถสร้างได้ พวกเขาคือ:

  • ฟังก์ชันสเกลาร์: เคยส่งคืนค่าข้อมูลเดียวของประเภทที่กำหนดในส่วนคำสั่ง RETURNS
  • ฟังก์ชัน Table-Valued: เคยกลับกโต๊ะประเภทข้อมูล.
  • ฟังก์ชั่นระบบ: SQL Server มีฟังก์ชันระบบที่หลากหลายเพื่อดำเนินการต่างๆ

นอกเหนือจากฟังก์ชันที่ผู้ใช้กำหนดแล้วยังมีฟังก์ชันที่สร้างขึ้นใน SQL Server อีกมากมายซึ่งสามารถใช้เพื่อทำงานได้หลากหลาย ในบทความเกี่ยวกับบทช่วยสอน SQL Server ตอนนี้ให้เราเข้าใจสิ่งที่เป็นแบบสอบถามซ้อนกัน

แบบสอบถามที่ซ้อนกัน

แบบสอบถามที่ซ้อนกัน คือคำค้นหาที่มีแบบสอบถามภายนอกและแบบสอบถามย่อยภายใน โดยพื้นฐานแล้วแบบสอบถามย่อยคือแบบสอบถามที่ซ้อนอยู่ภายในแบบสอบถามอื่นเช่น SELECT, INSERT, UPDATE หรือ DELETE ดูภาพด้านล่าง:

ถัดไปในบทช่วยสอน SQL Server นี้ให้เราเข้าใจการรวมประเภทต่างๆใน SQL

เข้าร่วม

ใช้เพื่อรวม tuples จากสองตารางขึ้นไปโดยยึดตามคอลัมน์ที่เกี่ยวข้องระหว่างตาราง การรวมมีสี่ประเภท:

พิจารณาตารางต่อไปนี้พร้อมกับตาราง StudentsInfo เพื่อทำความเข้าใจไวยากรณ์ของการรวม

SubjectID รหัสนักศึกษา SubjectName
1010คณิตศาสตร์
2สิบเอ็ดฟิสิกส์
312เคมี

เข้าร่วมภายใน

ไวยากรณ์

เลือก ColumnName (s) จากตาราง 1 INNER JOIN Table2 บน Table1.ColumnName = Table2.ColumnName

ตัวอย่าง

เลือก Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID

เข้าร่วมทางซ้าย

ไวยากรณ์

เลือก ColumnName (s) จากตาราง 1 LEFT JOIN Table2 บน Table1.ColumnName = Table2.ColumnName

ตัวอย่าง

เลือก StudentsInfo.StudentName, Subjects.SubjectID จาก StudentsInfo LEFT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

เข้าร่วมอย่างถูกต้อง

ไวยากรณ์

เลือก ColumnName (s) จากตาราง 1 RIGHT JOIN Table2 บน Table1.ColumnName = Table2.ColumnName

ตัวอย่าง

เลือก StudentsInfo.StudentName, Subjects.SubjectID จาก StudentsInfo RIGHT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

เข้าร่วมเต็มรูปแบบ

ไวยากรณ์

เลือก ColumnName (s) จากตาราง 1 FULL OUTER JOIN Table2 บน Table1.ColumnName = Table2.ColumnName

ตัวอย่าง

เลือก StudentsInfo.StudentName, Subjects.StudentID จาก StudentsInfo FULL OUTER JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

ต่อไปในบทความเกี่ยวกับบทช่วยสอน SQL Server นี้ให้เราเข้าใจประเภทต่างๆของลูปที่รองรับโดย SQL Server

ลูป

คำสั่ง control-of-flow ที่แตกต่างกันมีดังนี้:

ให้เราคุยกันทีละคน

BEGIN..END

คำหลักเหล่านี้ใช้เพื่อปิดชุดคำสั่ง SQL จากนั้นกลุ่มของคำสั่ง SQL นี้สามารถดำเนินการได้

ไวยากรณ์

BEGIN คำชี้แจงบล็อก END

หยุดพัก

คำสั่งนี้ใช้เพื่อออกจากลูป WHILE ปัจจุบัน ในกรณีที่ลูป WHILE ปัจจุบันซ้อนอยู่ภายในลูปอื่นจากนั้นคำสั่ง BREAK จะออกจากลูปปัจจุบันเท่านั้นและการควบคุมจะถูกส่งต่อไปยังคำสั่งถัดไปในลูปปัจจุบัน โดยทั่วไปคำสั่ง BREAK จะใช้ภายในคำสั่ง IF

ไวยากรณ์

หยุดพัก

ดำเนินการต่อ

คำสั่ง CONTINUE ใช้เพื่อรีสตาร์ทลูปในขณะที่ ดังนั้นคำสั่งใด ๆ หลังจากคำหลัก CONTINUE จะถูกละเว้น

ไวยากรณ์

ดำเนินการต่อ

ที่นี่ Label คือจุดที่การประมวลผลจะเริ่มขึ้นหาก GOTO ถูกกำหนดเป้าหมายไปยังป้ายกำกับนั้น ๆ

ไปที่

ใช้เพื่อเปลี่ยนขั้นตอนของการดำเนินการเป็นเลเบล ข้อความที่เขียนหลังจากคีย์เวิร์ด GOTO จะถูกข้ามไปและการประมวลผลจะดำเนินต่อไปที่เลเบล

ไวยากรณ์

กำหนดป้ายกำกับ: Label: Alter Execution: GOTO Label

ที่นี่ Label คือจุดที่การประมวลผลจะเริ่มขึ้นหาก GOTO ถูกกำหนดเป้าหมายไปยังป้ายกำกับนั้น ๆ

IF..ELSE

เช่นเดียวกับภาษาโปรแกรมอื่น ๆ คำสั่ง If-else ใน SQL Server จะทดสอบเงื่อนไขและหากเงื่อนไขเป็นเท็จคำสั่ง 'else' จะถูกดำเนินการ

ไวยากรณ์

IF BooleanExpression StatementBlock [ELSE StatementBlock]

กลับ

ใช้เพื่อออกจากแบบสอบถามหรือขั้นตอนโดยไม่มีเงื่อนไข ดังนั้นคำสั่งที่เขียนหลังจากส่วนคำสั่ง RETURN จะไม่ถูกดำเนินการ

ไวยากรณ์

ส่งกลับ [IntegerExpression]

ที่นี่ค่าจำนวนเต็มจะถูกส่งกลับ

รอ

โฟลว์การควบคุม WAITFOR ถูกใช้เพื่อบล็อกการดำเนินการของกระบวนงานที่เก็บไว้ธุรกรรมหรือชุดงานจนกว่าคำสั่งเฉพาะจะแก้ไขส่งกลับอย่างน้อยหนึ่งแถวหรือเวลาหรือช่วงเวลาที่กำหนด

ไวยากรณ์

WAITFOR (GetConversionGroupStatement)] [, หมดเวลา TIMEOUT]

ที่ไหน

  • ดีเลย์ - ช่วงเวลาที่ต้องผ่านไป
  • TimeToPass - ปช่วงเวลาที่รอคอย
  • เวลา -เวลาที่กระบวนงานที่เก็บไว้ธุรกรรมหรือชุดงานทำงาน
  • TimeToExecute -เวลาที่คำสั่ง WAITFOR เสร็จสิ้น
  • RecieveStatement - ถึงคำสั่ง RECEIVE ที่ถูกต้อง
  • GetConversionGroupStatement - ถึงคำสั่ง GET CONVERSATION GROUP ที่ถูกต้อง
  • หมดเวลา TIMEOUT - ระบุช่วงเวลาเป็นมิลลิวินาทีเพื่อรอให้ข้อความมาถึงคิว

ในขณะที่

ลูปนี้ใช้เพื่อกำหนดเงื่อนไขสำหรับการดำเนินการคำสั่ง SQL ซ้ำ ๆ หรือบล็อกคำสั่ง SQL คำสั่งจะดำเนินการตราบเท่าที่เงื่อนไขที่ผู้ใช้กล่าวถึงคือ TRUE ทันทีที่เงื่อนไขล้มเหลวลูปจะหยุดทำงาน

ไวยากรณ์

ในขณะที่คำชี้แจงนิพจน์บูลีนบล็อก

ตอนนี้พวกคุณรู้คำสั่ง DML แล้วเรามาดูหัวข้อถัดไปกันในบทความนี้เกี่ยวกับ SQL Tutorial นั่นคือคำสั่ง DCL

คำสั่งภาษาควบคุมข้อมูล (DCL)

บทช่วยสอน SQL Server ส่วนนี้จะให้แนวคิดเกี่ยวกับคำสั่งที่ใช้เพื่อบังคับใช้ความปลอดภัยของฐานข้อมูลในสภาพแวดล้อมฐานข้อมูลผู้ใช้หลายคน คำสั่งมีดังนี้:

GRANT

คำสั่ง GRANT ใช้เพื่อให้การเข้าถึงหรือสิทธิพิเศษบนฐานข้อมูลและอ็อบเจ็กต์แก่ผู้ใช้

ไวยากรณ์

GRANT PrivilegeName บน ObjectName ถึง RoleName [พร้อม GRANT OPTION]

ที่ไหน

  • PrivilegeName - เป็นสิทธิ์ / สิทธิ์ / การเข้าถึงที่มอบให้กับผู้ใช้
  • ObjectName - ชื่อของวัตถุฐานข้อมูลเช่น TABLE / VIEW / STORED PROC
  • UserName - ชื่อผู้ใช้ที่ได้รับสิทธิ์การเข้าถึง / สิทธิ / สิทธิพิเศษ
  • สาธารณะ - เพื่อให้สิทธิ์การเข้าถึงแก่ผู้ใช้ทุกคน
  • RoleName - ชื่อของชุดสิทธิพิเศษที่รวมกลุ่มกัน
  • ด้วย GRANT OPTION - เพื่อให้ผู้ใช้เข้าถึงเพื่อให้สิทธิ์แก่ผู้ใช้รายอื่น

ตัวอย่าง

- เพื่อให้สิทธิ์เลือกตาราง StudentsInfo แก่ user1 GRANT SELECT ON StudentsInfo TO user1

ถอน

คำสั่ง REVOKE ใช้เพื่อถอนสิทธิ์การเข้าถึงของผู้ใช้ที่ได้รับโดยใช้คำสั่ง GRANT

ไวยากรณ์

REVOKE PrivilegeName บน ObjectName จาก PUBLIC

ตัวอย่าง

- หากต้องการเพิกถอนสิทธิ์ที่ได้รับจาก user1 REVOKE SELECT ON StudentsInfo TO user1

ในบทช่วยสอน SQL Server นี้ให้เราเข้าใจวิธีการสร้างและใช้ Stored Procedures

กระบวนงานที่จัดเก็บ

กระบวนงานที่จัดเก็บ เป็นหน่วยที่ใช้ซ้ำได้ซึ่งห่อหุ้มตรรกะทางธุรกิจเฉพาะของแอปพลิเคชัน ดังนั้นจึงเป็นกลุ่มของคำสั่ง SQL และตรรกะที่รวบรวมและจัดเก็บไว้ด้วยกันเพื่อทำงานเฉพาะ

ไวยากรณ์

สร้าง [หรือแทนที่] PROCEDURE procedure_name [(parameter_name [IN | OUT | IN OUT] type [])] IS BEGIN [declaration_section] executable_section // คำสั่ง SQL ที่ใช้ในโพรซีเดอร์ที่จัดเก็บ END GO

ตัวอย่าง

- สร้างโพรซีเดอร์ที่จะส่งคืนชื่อนักเรียนเมื่อ StudentId ถูกกำหนดให้เป็นพารามิเตอร์อินพุตไปยังโพรซีเดอร์ที่เก็บไว้ Create PROCEDURE GetStudentName (@StudentId INT, --Input parameter, @StudName VARCHAR (50) OUT --Output parameter, AS BEGIN SELECT @StudName = StudentName จาก StudentsInfo WHERE StudentID = @ StudentId END

ขั้นตอนในการดำเนินการ:

      • ประกาศ @StudName เป็น nvarchar (50)
      • EXEC GetStudentName 01, เอาต์พุต @StudName
      • เลือก @StudName

ขั้นตอนข้างต้นส่งคืนชื่อของนักเรียนคนหนึ่งในการให้รหัสนักเรียนเป็นอินพุต ถัดไปในบทช่วยสอน SQL Server นี้ให้เราเข้าใจคำสั่งภาษาควบคุมธุรกรรม

คำสั่งภาษาควบคุมธุรกรรม (TCL)

บทช่วยสอน SQL Server ส่วนนี้จะให้ข้อมูลเชิงลึกเกี่ยวกับคำสั่งที่ใช้ในการจัดการธุรกรรมในฐานข้อมูลคำสั่งมีดังนี้:

คอมมิต

คำสั่ง COMMIT ใช้เพื่อบันทึกธุรกรรมลงในฐานข้อมูล

ไวยากรณ์

คอมมิต

ย้อนกลับ

คำสั่ง ROLLBACK ใช้เพื่อกู้คืนฐานข้อมูลกลับสู่สถานะสุดท้ายที่คอมมิต

ไวยากรณ์

ย้อนกลับ

บันทึก: เมื่อคุณใช้ ROLLBACK กับ SAVEPOINT คุณสามารถข้ามไปยังจุดบันทึกได้โดยตรงในธุรกรรมต่อเนื่อง ไวยากรณ์: ROLLBACK TO SavepointName

ประหยัด

คำสั่ง SAVEPOINT ใช้เพื่อบันทึกธุรกรรมชั่วคราว ดังนั้นหากคุณต้องการย้อนกลับไปที่จุดใดจุดหนึ่งคุณสามารถบันทึกจุดนั้นเป็น 'SAVEPOINT' ได้

ไวยากรณ์

SAVEPOINT SAVEPOINTNAME

พิจารณาตารางด้านล่างเพื่อทำความเข้าใจการทำงานของธุรกรรมในฐานข้อมูล

รหัสนักศึกษา ชื่อนักเรียน
หนึ่งRohit
2สุฮานะ
3Ashish
4พรีนา

ตอนนี้ใช้ด้านล่าง เพื่อทำความเข้าใจธุรกรรมในฐานข้อมูล

INSERT INTO StudentTable VALUES (5, 'Avinash') COMMIT UPDATE StudentTable SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 INSERT INTO StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT INTO StudentTable VALUES (7, 'Sanjay ') SAVEPOINT S3 INSERT INTO StudentTable VALUES (8,' Veena ') SAVEPOINT S4 SELECT * จาก StudentTable

ถัดไปในบทความเกี่ยวกับบทช่วยสอน SQL Server นี้ให้เราเข้าใจวิธีจัดการข้อยกเว้นใน Transact-SQL

การจัดการข้อยกเว้น

มีข้อยกเว้นสองประเภท ได้แก่ ข้อยกเว้นที่ระบบกำหนดและข้อยกเว้นที่ผู้ใช้กำหนดเอง ตามชื่อที่แนะนำการจัดการข้อยกเว้นคือกระบวนการที่ผู้ใช้สามารถจัดการกับข้อยกเว้นที่สร้างขึ้น ในการจัดการข้อยกเว้นคุณต้องเข้าใจคำสั่งโฟลวการควบคุมต่อไปนี้:

โยน

ประโยคนี้ใช้เพื่อเพิ่มข้อยกเว้นและโอนการดำเนินการไปยังบล็อก CATCH ของโครงสร้าง TRY … CATCH

ไวยากรณ์

THROW [ErrorNumber, @localvariable, State] []

ที่ไหน

  • ErrorNumber - ถึงค่าคงที่หรือตัวแปรที่แสดงถึงข้อยกเว้น
  • ข้อความ - ถึงตัวแปรหรือสตริงที่อธิบายข้อยกเว้น
  • สถานะ -ค่าคงที่หรือตัวแปรระหว่าง 0 ถึง 255 ที่ระบุสถานะที่จะเชื่อมโยงกับข้อความ
THROW 51000, 'ไม่มีบันทึก', 1

TRY..CATCH

ใช้เพื่อใช้การจัดการข้อยกเว้นใน Transact-SQL กลุ่มของคำสั่งสามารถอยู่ในบล็อก TRY ในกรณีที่มีข้อผิดพลาดเกิดขึ้นในบล็อก TRY การควบคุมจะถูกส่งผ่านไปยังกลุ่มของคำสั่งอื่นที่อยู่ในบล็อก CATCH

ไวยากรณ์

BEGIN TRY StatementBlock END TRY BEGIN CATCH [StatementBlock] END CATCH []
BEGIN TRY SELECT * จากข้อมูลของนักเรียน END TRY BEGIN CATCH SELECT ERROR_NUMBER () เป็น ErNum, ERROR_MESSAGE () AS ErMsg END CATCH

ใน เรามาถึงตอนท้ายของบทความเกี่ยวกับ SQL Server Tutorial ฉันหวังว่าคุณจะสนุกกับการอ่านบทความนี้เกี่ยวกับการสอน SQL Server สำหรับผู้เริ่มต้นผม หากคุณต้องการรับการฝึกอบรมที่มีโครงสร้างเกี่ยวกับ MySQL จากนั้นตรวจสอบไฟล์ ซึ่งมาพร้อมกับการฝึกอบรมสดที่นำโดยผู้สอนและประสบการณ์โครงการในชีวิตจริง การฝึกอบรมนี้จะช่วยให้คุณเข้าใจ MySQL ในเชิงลึกและช่วยให้คุณบรรลุความเชี่ยวชาญในเรื่องนั้น ๆ มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของ ' การสอน SQL Server ” แล้วฉันจะติดต่อกลับไป