Introduzione
MySQL è un'applicazione di database ben nota, gratuita e open source. Le sue elevate prestazioni, facilità d'uso e sicurezza dei dati lo rendono una soluzione di database popolare.
Uno dei processi più importanti in MySQL è la creazione di tabelle per archiviare e organizzare i dati.
In questa guida imparerai come creare una tabella in MySQL e inserire dati, oltre a diversi modi per interrogare i dati.
Prerequisiti
- Accesso a una finestra di terminale/riga di comando
- Un sistema che esegue MySQL (scopri come controllare la versione di MySQL)
- Un account utente MySQL con privilegi di root o amministratore
Crea una tabella in MySQL Shell
Una tabella MySQL memorizza e organizza i dati in colonne e righe come definito durante la creazione della tabella.
La sintassi generale per creare una tabella in MySQL è:
CREATE TABLE [IF NOT EXISTS] table_name(
column_definition1,
column_definition2,
........,
table_constraints
);
Fase 1:accedi a MySQL Shell
1. Aprire una finestra del terminale e accedere alla shell MySQL. Usa un account utente MySQL esistente o accedi come root.
(Sostituisci username\root
con il tuo nome utente. )
sudo mysql -u username\root -p
2. Digita la password per il tuo account.
Il mysql>
prompt indica che sei connesso alla shell MySQL.
Fase 2:crea un database
Creiamo un film banca dati.
1. Crea un database utilizzando CREATE
dichiarazione:
CREATE DATABASE movies;
2. Successivamente, verificare che il database sia stato creato visualizzando un elenco di tutti i database. Usa il SHOW
dichiarazione:
SHOW DATABASES;
Il terminale stampa un elenco di database e informazioni sul tempo impiegato per eseguire la query:
3. Selezionare il database per apportare modifiche utilizzando il USE
dichiarazione:
USE movies;
Fase 3:crea una tabella
Creeremo una tabella contenente informazioni su due film:
Titolo | Genere | Direttore | Anno di rilascio |
Jolly | thriller psicologico | Todd Phillips | 2019 |
L'impero colpisce ancora | opera spaziale epica | Irvin Kershner | 1980 |
Durante il processo di creazione di una tabella, è necessario specificare le seguenti informazioni:
- Nomi delle colonne – Stiamo creando il titolo , genere , direttore e anno di rilascio colonne per la nostra tabella.
- Varchar delle colonne contenenti caratteri – Specifica il numero massimo di caratteri archiviati nella colonna.
- Il numero intero delle colonne contenenti numeri – Definisce variabili numeriche contenenti numeri interi.
- Regola non nulla – Indica che ogni nuovo record deve contenere informazioni per la colonna.
- Chiave primaria – Imposta una colonna che definisce un record.
1. Crea una tabella utilizzando CREATE
comando. Utilizzando le informazioni dai nostri film ad esempio, il comando è:
CREATE TABLE movies(title VARCHAR(50) NOT NULL,genre VARCHAR(30) NOT NULL,director VARCHAR(60) NOT NULL,release_year INT NOT NULL,PRIMARY KEY(title));
2. Verifica che la tabella sia stata creata utilizzando il DESCRIBE
comando:
DESCRIBE movies;
Il terminale stampa le informazioni sulla tabella:
- Campo – Indica il nome della colonna.
- Digita – Specifica il tipo di dati per la colonna (varchar per i caratteri, int per i numeri).
- Nulla – Indica se la colonna può rimanere con valori nulli.
- Chiave – Visualizza la colonna principale.
- Predefinito – Visualizza il valore predefinito della colonna.
- Extra – Indica informazioni aggiuntive sulle colonne.
3. Inserisci le informazioni sul film nell'ordine delle colonne:titolo , genere , direttore e anno di rilascio . Usa il INSERT
comando:
INSERT INTO movies VALUE ("Joker", "psychological thriller", "Todd Phillips", 2019);
4. Ripetere il passaggio precedente con il secondo filmato. Usa il SELECT
comando per visualizzare la tabella:
SELECT * FROM movies;
Il terminale stampa il film tabella:
Crea una tabella utilizzando uno script di file
C'è un'opzione per creare una tabella MySQL usando uno script.
1. Usa il tuo editor di testo preferito per creare un file e inserisci la seguente sintassi:
CREATE DATABASE movies1;
USE movies1;
CREATE TABLE movies1(title VARCHAR(50) NOT NULL,genre VARCHAR(30) NOT NULL,director VARCHAR(60) NOT NULL,release_year INT NOT NULL,PRIMARY KEY(title));
INSERT INTO movies1 VALUE ("Joker", "psychological thriller", "Todd Phillips", 2019);
2. Dopo aver inserito la sintassi, salvare il file ed uscire dall'editor di testo.
3. Copia il file su MySQL usando il seguente comando:
sudo mysql -u root -p < movies1.sql/code>
Lo script viene eseguito automaticamente dopo la copia. Nel nostro caso, crea una tabella con i dati di movies1.sql file.
4. Accedi alla shell MySQL:
5. Verifica che lo script sia stato eseguito correttamente selezionando la tabella appena creata:
SHOW DATABASES;
USE movies1;
SELECT * FROM movies1;
Esegui query sui dati MySQL
Ci sono diverse opzioni per interrogare i dati da una tabella MySQL. Utilizzando il SELECT
e VIEW
dichiarazioni, puoi manipolare e trovare i dati in modo efficiente.
Visualizza i dati della colonna
Visualizza i dati delle colonne utilizzando il SELECT
comando:
SELECT title FROM movies;
L'output mostra la colonna selezionata e i dati ad essa associati:
Crea una vista
Le viste sono query SQL che visualizzano i dati in base a parametri definiti.
1. Crea una vista denominata anno_di_rilascio_minimo per visualizzare i titoli dei film il cui anno di uscita è successivo al 1990. Usa il CREATE VIEW
comando e definire i parametri della query:
CREATE VIEW minimum_release_year AS SELECT title FROM movies WHERE release_year > 1990;
2. Visualizza la vista utilizzando il SELECT
comando:
SELECT * FROM minimum_release_year;
L'output mostra i film usciti dopo il 1990.
Modificare una vista
Il ALTER VIEW
L'istruzione MySQL modifica i parametri di query della vista creata in precedenza. Ad esempio, modificheremo l'anno_di_rilascio_minimo visualizza per visualizzare i titoli dei film il cui anno di uscita è precedente al 2018.
1. Per farlo, esegui ALTER VIEW
comando con i nuovi parametri:
ALTER VIEW minimum_release_year AS SELECT title FROM movies WHERE release_year < 2018;
2. Usa il SELECT
comando per verificare che la vista sia stata modificata:
SELECT * FROM minimum_release_year;
L'output ora mostra i film usciti prima del 2018.