SAP HANA SQL: เรียนรู้คำสั่งพื้นฐานใน 10 นาที
⚡ สรุปอย่างชาญฉลาด
SAP HANA SQL เป็นภาษาฐานข้อมูลหลักของแพลตฟอร์ม ทำหน้าที่จัดการการกำหนดโครงสร้างข้อมูล การจัดการข้อมูล การควบคุมการเข้าถึง และการจัดการเซสชัน โดยปฏิบัติตามมาตรฐานที่ทำให้ SQL สามารถใช้งานได้กับฐานข้อมูลเชิงสัมพันธ์ต่างๆ

ฐานข้อมูล RDBMS ส่วนใหญ่ใช้ SQL ในฐานะภาษาฐานข้อมูล เหตุผลที่ได้รับความนิยมคือ เป็นภาษาที่มีประสิทธิภาพ ผู้จำหน่ายเป็นอิสระและมีมาตรฐาน SAP HANA ยังรองรับ SQL ด้วย
In SAP HANA, SQL เป็นภาษาฐานข้อมูลหลัก
ความหมายของ SAP ฮาน่า SQL?
SQL ย่อมาจาก Structured Query Language เป็นภาษามาตรฐานสำหรับการสื่อสารกับฐานข้อมูลเชิงสัมพันธ์เช่น Oracle, MySQL เป็นต้น SQL ใช้เพื่อจัดเก็บ เรียกค้น และแก้ไขข้อมูลในฐานข้อมูล
โดยใช้ SQL ใน SAP ฮาน่า เราสามารถทำหน้าที่ดังต่อไปนี้ได้
- คำจำกัดความของสคีมาและการใช้งาน (CREATE SCHEMA)
- คำสั่ง DML (SELECT, UPDATE, INSERT)
- คำสั่ง DDL (CREATE, ALTER, DROP)
- คำแถลงของ DCL (อนุมัติ, เพิกถอน)
- การจัดการระบบ
- การจัดการเซสชัน
- การจัดการการทำธุรกรรม
คำสั่งต่างๆ จะถูกดำเนินการจากคอนโซล SQL ของ SAP ฮานะ สตูดิโอไม่ว่าจะใช้งานจากไคลเอนต์แบบบรรทัดคำสั่ง หรือจากแอปพลิเคชันที่เชื่อมต่อผ่าน JDBC หรือ ODBC ภาษาที่ใช้จะเหมือนกันในทุกกรณี
หมวดหมู่คำสั่ง SQL ใน SAP HANA
ทุกข้อความล้วนเป็นของกลุ่มข้อมูลจำนวนน้อยกลุ่มหนึ่ง การทราบว่าข้อความนั้นอยู่ในกลุ่มใดจะช่วยให้คาดการณ์ได้ว่าสามารถย้อนกลับข้อความนั้นได้หรือไม่ และต้องได้รับอนุญาตอย่างไร
| Category | ชื่อ | คำกล่าวทั่วไป | จุดมุ่งหมาย |
|---|---|---|---|
| DDL | ภาษานิยามข้อมูล | สร้าง แก้ไข ลบ เปลี่ยนชื่อ | กำหนดและเปลี่ยนแปลงอ็อบเจ็กต์ต่างๆ เช่น สคีมา ตาราง และวิว |
| ดราก้อน | ภาษาการจัดการข้อมูล | เลือก, แทรก, อัปเดต, ลบ, อัปเดตแทรก | อ่านและเปลี่ยนแปลงแถวที่เก็บอยู่ภายในอ็อบเจ็กต์ |
| DCL | ภาษาควบคุมข้อมูล | อนุมัติ, เพิกถอน | ควบคุมว่าผู้ใช้หรือบทบาทใดสามารถดำเนินการใดได้บ้าง |
| ทีซีแอล | ภาษาควบคุมธุรกรรม | ยืนยัน, ย้อนกลับ, บันทึกจุด | ยืนยันหรือปฏิเสธหน่วยงาน |
| เซสชั่น | การจัดการเซสชัน | ตั้งค่าสคีมา เชื่อมต่อ ตั้งค่าธุรกรรม | กำหนดค่าการเชื่อมต่อปัจจุบัน |
| System | ระบบการจัดการ | แก้ไขระบบ ตรวจสอบมุมมอง | ทำหน้าที่บริหารจัดการอินสแตนซ์ฐานข้อมูลเอง |
คำสั่ง UPSERT นั้นน่าสนใจเพราะไม่ได้มีอยู่ในทุกภาษาของโปรแกรม คำสั่งนี้จะแทรกแถวใหม่เมื่อคีย์เป็นคีย์ใหม่ และจะอัปเดตแถวเมื่อคีย์นั้นมีอยู่แล้ว ซึ่งช่วยลดรูปแบบการใช้คำสั่งสองคำสั่งที่พบได้ทั่วไป
ความคิดเห็นใน SQL
เราสามารถเพิ่มความคิดเห็นเพื่อปรับปรุงความสามารถในการอ่านและการบำรุงรักษาคำสั่ง SQL ความคิดเห็นสามารถใส่ใน SQL ได้สองวิธี -
- ความคิดเห็นบรรทัดเดียว – Double เครื่องหมายขีดกลาง “–“ นี่คือข้อความแสดงความคิดเห็นบรรทัดเดียว
- การใส่ข้อความหลายบรรทัด – “/* */”
ข้อความแสดงความคิดเห็นทั้งหมดจะถูกละเว้นโดย SQL Parser
-- This is a single line comment SELECT ELEMENT FROM DHK_SCHEMA.TABLE1; /* This is a multiple line comment. Everything between the markers is ignored by the SQL parser. */ SELECT COUNT(*) FROM DHK_SCHEMA.TABLE1;
ตัวอย่างไวยากรณ์ SQL พื้นฐานใน SAP HANA
คำสั่งด้านล่างนี้ครอบคลุมขั้นตอนการทำงานประจำวัน ได้แก่ การสร้างสคีมา การกำหนดตาราง การโหลดแถว และการอ่านข้อมูลกลับมา โดยสามารถทำงานได้โดยไม่ต้องแก้ไขใดๆ ในคอนโซล SQL
1) สร้างสคีมา Schema เป็นเจ้าของอ็อบเจ็กต์ที่สร้างขึ้นภายในนั้น และเป็นสิ่งแรกที่โปรเจ็กต์ใหม่จำเป็นต้องมี
CREATE SCHEMA DHK_SCHEMA; SET SCHEMA DHK_SCHEMA;
2) สร้างตารางแบบคอลัมน์ การจัดเก็บข้อมูลแบบคอลัมน์เป็นค่าเริ่มต้นและเป็นสาเหตุที่ทำให้ HANA มีความเร็วในการวิเคราะห์สูง การจัดเก็บข้อมูลแบบแถวจะถูกเลือกใช้เฉพาะกับตารางขนาดเล็กที่มีการเขียนข้อมูลจำนวนมากเท่านั้น
CREATE COLUMN TABLE DHK_SCHEMA.EMPLOYEE ( EMP_ID INTEGER NOT NULL, EMP_NAME NVARCHAR(100), HIRE_DATE DATE, SALARY DECIMAL(10,2), PRIMARY KEY (EMP_ID) );
3) แทรกและอัปเดตแถว คำสั่ง INSERT จะเพิ่มแถวใหม่ ส่วนคำสั่ง UPDATE จะแก้ไขแถวที่มีอยู่แล้ว ควรใช้คำสั่ง UPDATE ร่วมกับเงื่อนไข WHERE เสมอ เว้นแต่ว่าทุกแถวจำเป็นต้องเปลี่ยนแปลงจริงๆ
INSERT INTO DHK_SCHEMA.EMPLOYEE VALUES (1, 'Anita Sharma', '2026-01-15', 55000.00); UPDATE DHK_SCHEMA.EMPLOYEE SET SALARY = 60000.00 WHERE EMP_ID = 1;
4) สอบถามข้อมูล คำสั่ง SELECT รองรับคำสั่ง WHERE, GROUP BY, HAVING และ ORDER BY ที่คุ้นเคยกันดี
SELECT EMP_NAME, SALARY FROM DHK_SCHEMA.EMPLOYEE WHERE SALARY > 50000 ORDER BY SALARY DESC;
5) อนุญาตการเข้าถึงและยืนยันการใช้งาน DCL ควบคุมว่าใครบ้างที่สามารถอ่านตารางได้ และ COMMIT ทำให้การเปลี่ยนแปลงนั้นถาวร
GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER; COMMIT;
รายละเอียดระดับฟิลด์เกี่ยวกับการกำหนดคอลัมน์แต่ละคอลัมน์มีอธิบายไว้ใน SAP ประเภทข้อมูล HANAและสัญลักษณ์ที่ใช้ในส่วน WHERE ใน SAP ผู้ดำเนินการ HANA.
SAP HANA SQL เทียบกับ SQL มาตรฐาน
SAP HANA ปฏิบัติตามมาตรฐาน SQL อย่างเคร่งครัด ซึ่งเป็นเหตุผลว่าทำไมผู้พัฒนาที่มีประสบการณ์จึงสามารถทำงานได้อย่างมีประสิทธิภาพอย่างรวดเร็ว ความแตกต่างที่สำคัญคือการเพิ่มเติมมากกว่าการเปลี่ยนแปลงจากเดิม
| พื้นที่ | SQL มาตรฐาน | SAP ฮาน่า SQL |
|---|---|---|
| ที่เก็บของบนโต๊ะ | โดยค่าเริ่มต้นจะจัดเรียงตามแถว | โดยค่าเริ่มต้นจะเป็นการจัดเก็บข้อมูลแบบคอลัมน์ ส่วนการจัดเก็บข้อมูลแบบแถวเป็นตัวเลือกเสริม |
| เพิ่มหรืออัปเดตข้อมูลด้วยคำสั่งเดียว | ผสาน (MERGE) ในกรณีที่รองรับ | UPSERT คือไวยากรณ์ที่ง่ายกว่าแต่ให้ผลลัพธ์เหมือนกัน |
| ขีดจำกัดชุดผลลัพธ์ | เฉพาะถิ่น | LIMIT พร้อม OFFSET และ TOP |
| การขยายขั้นตอน | ผู้จำหน่ายเฉพาะ | SQLScript พร้อมตัวแปรตารางและการประมวลผลแบบขนาน |
| ค้นหาข้อความแบบเต็ม | โดยปกติจะเป็นส่วนเสริม | สร้างขึ้นโดยใช้คอลัมน์ข้อความและข้อความสั้น |
| ความไวของตัวพิมพ์ | แตกต่างกันไป | ตัวระบุที่ไม่มีตัวคั่นจะใช้ตัวพิมพ์ใหญ่ ส่วนตัวระบุที่มีตัวคั่นจะคงตัวพิมพ์เล็กไว้ |
กฎการระบุตัวตนก่อให้เกิดความประหลาดใจมากที่สุด การเขียนชื่อตารางด้วยตัวพิมพ์เล็กโดยไม่ใช้เครื่องหมายคำพูดคู่ จะทำให้ชื่อตารางนั้นกลายเป็นตัวพิมพ์ใหญ่ และเมื่อเลือกชื่อตารางนั้นโดยใช้เครื่องหมายคำพูดคู่ที่เป็นตัวพิมพ์เล็กในภายหลัง ก็จะไม่พบตารางนั้น กฎต่างๆ ได้ถูกกำหนดไว้ใน... ประเภทข้อมูลและตัวระบุ บทช่วยสอน โดยครอบคลุมแพลตฟอร์มที่กว้างขึ้นในบทช่วยสอนนี้ SAP บทช่วยสอน HANA ชุด.
