Die SQL-Anweisung CREATE TABLE wird zum Erstellen einer Tabelle in einer Datenbank verwendet.
Wenn Sie eine Tabelle erstellen möchten, sollten Sie die Tabelle benennen und ihre Spalte sowie den Datentyp jeder Spalte definieren.
Sehen wir uns die einfache Syntax zum Erstellen der Tabelle an.
create table 'tablename' ('column1' 'data type', 'column2' 'data type', 'column3' 'data type', ... 'columnN' 'data type');
Der Datentyp der Spalten kann von Datenbank zu Datenbank unterschiedlich sein. Beispielsweise wird NUMBER in der Oracle-Datenbank für Ganzzahlwerte unterstützt, während INT in MySQL unterstützt wird.
Nehmen wir als Beispiel die Erstellung einer STUDENTS-Tabelle mit der ID als Primärschlüssel und NOT NULL als Einschränkung, die zeigt, dass diese Felder beim Erstellen von Datensätzen in der Tabelle nicht NULL sein dürfen.
SQL> CREATE TABLE STUDENTS ( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), PRIMARY KEY (ID) );
Sie können es überprüfen, wenn Sie die Tabelle erfolgreich erstellt haben, indem Sie sich die vom SQL Server angezeigte Meldung ansehen. Alternativ können Sie den Befehl DESC wie folgt verwenden:
SQL> DESC STUDENTEN;
FELD | TYP | NULL | SCHLÜSSEL | STANDARD | EXTRA |
---|---|---|---|---|---|
AUSWEIS | Int(11) | NEIN | BEI | ||
NAME | Varchar(20) | NEIN | |||
ALTER | Int(11) | NEIN | |||
ADRESSE | Varchar(25) | JA | NULL |
4 Reihen im Satz (0,00 Sek.)
Jetzt steht Ihnen in Ihrer Datenbank die Tabelle STUDENTS zur Verfügung, in der Sie die erforderlichen Informationen zu Studenten speichern können.
SQL CREATE TABLE-Beispiel in MySQL
Sehen wir uns den Befehl zum Erstellen einer Tabelle in der MySQL-Datenbank an.
CREATE TABLE Employee ( EmployeeID int, FirstName varchar(255), LastName varchar(255), Email varchar(255), AddressLine varchar(255), City varchar(255) );
SQL CREATE TABLE-Beispiel in Oracle
Sehen wir uns den Befehl zum Erstellen einer Tabelle in der Oracle-Datenbank an.
CREATE TABLE Employee ( EmployeeID number(10), FirstName varchar2(255), LastName varchar2(255), Email varchar2(255), AddressLine varchar2(255), City varchar2(255) );
SQL CREATE TABLE-Beispiel in Microsoft SQLServer
Sehen wir uns den Befehl zum Erstellen einer Tabelle in der SQLServer-Datenbank an. Es ist dasselbe wie MySQL und Oracle.
CREATE TABLE Employee ( EmployeeID int, FirstName varchar(255), LastName varchar(255), Email varchar(255), AddressLine varchar(255), City varchar(255) );
Erstellen Sie eine Tabelle mit einer anderen Tabelle
Mit dem Befehl „Tabelle erstellen“ können wir eine Kopie einer vorhandenen Tabelle erstellen. Die neue Tabelle erhält dieselbe Spaltensignatur wie die alte Tabelle. Wir können alle Spalten oder einige bestimmte Spalten auswählen.
Wenn wir eine neue Tabelle unter Verwendung einer alten Tabelle erstellen, wird die neue Tabelle mit dem vorhandenen Wert aus der alten Tabelle gefüllt.
Die grundlegende Syntax zum Erstellen einer Tabelle mit der anderen Tabelle lautet:
Quartale im Jahr
CREATE TABLE table_name AS SELECT column1, column2,... FROM old_table_name WHERE ..... ; The following SQL creates a copy of the employee table. CREATE TABLE EmployeeCopy AS SELECT EmployeeID, FirstName, Email FROM Employee;
SQL-Primärschlüssel mit CREATE TABLE-Anweisung
Die folgende Abfrage erstellt einen PRIMARY KEY für die Spalte „D“, wenn die Tabelle „Employee“ erstellt wird.
MySQL
CREATE TABLE Employee( EmployeeID NOT NULL, FirstName varchar(255) NOT NULL, LastName varchar(255), City varchar(255), PRIMARY KEY (EmployeeID) );
SQL Server / Oracle / MS Access
CREATE TABLE Employee( EmployeeID NOT NULL PRIMARY KEY, FirstName varchar(255) NOT NULL, LastName varchar(255), City varchar(255) );
Verwenden Sie die folgende Abfrage, um PRIMARY KEY-Einschränkungen für mehrere Spalten zu definieren und die Benennung von PRIMARY KEY-Einschränkungen zu ermöglichen.
Für MySQL/SQL Server/Oracle/MS Access
CREATE TABLE Employee( EmployeeID NOT NULL, FirstName varchar(255) NOT NULL, LastName varchar(255), City varchar(255), CONSTRAINT PK_Employee PRIMARY KEY (EmployeeID, FirstName) );