Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie erstelle ich eine Tabelle in Oracle?

In diesem Artikel wird beschrieben, wie Sie Tabellen in Oracle, Primärschlüssel, Fremdschlüssel und Tabellensyntax in Oracle mit Beispielen erstellen. Dies wird sowohl für Oracle DBAs als auch für Entwickler sehr nützlich sein. Sie spielen viele Male am Tag damit, und gutes Wissen kann ihnen definitiv helfen, die Aufgabe zu beschleunigen. Sie sind oft verwirrt über den Datentyp und was unter welchen Umständen zu verwenden ist. Hier versuche ich, einen Überblick über all das Nützliche für Oracle-Datenbanktabellen zu geben

Was ist eine Oracle-Datenbanktabelle?

-Tabellen sind die Grundeinheit der Datenspeicherung in einer Oracle-Datenbank. Daten werden in Zeilen und Spalten gespeichert.

-Eine Tabelle enthält alles Notwendige über etwas in der realen Welt

-Eine Tabelle enthält eine Reihe von Spalten. Eine Spalte stellt eine Art von Daten in der Tabelle dar. Beispielsweise enthält die Gehaltsspalte in der EMP-Tabelle die Gehälter

  • Eine Zeile ist eine Sammlung von Spalteninformationen, die einem einzelnen Datensatz entsprechen.

Als Nächstes werden wir ausführlich über die Oracle create table-Anweisung sprechen

So erstellen Sie eine Tabelle in Oracle

Um eine Tabelle in der Datenbank zu erstellen, benötigen wir die folgenden Informationen

  • Der Tabellenname
  • Tabellentyp
  • Einschränkungen
  • Tabellenspeicherparameter

Sehen wir uns diese im Detail an

Tabellennamenskonventionen für Oracle create table

  • Der Name, den Sie für eine Tabelle wählen, muss diesen Standardregeln entsprechen:
  • Der Name muss mit einem Buchstaben A-Z oder a-z beginnen
  • Kann Zahlen und Unterstriche enthalten
  • Kann in GROSS- oder Kleinschreibung verwendet werden
  • Kann bis zu 30 Zeichen lang sein. Mit 12.2 wurde es auf 128 Zeichen erweitert
  • Derselbe Name eines anderen vorhandenen Objekts in Ihrem Schema kann nicht verwendet werden
  • Darf kein für Oracle-Server und SQL reserviertes Wort sein
  • Spaltenname, Spaltendatentypen und Spaltengrößen.

Spaltennamenskonventionen –

  • Der Name, den Sie für eine Spalte wählen, muss diesen Standardregeln entsprechen:
  • Der Name muss mit einem Buchstaben A-Z oder a-z beginnen
  • Kann Zahlen und Unterstriche enthalten
  • Kann in GROSS- oder Kleinschreibung verwendet werden
  • Kann bis zu 30 Zeichen lang sein. Mit 12.2 wurde es auf 128 Zeichen erweitert
  • Derselbe Name eines anderen vorhandenen Objekts in Ihrem Schema kann nicht verwendet werden
  • Darf kein für Oracle-Server und SQL reserviertes Wort sein

Art der Tabelle

Gewöhnliche (Heap-organisierte) Tabelle

-Dies ist der grundlegende, allgemeine Tabellentyp.

-Seine Daten werden als ungeordnete Sammlung (Heap) gespeichert

Clusterte Tabelle

-Eine geclusterte Tabelle ist eine Tabelle, die Teil eines Clusters ist.

-Ein Cluster ist eine Gruppe von Tabellen, die dieselben Datenblöcke teilen, weil sie gemeinsame Spalten teilen und häufig zusammen verwendet werden.

Indexorganisierte Tabelle

-Im Gegensatz zu einer gewöhnlichen (Heap-organisierten) Tabelle werden Daten für eine Index-organisierte Tabelle in einer B-Tree-Indexstruktur nach Primärschlüsseln sortiert gespeichert.

-Neben der Speicherung der Primärschlüssel-Spaltenwerte einer indexorganisierten Tabellenzeile speichert jeder Indexeintrag im B-Baum auch die Nicht-Schlüssel-Spaltenwerte.

Partitionierte Tabelle

–Partitionierte Oracle-Tabellen ermöglichen die Aufteilung Ihrer Daten in kleinere, leichter zu verwaltende Teile, die als Partitionen oder sogar Unterpartitionen bezeichnet werden.

  • Jede Partition kann einzeln verwaltet und unabhängig von den anderen Partitionen betrieben werden, wodurch eine Struktur bereitgestellt wird, die besser auf Verfügbarkeit und Leistung abgestimmt werden kann.

Externe Tabelle

Mit Oracle External Tables kann Oracle Daten abfragen, die außerhalb der Datenbank in Flatfiles gespeichert sind.

Globale temporäre Tabelle

Die Daten in einer globalen temporären Tabelle sind privat, sodass auf die von einer Sitzung eingefügten Daten nur von dieser Sitzung zugegriffen werden kann. Die sitzungsspezifischen Zeilen in einer globalen temporären Tabelle können für die gesamte Sitzung oder nur für die aktuelle Transaktion beibehalten werden

Einschränkungen und Regeln

Sie können Regeln für jede Spalte einer Tabelle angeben. Diese Regeln werden als Integritätsbedingungen bezeichnet. Ein solches Beispiel ist eine Not-Null-Integritätsbeschränkung. Diese Einschränkung zwingt die Spalte dazu, in jeder Zeile einen Wert zu enthalten. Diese Regeln werden für jede Spalte oder jeden Spaltensatz durchgesetzt. Immer wenn die Tabelle an einer Datenaktion teilnimmt, werden diese Regeln validiert und lösen bei Verletzung Ausnahmen aus.

Eine Einschränkung kann eine der folgenden sein:

  • eine Beschränkung auf Spaltenebene

Constraints auf Spaltenebene beziehen sich auf eine einzelne Spalte in der Tabelle und geben keinen Spaltennamen an (mit Ausnahme von Check-Constraints). Sie beziehen sich auf die Spalte, der sie folgen.

  • eine Einschränkung auf Tabellenebene

Einschränkungen auf Tabellenebene beziehen sich auf eine oder mehrere Spalten in der Tabelle. Einschränkungen auf Tabellenebene geben die Namen der Spalten an, für die sie gelten. CHECK-Einschränkungen auf Tabellenebene können sich auf 0 oder mehr Spalten in der Tabelle beziehen.

Die verfügbaren Einschränkungstypen sind NOT NULL, Primärschlüssel, Eindeutig, Prüfung und Fremdschlüssel.

Primärschlüssel

Ein Primärschlüssel in Oracle ist eine Spalte in einer Tabelle, deren Werte die Zeile in der Tabelle eindeutig identifizieren. Ein Primärschlüsselwert:

a) Muss die Zeile eindeutig identifizieren;

b) darf keine NULL-Werte haben;

Oracle erstellt intern einen eindeutigen Oracle-Index, um Duplikate in den Spaltenwerten zu verhindern. Sie kann auf Spalten- oder Tabellenebene definiert werden

Ein Primärschlüssel kann auch aus mehreren Spalten bestehen

Eindeutiger Schlüssel

Eindeutiger Schlüssel in Oracle bedeutet Eindeutigkeit für die Spalte. Der Oracle-Server lässt keine doppelten Werte in der Spalte mit eindeutigen Einschränkungen zu. Oracle erstellt intern einen eindeutigen Index, um Duplikate in den Spaltenwerten zu verhindern. Aber es erlaubt, dass einige Werte null sind. Sie kann auf Spalten- oder Tabellenebene definiert werden

Fremdschlüssel

-Ein Fremdschlüssel in Oracle ist eine referenzielle Einschränkung zwischen zwei Tabellen.

-Eine Fremdschlüsseleinschränkung validiert die Werte eines INSERT oder UPDATE gegen die Werte in einer anderen Spalte, entweder in einer anderen Tabelle oder einer anderen Spalte in derselben

-Ein Fremdschlüssel definiert immer eine Eltern/Kind-Beziehung. Das „Elternteil“ ist die Spalte, auf die im Fremdschlüssel verwiesen wird, und das „Kind“ ist die Spalte oder Spalten, die die Fremdschlüsseleinschränkung enthalten.

-Im Allgemeinen ist ein Fremdschlüssel jedoch ein Feld (oder Felder), das auf den Primärschlüssel einer anderen Tabelle zeigt.
-Er kann auf Spalten- oder Tabellenebene definiert werden

Einschränkung prüfen

Eine Oracle-Prüfungseinschränkung erfordert einen Wert in der Datenbank, um einer bestimmten Bedingung zu entsprechen. Check Constraint ermöglicht das Auferlegen einer Bedingungsregel für eine Spalte, die validiert werden muss, bevor Daten in die Spalte eingefügt werden. Die Bedingung darf keine Unterabfrage oder Pseudospalte CURRVAL NEXTVAL, LEVEL, ROWNUM oder SYSDATE enthalten.

Oracle lässt zu, dass eine einzelne Spalte mehr als eine CHECK-Einschränkung hat. Tatsächlich gibt es keine praktische Begrenzung für die Anzahl der CHECK-Einschränkungen, die für eine Spalte definiert werden können.

Sie kann auf Spalten- oder Tabellenebene definiert werden

Nicht Null

Dies bedeutet, dass eine Datenzeile einen Wert für die als NOT NULL angegebene Spalte haben muss. Der Oracle-Server lässt nicht zu, dass Zeilen gespeichert werden, die gegen diese Einschränkung verstoßen. Es kann nur auf Spaltenebene und nicht auf Tabellenebene definiert werden.

Tabellenspeicherparameter

Tabellen werden in Oracle Tablespace in der Datenbank gespeichert. Wenn kein Tablespace angegeben ist, wird die Tabelle in den Standard-Tablespace des Benutzers verschoben.

Also kurz gesagt

1) Sie müssen den entsprechenden Spaltennamen und Tabellennamen gemäß dem oben angegebenen Standard auswählen. Es wird empfohlen, Spaltennamen und Tabellennamen so anzugeben, dass Sie den Zweck anhand der Namen erkennen können

2) Zweitens müssen Sie den richtigen Oracle-Datentyp für die Tabelle auswählen.
Wenn es sich um eine Zeichenfolge handelt, sollten wir VARCHAR2 (10) auswählen. Dies ist ein variabler String, wir sollten den Wert entsprechend wählen. Dies bedeutet, dass Zeichen bis zu 10 Bytes gespeichert werden können. Der belegte Platz hängt von den Werten in der Spalte ab und es wird kein Platz verschwendet.

Ich möchte hier eine Sache betonen, dass, wenn wir VARCHAR2(10) hier angeben, 10 die Anzahl der Bytes ist, nicht das Zeichen.
Anzahl der Zeichen und Bytes sind ähnlich, wenn es sich um ASCII-Zeichen handelt, aber die Gleichung wird von uns geändert Beginnen Sie mit der Verwendung anderer Zeichen als ASCII

Im Moment unterstützt VARCHAR2 4000 Bytes, wenn Ihre Spalte größer ist, können Sie den LOB-Datentyp verwenden, der Text für GIGA-Bytes speichern kann.

Wenn es sich um eine Zahl handelt, verwenden wir den Datentyp Zahl. Auch hier können wir den Wert passend wählen. Beispielzahl(6,2) Diese darf maximal 999999,99 enthalten

Wenn Sie das Datum speichern möchten, hat Oracle den Datumsdatentyp für die Speicherung bereitgestellt.

3) Identifizieren Sie die Einschränkung in der Tabelle. Entscheiden Sie, was der Primärschlüssel sein soll und welche Spalten nicht null sein sollen.

Sobald wir alle erforderlichen Informationen haben, können wir mit der Tabellenerstellung fortfahren

Oracle Tabellensyntax erstellen

CREATE TABLE table_name
(
col1 datatype [ NULL | NOT NULL ],
col2 datatype [ NULL | NOT NULL ],
...
col_n datatype [ NULL | NOT NULL ]
)  tablespace <tablepace name>;

SYNTAX für Oracle-Erstellungstabelle Primärschlüssel. Es kann sowohl auf Spaltenebene als auch auf Tabellenebene definiert werden

Table level
CREATE TABLE table_name
(
col1 datatype [ NULL | NOT NULL ],
col2 datatype [ NULL | NOT NULL ],
...
col_n datatype [ NULL | NOT NULL ]
constraint <name> primary key (col1,col2)
)  tablespace <tablepace name>

Column Level

CREATE TABLE table_name
(
col1 datatype [ NULL | NOT NULL ] constraint <name> primary key
,
col2 datatype [ NULL | NOT NULL ],
...
col_n datatype [ NULL | NOT NULL ]
)  tablespace <tablepace name>

Beispiel des Oracle Create Table-Primärschlüssels

CREATE TABLE SCOTT.TEST
(
Created_by date,          SOURCE CHAR(10),
REQUEST_ID CHAR(64) NOT NULL CONSTRAINT TEST_PK PRIMARY KEY,
COMMENTS VARCHAR(3000)
);

CREATE TABLE TESTEXP
(
INV_ID CHAR(7) NOT NULL,
ITEM_ID CHAR(7) NOT NULL,           CREATED  date,
WHO CHAR(7),          CONSTRAINT TEST1_PK PRIMARY KEY (INV_ID,ITEM_ID)
);

Oracle erstellt einen Index, um die Primärschlüsseleinschränkungen zu erzwingen

Verwandt:Oracle-Interviewfragen

Die Erklärung für Tabelle TEST1

1 Die erste Spalte heißt  inv_id   der als char-Datentyp (maximal 7 Ziffern lang) erstellt wird und keine Nullwerte enthalten kann
2 Die zweite Spalte heißt  Artikel_ID   der als char-Datentyp (maximal 7 Ziffern lang) erstellt wird und keine Nullwerte enthalten kann
3 Die dritte Spalte heißt erstellt und ist ein Datum Datentyp und kann auch Nullwerte enthalten.
4 Die vierte Spalte heißt who und ist ein char-Datentyp, der auch Nullwerte enthalten kann.
5 Primärschlüsseleinschränkung TEST1_PK auf Tabellenebene ist für den zusammengesetzten Schlüssel (INV_ID, ITEM_ID) definiert

SYNTAX  für Oracle create Table-Anweisung FOREIGN Key. Es kann sowohl auf Spaltenebene als auch auf Tabellenebene definiert werden

CREATE TABLE table_name
(
col1 datatype [ NULL | NOT NULL ],
col2 datatype [ NULL | NOT NULL ],
...
col_n datatype [ NULL | NOT NULL ]
constraint <name> FOREIGN KEY (col1,col2) REFERENCES table(col1,col2)
)  tablespace <tablepace name>

CREATE TABLE table_name
(
col1 datatype [ NULL | NOT NULL ] constraint <name> primary key
,
col2 datatype [ NULL | NOT NULL ],
...
col_n datatype [ NULL | NOT NULL ]
)  tablespace <tablepace name>;



CREATE TABLE dept
( dept_id number(10) NOT NULL,
dept_name varchar2(50) NOT NULL,
CONSTRAINT dept_pk PRIMARY KEY (dept_id)
);

CREATE TABLE emp
( emp_no number(10) NOT NULL,
emp_name varchar2(50) NOT NULL,
dept_id number(10),
sal number(6),
CONSTRAINT emp_pk PRIMARY KEY (emp_no),
CONSTRAINT dept_fk
FOREIGN KEY (dept_id)
REFERENCES dept(dept_id) );

Erklärung zur Tabelle EMP

definiert
1 Die erste Spalte heißt EMP_NO die als Zahl erstellt wird und keine Nullwerte enthalten kann
2 Die zweite Spalte heißt emp_name die als varchar2(50) erstellt wird und keine Nullwerte enthalten darf
3 Die dritte Spalte heißt dept_id das ist eine Zahl.
4 Die vierte Spalte heißt sal Dies ist ein Zahlendatentyp und kann auch Nullwerte enthalten.
5 Primärschlüsseleinschränkung auf Tabellenebene EMP_PK ist auf dem  Schlüssel (EMP_NO)
6 Fremdschlüsseleinschränkungen auf Tabellenebene dept_fk , die auf die dept-Tabelle dept_id verweist

Berechtigung zum Erstellen einer Tabelle durch Oracle erforderlich

- Sie müssen über das Systemprivileg zum Erstellen einer Tabelle verfügen, um eine neue Tabelle in Ihrem Schema zu erstellen,

  • Sie müssen über das Systemprivileg „Beliebige Tabelle erstellen“ verfügen, um eine Tabelle im Schema eines anderen Benutzers erstellen zu können, außerdem muss der Besitzer der Tabelle über ein Kontingent für den Tablespace verfügen, der die Tabelle enthält, oder über das Systemprivileg „UNLIMITED TABLESPACE“ verfügen

Verwandt:So schreiben Sie SQL-Abfragen

Andere Merkmale im Zusammenhang mit der Oracle-Datenbanktabelle

Cache/kein Cache

Verwenden Sie die CACHE-Klauseln, um anzugeben, wie Oracle Database Blöcke im Puffer-Cache speichern soll. Wenn Sie im Befehl create table nichts angeben, ist es standardmäßig no-cache

STANDARD

Der in die Spalte eingefügte Wert, wenn die Einfügung oder Aktualisierung den Spaltenwert NULL belassen würde.

| NULL>

PARALLEL

Geben Sie PARALLEL an, wenn Sie möchten, dass Oracle einen Parallelitätsgrad gleich der Anzahl der verfügbaren CPUs auf allen teilnehmenden Instanzen multipliziert mit dem Wert des Initialisierungsparameters PARALLEL_THREADS_PER_CPU auswählt.

Komprimieren

Dies wird vom Orakel verwendet, um die Tabelle in komprimiertem Format zu speichern. Dies ist ab 11 g verfügbar

Kommentieren Sie eine Tabelle oder Spalte

Sie können die Tabelle mit dem Befehl

kommentieren
COMMENT ON TABLE <table_name> IS '<comment>';

Oracle erstellt Tabelle mit Standardwert

Manchmal möchten Sie der Spalte einen Standardwert zuweisen, wenn er nicht in der Einfügeanweisung angegeben ist, dann können Sie die Tabelle mit der folgenden Syntax erstellen. DEFAULT ist das verwendete Schlüsselwort

CREATE TABLE EXP
(
NAME VARCHAR2(20),
SAL number(8,2) DEFAULT 800,
hire_date DATE DEFAULT SYSDATE ,
birthdate DATE DEFAULT SYSDATE -10
)

Oracle-Erstellungstabellen-Standardwertänderungen in 12c

IDENTITÄTSspalten
In Oracle Database 12c können wir Tabellenspalten mit dem SQL-Schlüsselwort IDENTITY definieren, das ein SQL-Schlüsselwort des American National Standards Institute (ANSI) ist. Die zum Zeitpunkt des Einfügens automatisch inkrementiert werden (wie in MySQL).

Example:
create table test
(
id number generated as identity,
name varchar2(100),
email varchar2(100),
password varchar2(100),
firstname varchar2(100),
lastname varchar2(100)
);
Sequence as Default Value
With Oracle Database 12c, we can directly assign sequence nextval as a default value for a column, So you no longer need to create a trigger to populate the column with the next value of sequence, you just need to declare it with table definition.It is a sort of auto-increment feature for a column in oracle just like MySQL
Example:
create sequence tech_test_seq start with 1 increment by 1 nocycle;create table test
(
id number default tech_test_seq.nextval primary key
name varchar(30)
);

Nur Metadaten-STANDARD-Werte

Vor Oracle 11g mussten beim Hinzufügen einer neuen Spalte zu einer vorhandenen Tabelle alle Zeilen in dieser Tabelle geändert werden, um die neue Spalte hinzuzufügen. Wenn die Tabelle also sehr groß ist, hat alter table add column eine beträchtliche Zeit und Sperrzeit sowie mehr Zeit in Anspruch genommen

Mit Oracle führte 11g das Konzept der Nur-Metadaten-Standardwerte ein. Das Hinzufügen einer NOT NULL-Spalte mit einer DEFAULT-Klausel zu einer vorhandenen Tabelle beinhaltete nur eine Änderung der Metadaten und nicht eine Änderung aller Zeilen in der Tabelle. Abfragen der neuen Spalte wurden vom Optimierer neu geschrieben, um sicherzustellen, dass das Ergebnis mit der Standarddefinition übereinstimmt.

Lesen Sie mehr darüber im folgenden Artikel

So ändern Sie die Tabelle und fügen Spalten hinzu Oracle

Oracle 12c geht noch einen Schritt weiter und erlaubt Nur-Metadaten-Standardwerte sowohl für obligatorische als auch für optionale Spalten. Folglich wird das Hinzufügen einer neuen Spalte mit einer DEFAULT-Klausel zu einer vorhandenen Tabelle als reine Metadatenänderung behandelt, unabhängig davon, ob diese Spalte als NOT NULL definiert ist oder nicht.

Dies ist ein großer Vorteil für alle.

Datenwörterbuchtabellen und -ansichten

Alle Tabellen- und Spalteninformationen werden in den Tabellen SYS.TAB$ und SYS.COL$ gespeichert. Oracle hat Datenwörterbuchansichten bereitgestellt, um Informationen zu Tabellen und Spalten zu erhalten

Es gibt drei Kategorien von Aufrufen

Wie man alle Tabellen in Oracle auflistet

To list all tables owned by the current user, type:
select tablespace_name, table_name from user_tables;

To list all tables in a database:

select tablespace_name, table_name from dba_tables;

To list all tables accessible to the current user, type:

select tablespace_name, table_name from all_tables

To describe the table in SQLPLUS

desc <table_name>

zu beschreiben

So bestimmen Sie die Tabellengröße

select
owner as "Schema"
, segment_name as "Object Name"
, segment_type as "Object Type"
, round(bytes/1024/1024,2) as "Object Size (Mb)"
, tablespace_name as "Tablespace"
from dba_segments
where segment_name=’<table_name>’;

Tabellen mit Zeilenanzahl und Kommentaren

Die folgende Abfrage kann verwendet werden, um die Anzahl der Zeilen und Kommentare im SCOTT-Schema zu finden

select tab.owner as schema_name,
tab.table_name as table_name,
obj.created,
obj.last_ddl_time as last_modified,
tab.num_rows,
tab.last_analyzed,
comm.comments
from all_tables tab
inner join all_objects obj
on obj.owner = tab.owner
and obj.object_name = tab.table_name
left outer join all_tab_comments comm
on tab.table_name = comm.table_name
and tab.owner = comm.owner
where tab.owner = 'SCOTT'
order by tab.owner,
tab.table_name;

Häufig gestellte Fragen zu Oracle Create Table

1. Hat Oracle einen Oracle-Befehl zum Erstellen oder Ersetzen von Tabellen?

Oracle hat keinen Oracle-Befehl zum Erstellen oder Ersetzen von Tabellen. Erstellen oder ersetzen ist nur für Ansichten gültig, PLSQL:nur für Prozeduren. Sie müssen die Änderung nur mit dem Befehl ALTER Table vornehmen
Oder Sie können die Tabelle explizit löschen und neu erstellen

2. Haben wir eine Klausel wie Oracle create table if notexists?

Wir haben keine direkte, aber Sie können PLSQL verwenden, um das zu emulieren
SET SERVEROUTPUT ON
DECLARE c_emp int:=0;
BEGIN SELECT count(*) into c_emp FROM dba_tables where table_name ='EMP';
if c_emp<=0
EXECUTE SOFORT 'create table EMP ( ID NUMBER(3), NAME VARCHAR2( 30) NOT NULL,SAL NUMBER*,2))';
end if;
END;
/

Beispielschema zum Üben

SQL>CREATE TABLE "DEPT"
( "DEPTNO" NUMBER(2,0),
"DNAME" VARCHAR2(14),
"LOC" VARCHAR2(13),
CONSTRAINT "PK_DEPT" PRIMARY KEY ("DEPTNO")
)

SQL>CREATE TABLE "EMP"
( "EMPNO" NUMBER(4,0),
"ENAME" VARCHAR2(10),
"JOB" VARCHAR2(9),
"MGR" NUMBER(4,0),
"HIREDATE" DATE,
"SAL" NUMBER(7,2),
"COMM" NUMBER(7,2),
"DEPTNO" NUMBER(2,0),
CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO"),
CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO")
REFERENCES "DEPT" ("DEPTNO") ENABLE
);

SQL> desc emp
Name Null? Type
----------------------------------------- -------- -----------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)

SQL>

SQL> desc dept
Name Null? Type
----------------------------------------- -------- -----------------------

DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)

SQL>

insert into DEPT values(10, 'ACCOUNTING', 'NEW YORK');
insert into dept values(20, 'RESEARCH', 'DALLAS');
insert into dept values(30, 'RESEARCH', 'DELHI');
insert into dept values(40, 'RESEARCH', 'MUMBAI');

insert into emp values( 7698, 'Blake', 'MANAGER', 7839, to_date('1-5-2007','dd-mm-yyyy'), 2850, null, 10 );
insert into emp values( 7782, 'Clark', 'MANAGER', 7839, to_date('9-6-2008','dd-mm-yyyy'), 2450, null, 10 );
insert into emp values( 7788, 'Scott', 'ANALYST', 7566, to_date('9-6-2012','dd-mm-yyyy'), 3000, null, 20 );

insert into emp values( 7789, 'TPM', 'ANALYST', 7566, to_date('9-6-2017','dd-mm-yyyy'), 3000, null, null );
insert into emp values( 7560, 'T1OM', 'ANALYST', 7567, to_date('9-7-2017','dd-mm-yyyy'), 4000, null, 20 );
insert into emp values( 7790, 'TOM', 'ANALYST', 7567, to_date('9-7-2017','dd-mm-yyyy'), 4000, null, null );

SQL> select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7698 BLAKE MANAGER 7839 01-MAY-07 2850 10
7782 CLARK MANAGER 7839 09-JUN-08 2450 10
7788 SCOTT ANALYST 7566 09-JUN-12 3000 20
7789 TPM ANALYST 7566 09-JUN-17 3000
7790 TOM ANALYST 7567 09-JUL-17 4000
7560 T1OM ANALYST 7567 09-JUL-17 4000 20

After the practice is over, you can drop the tables
SQL>drop table emp;

SQL>drop table dept;

Ich hoffe, Ihnen gefällt dieser Artikel über die Anweisung, den Befehl, die Syntax und die Tipps zum Erstellen von Tabellen von Oracle.

Verwandte Artikel
Tabelle ändern, Spalten hinzufügen, Orakel :Nützliche Einblicke in das Ändern von Tabellen, Spalten hinzufügen, Orakel. Details über die Funktion zum schnellen Hinzufügen von Spalten, die in Oracle 11g eingeführt wurde, ebenfalls angegeben
DROP TABLE ORACLE :Erfahren Sie mehr über das Löschen von Tabellen in Oracle, Löschen von Tabellen, falls in Oracle vorhanden, Löschen mehrerer Tabellen in einem Befehl, Löschen von Tabellenkaskadeneinschränkungen
ändern table move :Sehen Sie sich diesen Beitrag für die Schritt-für-Schritt-Methode an, wie Sie die Tabelle in Oracle mit alter table move neu erstellen, wie Sie eine Tabelle mit Lobs und langen Spalten neu erstellen in Oracle aus der Tabelle löschen. Es handelt sich um eine DDL-Anweisung, die die Trigger beim Löschen nicht auslöst Speicherparameter
Oracle listet alle Tabellen auf:Wir können die Liste aller Tabellen in Oracle abrufen, indem wir entweder all_tables oder user_tables oder dba_tables abfragen. Wir können die Spalte und die Where-Klausel nach Bedarf auswählen
Ergänzende Protokollierung in Oracle
Oracle-SQL-Datumsfunktionen
https://docs.oracle.com/cd/B19306_01/server.102/ b14231/tables.htm
Erstellen einer globalen temporären Tabelle in Oracle