In MySQL, puoi creare tabelle tramite la GUI o eseguendo il codice SQL. Ecco una carrellata di entrambi i metodi.
Ora che abbiamo creato il nostro database, creiamo alcune tabelle.
Creazione di tabelle tramite la GUI
Un modo per creare una tabella è tramite la GUI di MySQL Workbench. Questa è un'opzione facile per coloro che preferiscono le interfacce utente grafiche.
Anche se inizi utilizzando la GUI, ti consiglio di acquisire familiarità con la creazione di tabelle in modo programmatico utilizzando CREATE TABLE
dichiarazione.
Il CREATE TABLE
Dichiarazione
Il CREATE TABLE
istruzione fa esattamente come suggerisce il nome:crea una tabella.
Tuttavia, è necessario fornire informazioni sulla tabella che si desidera creare da MySQL. Ad esempio, il nome della tabella, i nomi delle colonne e i relativi tipi di dati, i valori predefiniti, i vincoli, ecc.
Ecco l'esempio che abbiamo usato nella pagina precedente:
CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);
Questo crea una tabella chiamata Fruit
che contiene due colonne:FruitName
e DateEntered
.
Il FruitName
colonna utilizza un tipo di dati di VARCHAR(20)
, il che significa che accetta dati che sono un VARCHAR
(stringa a lunghezza variabile) fino a 20 caratteri.
Il DateEntered
colonna utilizza un tipo di dati DATETIME
il che significa che la colonna accetta il formato DATETIME (una data e un'ora) nel seguente formato YYYY-MM-DD HH:MM:SS
.
È possibile specificare che una colonna deve sempre contenere un valore (che non deve essere "null"). Per fare ciò, includi NOT NULL
nelle specifiche di quella colonna (esempio sotto).
Se tenti di inserire dati che non sono nel formato specificato per quella colonna, riceverai un errore.
Crea più tabelle
Per creare più tabelle è sufficiente aggiungere un CREATE TABLE
dichiarazione per ogni tabella che devi creare.
CREATE TABLE table_1 (...); CREATE TABLE table_2 (...);
Esempio
In precedenza abbiamo creato un database vuoto chiamato "FruitShop". Ma non abbiamo creato tabelle in quel momento. Aggiorniamo lo script in modo che crei un database e due tabelle. Aggiungeremo altre cose al codice.
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE Units ( UnitId TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, UnitName VARCHAR(10) NOT NULL, DateEntered DATETIME NOT NULL, DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (UnitId) )ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE Fruit ( FruitId SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, FruitName VARCHAR(45) NOT NULL, Inventory SMALLINT UNSIGNED NOT NULL, UnitId TINYINT UNSIGNED NOT NULL, DateEntered DATETIME NOT NULL, DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (FruitId), CONSTRAINT fkFruitUnits FOREIGN KEY (UnitId) REFERENCES Units (UnitId) ON DELETE RESTRICT ON UPDATE CASCADE )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Esegui lo script sopra e quindi aggiorna la colonna di sinistra di MySQL Workbench. Dovresti vedere il tuo FruitShop appena creato database elencato in SCHEMI scheda.
Espandi le Tabelle node e vedrai le tabelle che hai appena creato:
Puoi anche espandere ogni tabella per vederne le colonne e tutti gli altri oggetti che hai creato per quella tabella.
Mostra le informazioni sulla tabella in modo programmatico
È inoltre possibile visualizzare le informazioni sulla tabella in modo programmatico. Cioè, inserendo un comando SQL per visualizzare le informazioni di cui hai bisogno.
Nell'esempio seguente, impostiamo il database predefinito su FruitShop
utilizzando USE FruitShop
. Chiediamo quindi a MySQL di visualizzare tutte le tabelle per il database predefinito (usando SHOW TABLES
):
USE FruitShop; SHOW TABLES;
Puoi anche scoprire la struttura di una determinata tabella usando il seguente comando (basta sostituire il nome della tabella con la tabella di cui hai bisogno della struttura):
DESCRIBE Fruit;
Ecco il risultato di quel comando sul nostro database: