In diesem Oracle-Lernprogramm wird die Verwendung der Oracle-Anweisung CREATE TABLE mit Syntax, Beispielen und Übungsübungen erläutert.
Beschreibung
Mit der Oracle-Anweisung CREATE TABLE können Sie eine Tabelle erstellen und definieren.
Syntax
Die Syntax für die CREATE TABLE-Anweisung in Oracle/PLSQL lautet:
(
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
...
column_n datatype [ NULL | NOT NULL ]
);
Parameter oder Argumente
table_name
Der Name der Tabelle, die Sie erstellen möchten.
column1, column2, ... column_n Die Spalten, die Sie in der Tabelle erstellen möchten. Jede Spalte muss einen Datentyp haben. Die Spalte sollte entweder als "null" oder "nicht null" definiert sein. Wenn dieser Wert leer bleibt, geht die Datenbank von "null" aus.
Beispiel
Schauen wir uns ein Beispiel für Oracle CREATE TABLE an.
1 2 3 4 5 |
CREATE TABLE customers ( customer_id number(10) NOT NULL, customer_name varchar2(50) NOT NULL, city varchar2(50) ); |
In diesem Oracle CREATE TABLE-Beispiel wird eine Tabelle mit dem Namen Kunden erstellt, die 3 Spalten enthält.
- Die erste Spalte heißt customer_id und wird als Zahlentyp (maximal 10 Stellen) erstellt und darf keine Nullwerte enthalten.
- Die zweite Spalte heißt customer_name. Dies ist ein varchar2-Datentyp (maximal 50 Zeichen) und darf auch keine NULL-Werte enthalten.
- Die dritte Spalte heißt city. Dies ist ein varchar2-Datentyp, kann jedoch Nullwerte enthalten.
Jetzt besteht das einzige Problem mit dieser Oracle-Anweisung CREATE TABLE darin, dass Sie keinen Primärschlüssel für die Tabelle definiert haben. Wir könnten diese CREATE TABLE-Anweisung ändern und die customer_id wie folgt als Primärschlüssel definieren:
1 2 3 4 5 6 |
CREATE TABLE customers ( customer_id number(10) NOT NULL, customer_name varchar2(50) NOT NULL, city varchar2(50), CONSTRAINT customers_pk PRIMARY KEY (customer_id) ); |
Erfahren Sie mehr über primary keys.
Übungsübung Nr. 1:
Erstellen Sie eine Oracle-Tabelle mit dem Namen supplier, in der supplier_id, name und gespeichert werden Informationen zur address.
Lösung für Übungsübung 1:
Die Oracle CREATE TABLE-Anweisung für die Tabelle der suppliers lautet:
1 2 3 4 5 6 7 8 |
CREATE TABLE suppliers ( supplier_id number(10) NOT NULL, supplier_name varchar2(50) NOT NULL, address varchar2(50), city varchar2(50), state varchar2(25), zip_code varchar2(10) ); |
Übungsübung Nr. 2:
Erstellen Sie eine Oracle-Tabelle mit dem Namen customers, in der customer_id, name und gespeichert werden Informationen zur address.
Diesmal sollte jedoch die customer_id der Primärschlüssel für die Tabelle sein.
Lösung für Übungsübung 2:
Die Oracle-Anweisung CREATE TABLE für die Tabelle customers lautet:
1 2 3 4 5 6 7 8 9 |
CREATE TABLE customers ( customer_id number(10) NOT NULL, customer_name varchar2(50) NOT NULL, address varchar2(50), city varchar2(50), state varchar2(25), zip_code varchar2(10), CONSTRAINT customers_pk PRIMARY KEY (customer_id) ); |
Übungsübung Nr. 3:
Erstellen Sie basierend auf der nachstehenden Tabelle departments eine Oracle-Tabelle mit dem Namen employees, in der employee_number gespeichert wird., employee_name, department und salary. Der primary key für die Tabelle employees sollte die employee_number sein. Erstellen Sie in der Tabelle employees einen foreign key, der auf die Tabelle departments basierend auf der department_id verweist Feld.
1 2 3 4 5 |
CREATE TABLE departments ( department_id number(10) NOT NULL, department_name varchar2(50) NOT NULL, CONSTRAINT departments_pk PRIMARY KEY (department_id) ); |
Lösung für Übungsübung 3:
Die Oracle CREATE TABLE-Anweisung für die Tabelle employees lautet:
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE employees ( employee_number number(10) NOT NULL, employee_name varchar2(50) NOT NULL, department_id number(10), salary number(6), CONSTRAINT employees_pk PRIMARY KEY (employee_number), CONSTRAINT fk_departments FOREIGN KEY (department_id) REFERENCES departments(department_id) ); |