Creazione di tabelle

All lectures for IT purposes
Livello 1 , Lezione 184
Disponibile

Creazione significativa di tabelle

Nelle lezioni precedenti abbiamo già familiarizzato un po 'con le query per la creazione di tabelle, ora è il momento di approfondire questo argomento.

La creazione di una tabella è molto simile alla dichiarazione di una classe in Java e ha questo schema:

CREATE TABLE table_name (
	column1 datatype,
	column2 datatype,
	column3 datatype,
   ....
);

Ad esempio, scriviamo una query che crea una tabella con gli utenti:

CREATE TABLE user (
	id INT,
	name VARCHAR(100),
	level INT,
	created_date DATE,
);

Sembra molto semplice, perché qui non sono indicate molte sfumature.

Innanzitutto, la tabella potrebbe avere impostazioni aggiuntive.

E in secondo luogo, ogni colonna può avere impostazioni aggiuntive.

E inizieremo con le impostazioni per la creazione di colonne.

Chiavi nel tavolo

Oltre al nome e al tipo di dati, una colonna della tabella può avere anche le seguenti impostazioni:

CHIAVE PRIMARIA La colonna è la chiave della tabella
CHIAVE UNICA Tutti i valori di colonna devono essere univoci.
Valore di default Valore di default
NON NULLO Il divieto di accettare il valore NULL
INCREMENTO AUTOMATICO SQL Server incrementerà automaticamente il valore quando un nuovo record viene aggiunto alla tabella
GENERATO Campo calcolato
MAGAZZINAGGIO Dove archiviare i dati: su disco o in memoria
COMMENTO Commento alla colonna, ad esempio titolo nella lingua locale

Di seguito ne esamineremo alcuni.

Innanzitutto, è PRIMARY KEY .

Molto spesso, questa è una colonna separata con il nome id e il tipo INT. Questa è la cosiddetta "chiave principale" della tabella e tutte le sue righe hanno valori univoci per questa chiave. Viene utilizzato principalmente in modo che altre tabelle possano fare riferimento ai record della nostra tabella e puntare al suo record specifico.

Il secondo è UNIQUE KEY .

Per certi versi è simile a PRIMARY KEY, sebbene il suo carico semantico sia completamente diverso. Se una colonna ha l'attributo UNIQUE, tutti i valori in quella colonna devono essere univoci. Un buon esempio della differenza tra UNIQUE KEY e PRIMARY KEY è l'elenco delle persone nell'ufficio passaporti.

Il codice fiscale è una CHIAVE PRIMARIA, serve per facilitare il riferimento alla persona giusta da altre tabelle.

Il numero del passaporto è una CHIAVE UNICA. Due persone non possono avere lo stesso numero di passaporto. Tuttavia, il numero del passaporto può essere modificato. Ad esempio, quando si cambia il cognome. E il codice fiscale rimarrà con te per sempre. Questo è il compito principale di PRIMARY KEY. Un esempio di query che specifica la PRIMARY KEY:

CREATE TABLE user (
	id INT PRIMARY KEY,
	name VARCHAR(100),
	level INT,
	created_date DATE,
);

Impostazioni del tipo di dati

Ci sono attributi meno importanti ma utili.

Valore PREDEFINITO

Quando si inseriscono dati (aggiungendo una nuova riga) in una tabella, è possibile tralasciare i valori di alcune colonne se hanno un valore predefinito. In questo caso, il server SQL imposterà semplicemente il valore della colonna stessa.

A partire dalla versione 8 di MySQL, puoi specificare un'espressione come valore.

NON NULLO

Se si specifica l'attributo NOT NULL per una colonna durante la creazione di una tabella, SQL Server garantirà l'impossibilità di memorizzare un valore NULL in questa colonna. Per impostazione predefinita, qualsiasi colonna può avere un valore NULL, anche una colonna INT. Il che è un po 'non ovvio per un programmatore Java.

INCREMENTO AUTOMATICO

Di solito è usato per gli ID di colonna. Quando aggiungi una nuova riga a una tabella, vuoi davvero che il server SQL assegni un id per questa voce. Chi meglio del server sa quante righe ha nella tabella. Soprattutto se le richieste di client diversi vanno allo stesso server SQL.

Questo è esattamente ciò che fa l'attributo AUTO_INCREMENT. Quando aggiungiamo una nuova riga, semplicemente non passiamo nulla come ID e il server SQL specificherà l'ID corretto per questo record: prenderà semplicemente l'ID dell'ultimo record esistente e lo incrementerà di 1. Questo attributo può essere solo utilizzato con tipi di numeri interi e reali. E, naturalmente, facciamo un esempio di creazione di una tabella del genere:

CREATE TABLE user (
	id INT PRIMARY KEY AUTO_INCREMENT,
	name VARCHAR(100) NOT NULL,
	level INT DEFAULT 1,
	created_date DATE NOT NULL,
);
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION