SAP HANA SQL: Lær grundlæggende udsagn på 10 minutter

⚡ Smart opsummering

SAP HANA SQL er platformens primære databasesprog. Det håndterer skemadefinition, datamanipulation, adgangskontrol og sessionsstyring og følger den standard, der gør SQL bærbar på tværs af relationelle databaser.

  • 🗣️ Kernerolle: SQL er det primære sprog til kommunikation med SAP HANA, ligesom det er for andre relationelle systemer.
  • 🏗️ Skemaarbejde: CREATE SCHEMA etablerer det navneområde, der ejer tabeller, visninger og procedurer.
  • ???? DML-udsagn: SELECT, INSERT og UPDATE læser og ændrer rækkerne i en tabel.
  • 🧱 DDL-udsagn: OPRET, ÆNDRE og SLIP definerer og omformer selve objekterne.
  • 🔐 DCL-udsagn: GRANT og REVOKE styrer, hvilken bruger der må udføre hvilken handling.
  • 💬 Kommentarstile: Double En bindestreg markerer en kommentar med én linje, og en skråstreg omslutter en kommentar med flere linjer.
  • 🇧🇷 Administration: System-, sessions- og transaktionsstyring styres alle via SQL-sætninger.

SAP HANA SQL

De fleste RDBMS-databaser bruger SQL som databasesprog er grunden til at være populær – det er kraftfuldt, leverandøruafhængigt og standardiseret. SAP HANA understøtter også SQL.

In SAP HANA, SQL er det vigtigste databasesprog.

Hvad er SAP HANA SQL?

SQL står for Structured Query Language. Det er et standardsprog til kommunikation med relationelle databaser som Oracle, MySQL etc. SQL bruges til at gemme, hente og ændre data i databasen.

Ved at bruge SQL i SAP HANA, vi kan udføre følgende job-

  • Skema definition og brug (CREATE SCHEMA).
  • DML-erklæring (SELECT, UPDATE, INSERT).
  • DDL-sætning (CREATE, ALTER, DROP)
  • DCL-erklæring (GODKENDELSE, TILBAGETRÆKELSE)
  • System Management
  • Session Management
  • Transaktionsstyring

Sætninger udføres fra SQL-konsollen SAP HANA Studio, fra en kommandolinjeklient eller fra et program, der opretter forbindelse via JDBC eller ODBC. Selve sproget er identisk i begge tilfælde.

SQL-sætningskategorier i SAP HANA

Hvert udsagn tilhører en af ​​et lille antal familier. At vide, hvilken familie et udsagn befinder sig i, forudsiger, om det kan rulles tilbage, og hvilken autorisation det kræver.

Kategori Fulde navn Typiske udsagn Formål
DDL Datadefinitionssprog OPRET, ÆNDRE, SLET, OMDØB Definerer og ændrer objekter såsom skemaer, tabeller og visninger
DML Datamanipulation Sprog VÆLG, INDSÆT, OPDATER, SLET, OPDATER Læser og ændrer rækkerne indeholdt i objekter
DCL Datakontrolsprog TILDELING, TILBAGETAGELSE Styrer hvilken bruger eller rolle der må udføre hvilken handling
TCL Transaktionskontrolsprog COMMIT, ROLLBACK, SAVEPOINT Bekræfter eller kasserer en arbejdsenhed
Session Sessionsledelse INDSTIL SKEMA, FORBIND, INDSTIL TRANSAKTION Konfigurerer den aktuelle forbindelse
Systemkrav Systemstyring ÆNDRE SYSTEM, overvågningsvisninger Administrerer selve databaseinstansen

UPSERT er værd at bemærke, fordi det ikke findes i alle dialekter. Det indsætter en række, når nøglen er ny, og opdaterer den, når nøglen allerede findes, hvilket fjerner et almindeligt mønster med to sætninger.

Kommentar i SQL

Vi kan tilføje en kommentar for at forbedre læsbarheden og vedligeholdelsen af ​​SQL-sætninger. Kommentar kan sættes på SQL på to måder-

  • Enkeltlinjekommentar – Double Bindestreger “–”. Dette er en kommentar på én linje.
  • Kommentarer til flere linjer – “/* */”.

Al kommenteret tekst ignoreres af 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;

Grundlæggende SQL-syntakseksempler i SAP HANA

Sætningerne nedenfor dækker den daglige cyklus med at oprette et skema, definere en tabel, indlæse rækker og læse dem tilbage. De kører uændret i SQL-konsollen.

1) Opret et skema. Et skema ejer de objekter, der oprettes i det, og er det første, et nyt projekt har brug for.

CREATE SCHEMA DHK_SCHEMA;
SET SCHEMA DHK_SCHEMA;

2) Opret en kolonnetabel. Kolonnelager er standardindstillingen og årsagen til HANA-analysehastigheden. Rækkelager vælges kun til små tabeller med tung skrivning.

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) Indsæt og opdater rækker. INSERT tilføjer en række, og UPDATE ændrer eksisterende. Par altid en UPDATE med en WHERE-klausul, medmindre alle rækker virkelig skal ændres.

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) Forespørg dataene. SELECT understøtter de velkendte WHERE-, GROUP BY-, HAVING- og ORDER BY-klausuler.

SELECT EMP_NAME, SALARY
  FROM DHK_SCHEMA.EMPLOYEE
  WHERE SALARY > 50000
  ORDER BY SALARY DESC;

5) Giv adgang og commit. DCL styrer, hvem der må læse tabellen, og COMMIT gør arbejdet permanent.

GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER;
COMMIT;

Detaljer på feltniveau om hver kolonnedefinition er dækket i SAP HANA-datatyperog symbolerne, der bruges i WHERE-klausulen i SAP HANA-operatører.

SAP HANA SQL vs. standard SQL

SAP HANA følger SQL-standarden nøje, hvilket er grunden til, at en erfaren udvikler er hurtigt produktiv. De vigtigste forskelle er tilføjelser snarere end afvigelser.

Miljø Standard SQL SAP HANA SQL
Bordopbevaring Rækkeorienteret som standard Kolonnelagring som standard, rækkelagring valgfri
Indsæt eller opdater i én erklæring FLET, hvor det understøttes UPSERT, enklere syntaks for det samme resultat
Resultatgrænse Dialektspecifik LIMIT med OFFSET, plus TOP
Proceduremæssig forlængelse Leverandørspecifik SQLScript med tabelvariabler og parallel udførelse
Fuldtekstsøgning Normalt et tillæg Indbygget via TEKST- og KORTTEKSTT-kolonner
Sagsfølsomhed Varierer Uafgrænsede identifikatorer er store bogstaver, afgrænsede identifikatorer beholder store bogstaver

Identifikatorreglen forårsager de fleste overraskelser. Hvis man skriver et tabelnavn med små bogstaver uden dobbelte anførselstegn, oprettes det med store bogstaver, og senere, hvis man vælger det i dobbelte anførselstegn med små bogstaver, finder man det ikke. Reglerne er angivet i datatyper og identifikatorer tutorial, med den bredere platform dækket i SAP HANA-vejledning serien.

Ofte Stillede Spørgsmål

SQL håndterer enkelte sætninger. SQLScript tilføjer procedurel logik såsom variabler, løkker og tabelvariabler, hvilket gør det muligt for flere trin at køre inde i databasen i stedet for i applikationslaget.

Kolonnetabeller til næsten alt, fordi komprimering og analytisk læsning er langt hurtigere. Rækketabeller passer til små konfigurationstabeller, der læses helt, post for post, ved hver adgang.

Ja. Givet skemaet udarbejder sprogmodeller korrekte SELECT-sætninger fra en skriftlig anmodning. Review joinerer og filtrerer omhyggeligt, da en plausibel forespørgsel stadig kan besvare det forkerte spørgsmål.

Ja. AI læser udførelsesplanen og foreslår omskrivninger, bedre join-rækkefølge eller manglende filtre. Mål resultatet, fordi et forslag, der hjælper én datamængde, kan skade en anden.

Nej. Parseren kasserer dem før udførelse, så kommentarer koster ingenting under kørsel. De er den billigste måde at gøre en lang analytisk sætning vedligeholdelsesvenlig.

Opsummer dette indlæg med: