Video: What is Database & SQL? 2024
Die wahrscheinlich häufigsten Anweisungen, die Sie als Datenbankadministrator (DBA) in Ihrer Oracle 12c-Datenbank ausführen, sind die Befehle DESCRIBE und SELECT. Schließlich wird ein großer Teil Ihrer Arbeit darin bestehen, zu recherchieren, was sich in der Datenbank befindet, und die aktuellen Bedingungen zu analysieren.
Angenommen, Sie möchten Informationen zu den Stellen in Ihrem Unternehmen erhalten.
-
Öffnen Sie ein Terminal für Ihr Betriebssystem als Eigentümer der Oracle-Software.
-
Stellen Sie Ihre Umgebung mit oraenv ein.
-
Geben Sie ein und drücken Sie die Eingabetaste.
-
Geben Sie ein und drücken Sie die Eingabetaste.
-
Geben Sie ein und drücken Sie die Eingabetaste.
-
Geben Sie ein und drücken Sie die Eingabetaste.
Die folgende Ausgabe wird angezeigt:
SQL> DESCRIBE-Jobs Name Null? Art ----------------------------- -------- ------------ -------- JOB_ID NOT NULL VARCHAR2 (10) JOB_TITLE NICHT NULL VARCHAR2 (35) MIN_SALARY NUMBER (6) MAX_SALARY NUMBER (6)
-
Um die job_id und job_title anzuzeigen, geben Sie
und drücken Sie die Eingabetaste.
Sie sollten die folgende Ausgabe sehen:
SQL> wählen Sie job_id, job_title aus Jobs aus; JOB_ID JOB_TITLE ---------- ----------------------------------- AD_PRES Präsident AD_VP Administration Vizepräsident AD_ASST Verwaltungsassistent FI_MGR Finanzmanager FI_ACCOUNT Buchhalter AC_MGR Buchhaltungsmanager AC_ACCOUNT Buchhalter SA_MAN Vertriebsleiter SA_REP Vertriebsmitarbeiter PU_MAN Einkaufsleiter PU_CLERK Einkauf Sachbearbeiter ST_MAN Lagerleiter ST_CLERK Sachbearbeiter SH_CLERK Versandkaufmann IT_PROG Programmierer MK_MAN Marketing Manager MK_REP Marketingvertreter HR_REP Personalvertreter Public Relations Representative PR_REP 19 Zeilen ausgewählt.
Mit dem Befehl DESCRIBE können Sie die Tabellenstruktur sehen. Dazu gehören die Spaltennamen, die Datentypen und ob die Spalten leer (null) sein dürfen. Diese Informationen können beim Erstellen verschiedener SQL-Anweisungen sehr wichtig sein. Wenn Sie beispielsweise eine Zeile einfügen, müssen Sie Werte für job_id und job_title angeben, da diese NOT NULL sind.
Die SELECT-Anweisung ist sehr einfach. Beachten Sie, dass alles in einer Zeile eingegeben wurde. SQL kümmert es nicht wirklich, wie Sie Anweisungen zeilenweise aufteilen, solange Sie Wörter nicht halbieren.
Zerlegt die SQL-Anweisungen nach der Klausel. Bei längeren, komplexeren Anweisungen können Sie viele Zeilenumbrüche verwenden. Diese Umbrüche können dazu beitragen, dass Anweisungen leichter lesbar sind.
Hier sind zwei SELECT-Anweisungen und ihre Ausgabe:
SQL> select * 2 von Jobs 3 wo job_title = 'President'; JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ----------------------------------- - --------- ---------- AD_PRES President 20080 40000 SQL> select * 2 von Jobs 3 wo job_title wie 'P%'; JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ----------------------------------- - --------- ---------- AD_PRES Präsident 20080 40000 AC_ACCOUNT Wirtschaftsprüfer 4200 9000 PU_MAN Einkaufsmanager 8000 15000 PU_CLERK Einkauf Sachbearbeiter 2500 5500 IT_PROG Programmierer 4000 10000 PR_REP Vertreter für Öffentlichkeitsarbeit 4500 10500 6 Zeilen ausgewählt.
Beachten Sie, dass statt einer Liste von Spalten ein Stern (*) verwendet wurde. Das heißt, dass die SELECT-Klausel alle Spalten zurückgibt, im Gegensatz zu dem, was früher gezeigt wurde, wo nur zwei Spalten ausgewählt wurden.
Beachten Sie die Verwendung der WHERE-Klausel. Die WHERE-Klausel schränkt ein, welche Daten zurückgegeben werden. In diesem Beispiel wird die WHERE-Klausel auf zwei Arten verwendet:
-
Als Gleichheit (=): Sie suchen genau nach dem, was Sie suchen möchten.
-
Als Fuzzy-Suche (LIKE): Sie können Platzhalter verwenden, um Suchbegriffe auszufüllen. Oracle verwendet das Prozentzeichen als Platzhalterzeichen.
Die Verwendung des% -Symbols gibt an, dass Sie alle Zeilen auswählen möchten, die mit dem Großbuchstaben P beginnen, und haben danach etwas. Unter Betriebssystemen wird häufig ein Sternchen als Platzhalter angezeigt. Das ist jedoch in einer SQL-Anweisung nicht der Fall. Verwenden Sie stattdessen ein Prozentzeichen (%).
Wenn Sie zu unserer SELECT-Anweisung hinzufügen, sehen Sie
SQL> wählen Sie lower (job_id), upper (job_title) title, max_salary 2 von jobs 3 wo job_title wie 'P%' 4 und max_salary <14000 5 order by max_salary ASC; LOWER (JOB_TITLE MAX_SALARY ---------- ----------------------------------- ---------- pu_clerk EINKAUF CLERK 5500 ac_account PUBLIC ACCOUNTANT 9000 it_prog PROGRAMMER 10000 pr_rep PUBLIC RELATIONS REPRESENTATIVE 10500
Einige Funktionen wurden den Spalten in der SELECT-Klausel hinzugefügt. Funktionen nehmen und geben eine Ausgabe: In diesem Fall wurden job_id und job_title verwendet, die Zeichenfunktionen UPPER und LOWER wurden verwendet. Können Sie erraten, was sie tun? In diesem Fall ist es ziemlich offensichtlich. Oracle hat Dutzende von Funktionen, mit denen Sie Ihre Daten in allen Arten verarbeiten können. of ways.
In diesem Fall wird gezeigt, wie es nicht unbedingt wichtig ist, wie Ihre Daten gespeichert sind, Sie können sie anzeigen, wie Sie möchten. Beachten Sie die Namen der Spalten für job_id und job_title in der Ausgabe. sei eine Mischung aus unserer Funktion und dem column_name.
Das liegt daran, dass Oracle automatisch das verwendet, was Sie in die SELECT-Klausel für Ihre Spaltenüberschrift eingeben. In der zweiten Spalte, job_title, verwenden Sie ein " Alias ", um die Ausgabe zu machen, ist ein wenig schöner.
Ein Alias kommt nach dem Spaltenkonstrukt vor dem Komma. In diesem Beispiel ist title der Alias. Der Alias wird immer auf Großbuchstaben gesetzt, es sei denn, Sie setzen doppelte Anführungszeichen (""). Sie müssen auch doppelte Anführungszeichen verwenden, wenn Ihr Alias mehr als ein Wort enthält. Zum Beispiel
SQL> wählen Sie den oberen (job_title) "Job Title" 2 aus dem Job 3 aus, wobei job_title wie 'P%'; Job Title ----------------------------------- PRESIDENT PUBLIC ACCOUNTANT EINKÄUFER MANAGER EINKAUF CLERK PROGRAMMER PUBLIC RELATIONS REPRESENTATIVE > Die Verwendung der AND-Anweisung ist ein Konstrukt der WHERE-Klausel. Mit der AND-Anweisung können Sie mehrere Bedingungen verwenden, um unsere Daten einzuschränken.
Zuletzt sortiert die ORDER BY-Klausel die Ausgabe in der angegebenen Spalte, entweder numerisch oder alphabetisch, abhängig vom Datentyp. Standardmäßig wird in aufsteigender Reihenfolge sortiert. Das ASC (aufsteigende) Schlüsselwort wurde zur Klarstellung hinzugefügt.Sie hätten DESC stattdessen verwenden können, um die Ergebnisse in absteigender numerischer Reihenfolge von max_salary anzuordnen.