sql >> Databasteknik >  >> RDS >> Oracle

Komma igång med Oracle LiveSQL

Introduktion

Oracle LiveSQL är en molnbaserad tjänst som ger tillgång till en Oracle 12c-databasinstans. Denna databas kan användas för att prova många av funktionerna i en Oracle 12c-databas utan att behöva installera något på en server eller lokal PC. LiveSQL är särskilt användbart för att lära sig programmera Oracle-databaser med Structured Query Language (SQL) och PL/SQL, Oracles procedurspråkstillägg till SQL.

LiveSQL har också funktioner för att ladda upp samlingar av SQL-satser (databasskript) som kan köras för att snabbt skapa ett databasschema för experiment.

LiveSQL:s primära begränsning är att man bara kan skicka 2 000 SQL-satser under en session. Vanligtvis är detta mer än tillräckligt för att kunna lära sig SQL och Oracle PL/SQL-programmering.

Förutsättningar

LiveSQL kräver bara internetåtkomst och en webbläsare för att kunna använda. För att få ut det mesta av det bör du förstå lite av Structured Query Language (SQL). Om du har ett SQL-skript (uppsättning satser) kan dessa även laddas upp och köras mot databasen.

Ett gratis konto på Oracles webbplats måste också skapas om du inte redan har ett.

Loggar in på Oracle LiveSQL

För att komma igång, öppna en webbläsare och besök Oracle LiveSQL-webbplatsen på:https://livesql.oracle.com/

När webbsidan visas, som visas nedan, klicka på Logga in knappen i det övre högra hörnet.

Om du redan har ett användarnamn och lösenord för Oracle-webbplatsen, skriv in detta nu och klicka på Logga in knapp. Om du inte har ett konto följer du stegen för att skapa ett konto genom att klicka på lämplig Skapa konto knappen.

När du är inloggad kommer LiveSQL-hemsidan att visas som visas nedan.

SQL-satser kan skrivas med hjälp av SQL-arbetsbladet som beskrivs på nästa sida.

Köra SQL-satser med SQL-arbetsbladet

För att börja skriva SQL-satser direkt, klicka på SQL-arbetsbladet kategori på vänster sida. Ett nytt SQL-fönster visas.

Vid det här laget kan alla SQL-satser skrivas in i SQL-arbetsbladet. För det här exemplet, skapa en enkel Employee-tabell (från min Oracle SQL*Plus-handledning som använder följande tabeller:EMPLOYEE, DEPARTMENT och DEPENDENT )

CREATE TABLE employee
  (employeeid      VARCHAR2(9) NOT NULL,
   fname           VARCHAR2(15),
   minit           VARCHAR2(2),
   lname           VARCHAR2(15),
   bdate           DATE,
   address         VARCHAR2(35),
   gender          VARCHAR2(1),
   salary          NUMBER(7) NOT NULL,
   superempid      VARCHAR2(9),
   dno             NUMBER(2) NOT NULL) ;

Kopiera och klistra in ovanstående kod i SQL-arbetsbladet.

Det finns två sätt att köra den aktuella SQL-satsen. Den aktuella satsen kan köras genom att klicka på Kör knappen i det övre högra hörnet på sidan. Ett andra sätt är att markera SQL-satsen och sedan trycka på Ctrl-Enter.

Efter att ha kört CREATE TABLE-satsen kommer resultatet att visas under SQL-arbetsbladet. I det här fallet blir resultatet att en tabell skapades.

Därefter kan vi lägga till en begränsning i tabellen EMPLOYEE med en ALTER TABLE-sats.

ALTER TABLE    employee 
ADD CONSTRAINT pk_employee
PRIMARY KEY    (employeeid);

I det här fallet blir resultatet att tabellen har ändrats:

Vid det här laget kan vissa data läggas till i Employee-tabellen med SQL INSERT-satsen:

INSERT INTO EMPLOYEE VALUES
('123456789', 'JOHN','B','SMITH','09-JAN-1975','731 FONDREN, HOUSTON, TX', 'M',30000, '333445555', 5) ;
INSERT INTO EMPLOYEE VALUES
('333445555','FRANKLIN','T','WONG','08-DEC-1965','638 VOSS,HOUSTON TX', 'M',40000,'888665555',5) ;
INSERT INTO EMPLOYEE VALUES
('999887777','ALICIA','J','ZELAYA','19-JUL-1978','3321 CASTLE, SPRING, TX', 'F',25000,'987654321',4) ;
INSERT INTO EMPLOYEE VALUES
('987654321','JENNIFER','S','WALLACE','20-JUN-1951','291 BERRY, BELLAIRE, TX', 'F',43000,'888665555',4) ;
INSERT INTO EMPLOYEE VALUES
('666884444','RAMESH','K','NARAYAN','15-SEP-1972','975 FIRE OAK, HUMBLE, TX', 'M',38000,'333445555',5) ;
INSERT INTO EMPLOYEE VALUES
('453453453','JOYCE','A','ENGLISH','31-JUL-1982','5631 RICE, HOUSTON, TX', 'F',25000,'333445555',5);
INSERT INTO EMPLOYEE VALUES
('987987987','AHMAD','V','JABBAR','29-MAR-1979','980 DALLAS, HOUSTON, TX', 'M',25000,'987654321',4) ;
INSERT INTO EMPLOYEE VALUES
('888665555','JAMES','E','BORG','10-NOV-1947', '450 STONE, HOUSTON, TX', 'M',55000,NULL,1) ;

Med lite data på plats kan vi nu köra några frågor mot tabellen. Till exempel hittar följande SQL-fråga alla anställda som arbetar på avdelning 4:

SELECT   *
FROM   employee
WHERE  dno = 4;

Nästa fråga använder en SQL-aggregatfunktion för att hitta den genomsnittliga lönen för alla anställda:

SELECT AVG(salary) As Average_Salary
FROM   employee;

Nu när vissa SQL-satser har skrivits in och körts kan de sparas som ett skript. Dessa steg beskrivs på nästa sida.

Spara det aktuella SQL-arbetsbladet som ett skript

Vid det här laget har en samling SQL-satser lagts in i SQL-arbetsbladet. För att spara SQL-satserna som ett skript, klicka på Spara knappen i det övre högra hörnet.

Fyll i ett namn för manuset och (valfritt) en beskrivning. Ställ in Synlighet som antingen Privat, Olistad eller Offentlig. Klicka sedan på Spara session som skript knappen.

När skriptet har sparats visas Mina skript sidan kommer att visas med skriptdetaljerna:

Vid denna tidpunkt kan skriptet redigeras, delas, tas bort, laddas ner eller köras i sin helhet. För att gå tillbaka till SQL-arbetsbladet klickar du på SQL-arbetsbladet objekt på vänster sida.

Det befintliga databasschemat kan ses med hjälp av Schema explorer. Detta beskrivs på nästa sida.

Utforska databasschemat

För att se alla tabeller och andra objekt i schemat, klicka på Schema objekt till vänster på sidan. Alla schemaobjekt bör listas.

För det här exemplet skapades bara tabellen Employee. För att se detaljerna i denna tabell klicka på posten.

Rulla ned för att se ytterligare egenskaper som index, utlösare och begränsningar.

Befintliga databasobjekt kan redigeras och nya tabeller och andra objekt kan också skapas.

Återställer den aktuella sessionen

Min session området visar en historik över alla SQL-satser som körs mot schemat i den aktuella sessionen.

För att rensa bort alla befintliga tabeller, utlösare, lagrade procedurer, etc. från schemat, klicka på Återställ session knapp. Gör detta bara om du antingen redan har sparat allt eller om du inte behöver behålla något av databasobjekten.

I nästa avsnitt kommer ett nytt skript att laddas upp och köras för att skapa en ny uppsättning tabeller för en applikation.

Arbeta med skript

Ett skript för att skapa en del av Oracle Order Entry-schemat (OE) inklusive CUSTOMER, ORDER, ORDER_ITEMS och PRODUCT_INFORMATION-tabeller.

För att komma igång klicka på Mina skript objekt till vänster på sidan.

För att ladda upp ett nytt skript, klicka på det röda Ladda upp skript knappen i det övre högra hörnet på sidan. Ett uppladdningsskript dialogrutan visas som visas nedan.

Klicka på Välj fil knappen för att öppna en dialogruta. Navigera till lämplig mapp på din lokala dator, markera namnet på skriptfilen och klicka på Öppna knappen.

Ange ett namn för skriptet och en valfri beskrivning. När du är klar klickar du på det röda Ladda upp skript knappen.

Klicka på Mina skript menyalternativet igen för att uppdatera och det nya skriptet bör visas i listan:

Klicka på namnet på skriptet för att öppna det.

Klicka på den röda Kör skript knappen för att köra skriptet.

Om det finns några fel klickar du på Min session objekt och sök i listan efter fel. Om det behövs, återställ den aktuella sessionen, redigera skriptet och kör sedan skriptet igen.

Exempel på frågor om orderinmatningsschemat

Prova några exempelfrågor genom att klicka på SQL-arbetsbladet objekt till vänster på sidan.

SELECT c.cust_last_name, c.cust_address.city
FROM customers c
WHERE c.credit_limit > 1000;

Följande fråga sammanfattar den genomsnittliga kreditgränsen för amerikanska kunder grupperad efter state_province

SELECT   c.cust_address.state_province, 
         AVG(c.credit_limit) AS Average_Credit_Limit
FROM     customers c
WHERE    c.nls_territory = 'AMERICA'
GROUP BY c.cust_address.state_province
ORDER BY c.cust_address.state_province;


  1. Är det möjligt att definiera globala variabler i postgresql

  2. Upprätthålla ett grupperat löpande MAX (eller MIN)

  3. Hur delar jag en avgränsad sträng i SQL Server utan att skapa en funktion?

  4. Hur man hittar intervallet mellan två datum i PostgreSQL