SQL CREATE TABLE sakinys naudojamas kuriant lentelę duomenų bazėje.
Jei norite sukurti lentelę, turėtumėte pavadinti lentelę ir apibrėžti jos stulpelį bei kiekvieno stulpelio duomenų tipą.
Pažiūrėkime, kaip paprasta sintaksė sukurti lentelę.
create table 'tablename' ('column1' 'data type', 'column2' 'data type', 'column3' 'data type', ... 'columnN' 'data type');
Stulpelių duomenų tipas įvairiose duomenų bazėse gali skirtis. Pavyzdžiui, NUMBER palaikomas „Oracle“ duomenų bazėje sveikiesiems skaičiams, o INT palaikomas „MySQL“.
java versija linux
Paimkime pavyzdį, kaip sukurti lentelę STUDENTAI su ID kaip pirminiu raktu, o NOT NULL yra apribojimas, rodantis, kad šie laukai negali būti NULL, kai kuriami lentelės įrašai.
SQL> CREATE TABLE STUDENTS ( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), PRIMARY KEY (ID) );
Jei sėkmingai sukūrėte lentelę, galite tai patikrinti žiūrėdami į SQL serverio rodomą pranešimą, kitu atveju galite naudoti komandą DESC taip:
SQL> DESC STUDENTS;
LAUKAS | TIPAS | NULL | RAKTAS | NUMATYTAS | PAPILDOMAS |
---|---|---|---|---|---|
ID | Tarpinis (11) | NE | AT | ||
VARDAS | Varcharas (20) | NE | |||
AMŽIAUS | Tarpinis (11) | NE | |||
ADRESAS | Varcharas (25) | TAIP | NULL |
4 eilutės rinkinyje (0,00 sek.)
Dabar jūsų duomenų bazėje yra lentelė STUDENTAI, kurią galite naudoti norėdami saugoti reikiamą informaciją, susijusią su studentais.
SQL CREATE TABLE pavyzdys MySQL
Pažiūrėkime komandą sukurti lentelę MySQL duomenų bazėje.
eilutė suskaidyta java
CREATE TABLE Employee ( EmployeeID int, FirstName varchar(255), LastName varchar(255), Email varchar(255), AddressLine varchar(255), City varchar(255) );
SQL CREATE TABLE pavyzdys „Oracle“.
Pažiūrėkime komandą sukurti lentelę Oracle duomenų bazėje.
CREATE TABLE Employee ( EmployeeID number(10), FirstName varchar2(255), LastName varchar2(255), Email varchar2(255), AddressLine varchar2(255), City varchar2(255) );
„SQL CREATE TABLE“ pavyzdys „Microsoft SQLServer“.
Pažiūrėkime komandą sukurti lentelę SQLServer duomenų bazėje. Tai tas pats, kas MySQL ir Oracle.
CREATE TABLE Employee ( EmployeeID int, FirstName varchar(255), LastName varchar(255), Email varchar(255), AddressLine varchar(255), City varchar(255) );
Sukurkite lentelę naudodami kitą lentelę
Galime sukurti esamos lentelės kopiją naudodami komandą sukurti lentelę. Naujoji lentelė gauna tą patį stulpelio parašą kaip ir senoji lentelė. Galime pasirinkti visus stulpelius arba kai kuriuos konkrečius stulpelius.
Jei sukursime naują lentelę naudodami seną lentelę, nauja lentelė bus užpildyta esama verte iš senosios lentelės.
Pagrindinė lentelės su kita lentele kūrimo sintaksė yra tokia:
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 pirminis raktas su CREATE TABLE pareiškimu
Ši užklausa sukuria PIRMINĮ RAKTĄ stulpelyje „D“, kai sukuriama lentelė „Darbuotojas“.
MySQL
CREATE TABLE Employee( EmployeeID NOT NULL, FirstName varchar(255) NOT NULL, LastName varchar(255), City varchar(255), PRIMARY KEY (EmployeeID) );
SQL serveris / Oracle / MS Access
CREATE TABLE Employee( EmployeeID NOT NULL PRIMARY KEY, FirstName varchar(255) NOT NULL, LastName varchar(255), City varchar(255) );
Naudokite šią užklausą, norėdami apibrėžti PIRMINIO RAKTŲ apribojimus keliuose stulpeliuose ir leisti pavadinti PIRMINIO RAKTŲ apribojimus.
Skirta 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) );