Video: What is Database & SQL? 2024
Misschien zijn de meest voorkomende instructies die u in uw Oracle 12c-database als Database Administrator (DBA) zult uitvoeren de DESCRIBE- en SELECT-opdrachten. Immers, een groot deel van je werk zal onderzoeken wat er in de database zit en de huidige omstandigheden analyseren.
Stel dat u informatie wilt over de taken in uw bedrijf.
-
Open een terminal naar uw besturingssysteem als eigenaar van de Oracle-software.
-
Stel uw omgeving in met oraenv.
-
Typ en druk op Enter.
-
Typ en druk op Enter.
-
Typ en druk op Enter.
-
Typ en druk op Enter.
De volgende uitvoer verschijnt:
SQL> DESCRIBE-taken Naam Null? Type ----------------------------- -------- ------------ -------- JOB_ID NIET NULL VARCHAR2 (10) JOB_TITLE NIET NULL VARCHAR2 (35) MIN_SALARY NUMBER (6) MAX_SALARY NUMBER (6)
-
Typ
en druk op Enter.
U zou de volgende uitvoer moeten zien:
SQL> selecteer job_id, opdracht_titel van banen; JOB_ID JOB_TITLE ---------- ----------------------------------- AD_PRES voorzitter AD_VP Administratief directeur AD_ASST Administratief medewerker FI_MGR Financieel manager FI_ACCOUNT Accountant AC_MGR Boekhoudkundige manager AC_ACCOUNT Publieke accountant SA_MAN Verkoopmanager SA_REP Verkoopvertegenwoordiger PU_MAN Inkoopmanager PU_CLERK Inkoopdirecteur ST_MAN Voorraadbeheer ST_CLERK Voorraadbediende SH_CLERK Verzendmedewerker IT_PROG Programmeur MK_MAN Marketingmanager MK_REP Marketingvertegenwoordiger HR_REP Personeelsvertegenwoordiger PR_REP Public Relations Representative 19 rijen geselecteerd.
Met de opdracht DESCRIBE kunt u de tabelstructuur bekijken. Dit omvat de kolomnamen, de gegevenstypen en of de kolommen leeg mogen zijn (null). Deze informatie kan erg belangrijk zijn bij het samenstellen van verschillende SQL-instructies. Als u bijvoorbeeld een rij invoegt, moet u waarden opgeven voor taak_id en opdracht_titel, omdat deze NIET NULL zijn.
De SELECT-instructie is heel eenvoudig. Merk op dat het allemaal op één regel is getypt. SQL maakt niet echt uit hoe je regels regel voor regel verdeelt, zolang je woorden niet doormidden breekt.
Splits SQL-instructies op per component. Voor langere, complexere instructies kunt u veel regeleinden gebruiken. Door deze pauzes kunnen uitspraken gemakkelijker leesbaar worden.
Hier zijn twee SELECT-instructies en hun uitvoer:
SQL> selecteer * 2 uit jobs 3 waarbij job_title = 'President'; JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ----------------------------------- - --------- ---------- AD_PRES President 20080 40000 SQL> selecteer * 2 uit jobs 3 waarbij job_title zoals 'P%'; JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ----------------------------------- - --------- ---------- AD_PRES Voorzitter 20080 40000 AC_ACCOUNT Public Accountant 4200 9000 PU_MAN Purchasing Manager 8000 15000 PU_CLERK Inkoopmedewerker 2500 5500 IT_PROG Programmer 4000 10000 PR_REP Vertegenwoordiger van public relations 4500 10500 6 rijen gekozen.
Houd er rekening mee dat in plaats van een kolommenlijst een sterretje (*) is gebruikt. Dat vertelt de SELECT-component is om alle kolommen terug te keren, in tegenstelling tot wat eerder werd getoond waar slechts twee kolommen werden geselecteerd.
Let op het gebruik van de WHERE-component. De WHERE-component beperkt welke gegevens worden geretourneerd. In dit voorbeeld wordt de WHERE-component op twee manieren gebruikt:
-
Als gelijkheid (=): u zoekt naar precies wat u wilt vinden.
-
Als een fuzzy-zoekopdracht (LIKE): u kunt jokertekens gebruiken om zoektermen te voltooien. Oracle gebruikt het procentteken als een jokerteken.
Het gebruik van het% -symbool geeft aan dat u alle rijen wilt selecteren die beginnen met hoofdletter P en daarna alles hebben wat erachter staat. Vaak zie je op besturingssystemen een asterisk als een joker. Dat is echter niet het geval in een SQL-statement; gebruik in plaats daarvan een procentteken (%).
Als u toevoegt aan onze SELECT-instructie, ziet u
SQL> lager selecteren (job_id), upper (jobtittit), max_salary 2 van jobs 3 waarbij job_title zoals 'P%' 4 en max_salary <14000 5 gesorteerd door max_salary ASC; LOWER (JOB_ TITLE MAX_SALARY ---------- ----------------------------------- ---------- pu_clerk AANKOOP CLERK 5500 ac_account PUBLIC ACCOUNTANT 9000 it_prog PROGRAMMER 10000 pr_rep REPLESENTATIE PUBLIC RELATIONS 10500
Sommige functies zijn toegevoegd aan de kolommen in de SELECT-clausule. Functies nemen en invoeren om een uitvoer te produceren: in dit geval, job_id en de job_title. Het karakter functioneert UPPER en LOWER werden gebruikt.kan je raden wat ze doen? In dit geval is het vrij duidelijk.Oracle heeft tientallen functies voor u om te gebruiken om te handelen op uw gegevens in alle soorten
In dit geval wordt aangetoond hoe het niet noodzakelijkerwijs belangrijk is hoe uw gegevens worden opgeslagen; u kunt het desgewenst weergeven. Let op de namen van de kolommen voor job_id en job_title in de uitvoer. een combinatie van onze functie en de kolomnaam zijn.
Dat komt omdat Oracle automatisch alles gebruikt wat u typt in de SELECT-clausule voor uw kolomkop. In de tweede kolom, job_title, gebruikt u een " alias "om de uitvoer een beetje mooier te maken.
Een alias komt na de kolomconstructie maar vóór de komma. In dit voorbeeld is titel de alias. De alias zal altijd standaard hoofdletters bevatten, tenzij je er dubbele aanhalingstekens ("") omheen plaatst. U moet ook dubbele aanhalingstekens gebruiken als uw alias meer dan één woord is. Bijvoorbeeld
SQL> selecteer upper (job_title) "Job Title" 2 uit jobs 3 waarbij job_title zoals 'P%'; Functietitel ----------------------------------- PRESIDENT OPENBARE ACCOUNTANTS AANKOPEND MANAGER AANKOOP CLERK PROGRAMMER PUBLIC RELATIONS REPRESENTATIVE > Het gebruik van de AND-verklaring is een constructie van de WHERE-component. Met de AND-verklaring kunt u meerdere voorwaarden gebruiken om onze gegevens te beperken.
Tot slot sorteert de ORDER BY-component de uitvoer op de gespecificeerde kolom, hetzij numeriek of alfabetisch, afhankelijk van het gegevenstype. Standaard sorteert het in oplopende volgorde. Het ASC-sleutelwoord (oplopend) is ter verduidelijking toegevoegd.U had in plaats hiervan DESC kunnen gebruiken om de resultaten in aflopende numerieke volgorde van max_salary te bestellen.