Příkaz SQL CREATE TABLE se používá k vytvoření tabulky v databázi.
Pokud chcete vytvořit tabulku, měli byste ji pojmenovat a definovat její sloupec a datový typ každého sloupce.
Podívejme se na jednoduchou syntaxi pro vytvoření tabulky.
create table 'tablename' ('column1' 'data type', 'column2' 'data type', 'column3' 'data type', ... 'columnN' 'data type');
Datový typ sloupců se může lišit od jedné databáze k druhé. Například NUMBER je podporováno v databázi Oracle pro celočíselnou hodnotu, zatímco INT je podporováno v MySQL.
Vezměme si příklad pro vytvoření tabulky STUDENTS s ID jako primárním klíčem a NOT NULL jsou omezení ukazující, že tato pole nemohou být NULL při vytváření záznamů v tabulce.
SQL> CREATE TABLE STUDENTS ( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), PRIMARY KEY (ID) );
Můžete to ověřit, pokud jste tabulku úspěšně vytvořili, pohledem na zprávu zobrazenou SQL Serverem, jinak můžete použít příkaz DESC takto:
SQL> DESC STUDENTI;
maven nainstalovat
POLE | TYP | NULA | KLÍČ | VÝCHOZÍ | DALŠÍ |
---|---|---|---|---|---|
ID | Int(11) | NE | PŘI | ||
NÁZEV | Varchar(20) | NE | |||
STÁŘÍ | Int(11) | NE | |||
ADRESA | Varchar(25) | ANO | NULA |
4 řádky v sadě (0,00 s)
Nyní máte ve své databázi k dispozici tabulku STUDENTI, kterou můžete použít k ukládání požadovaných informací týkajících se studentů.
SQL CREATE TABLE Příklad v MySQL
Podívejme se na příkaz k vytvoření tabulky v databázi MySQL.
CREATE TABLE Employee ( EmployeeID int, FirstName varchar(255), LastName varchar(255), Email varchar(255), AddressLine varchar(255), City varchar(255) );
SQL CREATE TABLE Příklad v Oracle
Podívejme se na příkaz k vytvoření tabulky v databázi Oracle.
CREATE TABLE Employee ( EmployeeID number(10), FirstName varchar2(255), LastName varchar2(255), Email varchar2(255), AddressLine varchar2(255), City varchar2(255) );
SQL CREATE TABLE Příklad v Microsoft SQLServer
Podívejme se na příkaz pro vytvoření tabulky v databázi SQLServer. Je to stejné jako MySQL a Oracle.
CREATE TABLE Employee ( EmployeeID int, FirstName varchar(255), LastName varchar(255), Email varchar(255), AddressLine varchar(255), City varchar(255) );
Vytvořte tabulku pomocí jiné tabulky
Pomocí příkazu create table můžeme vytvořit kopii existující tabulky. Nová tabulka získá stejný podpis sloupce jako stará tabulka. Můžeme vybrat všechny sloupce nebo některé konkrétní sloupce.
Pokud vytvoříme novou tabulku pomocí staré tabulky, bude nová tabulka naplněna stávající hodnotou ze staré tabulky.
Základní syntaxe pro vytvoření tabulky s druhou tabulkou je:
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;
Primární klíč SQL s příkazem CREATE TABLE
Následující dotaz vytvoří PRIMÁRNÍ KLÍČ ve sloupci 'D' při vytvoření tabulky 'Zaměstnanec'.
řetězec v poli v c
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) );
Pomocí následujícího dotazu definujte omezení PRIMARY KEY na více sloupcích a povolte pojmenování omezení PRIMARY KEY.
Pro 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) );