logo

SQL CREA TABELLA

L'istruzione SQL CREATE TABLE viene utilizzata per creare una tabella in un database.

Se vuoi creare una tabella, devi nominare la tabella e definire la sua colonna e il tipo di dati di ciascuna colonna.

Vediamo la semplice sintassi per creare la tabella.

 create table 'tablename' ('column1' 'data type', 'column2' 'data type', 'column3' 'data type', ... 'columnN' 'data type'); 

Il tipo di dati delle colonne può variare da un database all'altro. Ad esempio, NUMBER è supportato nel database Oracle per il valore intero mentre INT è supportato in MySQL.

Facciamo un esempio per creare una tabella STUDENTS con ID come chiave primaria e NOT NULL è il vincolo che mostra che questi campi non possono essere NULL durante la creazione dei record nella tabella.

 SQL> CREATE TABLE STUDENTS ( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), PRIMARY KEY (ID) ); 

Puoi verificarlo, se hai creato correttamente la tabella guardando il messaggio visualizzato da SQL Server, altrimenti puoi utilizzare il comando DESC come segue:

SQL> DESC STUDENTI;

CAMPOTIPONULLOCHIAVEPREDEFINITOEXTRA
IDInterno(11)NOA
NOMEVarchar(20)NO
ETÀInterno(11)NO
INDIRIZZOVarchar(25)NULLO

4 righe in serie (0,00 sec)

Ora hai la tabella STUDENTI disponibile nel tuo database e puoi utilizzarla per memorizzare le informazioni richieste relative agli studenti.

Esempio di SQL CREATE TABLE in MySQL

Vediamo il comando per creare una tabella nel database MySQL.

 CREATE TABLE Employee ( EmployeeID int, FirstName varchar(255), LastName varchar(255), Email varchar(255), AddressLine varchar(255), City varchar(255) ); 

Esempio di SQL CREATE TABLE in Oracle

Vediamo il comando per creare una tabella nel database Oracle.

 CREATE TABLE Employee ( EmployeeID number(10), FirstName varchar2(255), LastName varchar2(255), Email varchar2(255), AddressLine varchar2(255), City varchar2(255) ); 

Esempio di SQL CREATE TABLE in Microsoft SQLServer

Vediamo il comando per creare una tabella nel database SQLServer. È lo stesso di MySQL e Oracle.

 CREATE TABLE Employee ( EmployeeID int, FirstName varchar(255), LastName varchar(255), Email varchar(255), AddressLine varchar(255), City varchar(255) ); 

Crea una tabella utilizzando un'altra tabella

Possiamo creare una copia di una tabella esistente utilizzando il comando crea tabella. La nuova tabella ottiene la stessa segnatura di colonna della vecchia tabella. Possiamo selezionare tutte le colonne o alcune colonne specifiche.

Se creiamo una nuova tabella utilizzando una vecchia tabella, la nuova tabella verrà riempita con il valore esistente della vecchia tabella.

La sintassi di base per creare una tabella con l'altra tabella è:

 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; 

Chiave primaria SQL con istruzione CREATE TABLE

La query seguente crea una CHIAVE PRIMARIA nella colonna 'D' quando viene creata la tabella 'Employee'.

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) ); 

Utilizzare la query seguente per definire vincoli PRIMARY KEY su più colonne e per consentire la denominazione di vincoli PRIMARY KEY.

Per 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) );