Database
 sql >> Database >  >> RDS >> Database

Tutorial SQL:una soluzione completa per imparare l'SQL

Nel mercato odierno, dove ogni giorno vengono generati circa 2,5 quintilioni di byte di dati, è molto importante capire come gestire una tale enorme quantità di dati. Bene, è qui che entra in gioco Structured Query Language o SQL. Quindi, in questo articolo su SQL Tutorial, discuterò i seguenti concetti importanti, che sono un must per il proprio percorso per diventare un amministratore di database.

  • Introduzione a SQL
    1. Cos'è SQL?
    2. Applicazioni di SQL
    3. Tipi di dati SQL
    4. Operatori SQL
  • Comandi SQL principali
    1. CREA
    2. CADUTA
    3. ALTER
    4. TRONCA
    5. SPIEGARE
    6. INSERISCI IN
    7. AGGIORNAMENTO
    8. SELEZIONA
    9. MI PIACE
    10. CONCESSIONE
  • Chiavi nel database
  • Vincoli SQL
  • Normalizzazione
  • Join SQL
  • Viste

Esercitazione SQL:Introduzione a SQL

Cos'è SQL?

Sviluppato da Donald D.Chamberlin negli anni '70, Structured Query Language o più comunemente noto come SQL è uno dei linguaggi più popolari utilizzati per manipolare, archiviare, aggiornare e recuperare dati da una banca dati relazionale. SQL è costituito da vari comandi suddivisi in 4 categorie, ovvero DDL, DML, DCL e TCL per giocare con i dati nei database. Inoltre, i database relazionali come i database MySQL, Oracle, MS SQL Server, Sybase ecc. utilizzano SQL per modificare i dati.

Applicazioni di SQL

Le applicazioni di SQL sono le seguenti:

  • Con SQL puoi creare e rilasciare tabelle e database.
  • Consente agli utenti di definire e manipolare i dati nei database.
  • SQL consente agli utenti di accedere, modificare e descrivere i dati in RDBMS.
  • Con SQL, puoi impostare autorizzazioni su tabelle, viste e procedure e concedere autorizzazioni specifiche a utenti diversi.
  • SQL ti consente di incorporare in altri linguaggi utilizzando librerie e moduli SQL.

Ora che conosci le basi di SQL, in questo tutorial SQL, cerchiamo di capire quali sono i diversi tipi di dati SQL.

Tipi di dati SQL

I tipi di dati SQL sono suddivisi nelle seguenti categorie:

  • Numero – I tipi di dati numerici consentono sia interi con segno che senza segno. Possono essere ulteriormente suddivisi in tipi di dati esatti e approssimati in cui esatto consente i numeri interi sotto forma di numeri interi e approssimativo consente numeri interi mobili.
  • Stringa di caratteri – Questo tipo di dati consente caratteri di lunghezza fissa e variabile. Questo tipo di dati può anche essere ulteriormente classificato in caratteri Unicode, che consentono una lunghezza fissa e variabile dei caratteri Unicode.
  • Binario – I tipi di dati binari consentono di archiviare i dati nel formato di valori binari, per lunghezza fissa e variabile.
  • Data e ora – Questo tipo di dati consente di memorizzare i dati in diversi formati di data e ora.
  • Altro – Questa sezione di tipi di dati contiene tipi di dati come tabella, XML, cursore, identificatore univoco e sql_variant.

Se desideri ottenere una comprensione dettagliata dei diversi tipi di dati SQL, puoi fare riferimento alla guida dettagliata sui tipi di dati SQL.

Operatori SQL

Gli operatori sono i costrutti che possono manipolare i valori degli operandi. Considera l'espressione 4 + 6 =10, qui 4 e 6 sono operandi e + è chiamato operatore.

SQL supporta i seguenti tipi di operatori:

  • Operatori aritmetici
  • Operatori bit a bit
  • Operatori di confronto
  • Operatori composti
  • Operatori logici

Per conoscere i diversi operatori supportati da SQL, in maniera elaborata, puoi cliccare qui. Quindi, ora che sai cos'è SQL e le sue basi, facci capire i comandi o le istruzioni principali in SQL.

Esercitazione SQL:i principali comandi SQL

SQL è costituito da vari comandi o istruzioni per aggiungere, modificare, eliminare o aggiornare i dati nel database. In questo articolo sull'esercitazione SQL, discuteremo le seguenti affermazioni:

    1. CREA
    2. CADUTA
    3. ALTER
    4. TRONCA
    5. SPIEGARE
    6. INSERISCI IN
    7. AGGIORNAMENTO
    8. SELEZIONA
    9. MI PIACE
    10. CONCESSIONE

In questo tutorial SQL, prenderò in considerazione il database seguente come esempio, per mostrarti come scrivere query utilizzando questi comandi SQL.

ID cliente Nome cliente Numero di telefono Indirizzo Città Paese
1 Simone 9876543210 Donald Street 52 Hyderabad India
2 Akash 9955449922 Queens Road 74 Mumbai India
3 Patrick 9955888220 Lavagna in seta 82 Delhi India
4 Uguale 9647974327 IG Road 19 Hyderabad India
5 Giovanni 9674325689 Brigata Road Block 9 Bangalore India

CREA

L'istruzione CREATE viene utilizzata per creare una tabella, una vista o un database nel modo seguente:

CREA DATABASE

Utilizzato per creare un database.

Sintassi

CREATE DATABASE DatabaseName;

Esempio

 
CREATE DATABASE CustomerInfo; 

CREA TABELLA

Questa istruzione viene utilizzata per creare una tabella.

Sintassi

CREATE TABLE TableName (
Column1 data type,
Column2 data type,
....

ColumnN data type
);

Esempio

 
CREATE TABLE Customers
(
CustomerID int,
CustomerName varchar(255),
PhoneNumber int,
Address varchar(255),
City varchar(255),
Country varchar(255)
);

CREA VISUALIZZA

Utilizzato per creare una vista.

Sintassi

CREATE VIEW OR REPLACE ViewName AS
SELECT Column1, Column2, ..., ColumnN
FROM TableName
WHERE Condition;

Esempio

CREATE VIEW OR REPLACE HydCustomers AS
SELECT CustomerName, PhoneNumber
FROM Customers
WHERE City = "Hyderabad";

Nota: Prima di iniziare a creare una tabella e inserire i valori, è necessario utilizzare il database, utilizzando l'istruzione USE come [USE CustomersInfo; ]

DROP

L'istruzione DROP viene utilizzata per eliminare una tabella, una vista o un database esistente.

DATI DROP

Utilizzato per eliminare il database. Quando si utilizza questa affermazione, le informazioni complete presenti nel database andranno perse.

Sintassi

DROP DATABASE DatabaseName;

Esempio

DROP DATABASE CustomerInfo;

TAVOLA A CADUTA

Utilizzato per eliminare la tabella. Quando utilizzi questa affermazione, le informazioni complete presenti nella tabella andranno perse.

Sintassi

DROP TABLE TableName;

Esempio

DROP TABLE Customers;

VISTA A CADUTA

Utilizzato per eliminare la vista. Quando utilizzi questa istruzione, le informazioni complete presenti nella visualizzazione andranno perse.

Sintassi

DROP VIEW ViewName;

Esempio

DROP VIEW HydCustomers;

ALTER

L'istruzione ALTER viene utilizzata per aggiungere, eliminare o modificare vincoli o colonne in una tabella esistente.

ALTER TABELLA

L'istruzione ALTER viene utilizzata per eliminare, aggiungere, modificare colonne in una tabella esistente. È possibile utilizzare ALTER TABLE con ADD/ DROP colonna per aggiungere o eliminare una colonna nella tabella. Oltre a questo, puoi anche ALTER/MODIFICARE una colonna specifica.

Sintassi

ALTER TABLE TableName
ADD ColumnName Data Type;
ALTER TABLE TableName
DROP COLUMN ColumnName;

ALTER TABLE TableName
ALTER COLUMN ColumnName Data Type;

Esempio

--ADD Column Gender:
 ALTER TABLE Customers
ADD  Gender varchar(255);
 
--DROP Column Gender: 
ALTER TABLE Customers
DROP COLUMN Gender ;

--Add a column DOB and change the data type from Date to Year.
 
ALTER TABLE DOB
ADD DOB date;
 
ALTER TABLE DOB
ALTER DOB year;

TRONCA

L'istruzione TRUNCATE viene utilizzata per eliminare le informazioni presenti nella tabella, ma non la tabella stessa. Quindi, una volta utilizzato questo comando, le tue informazioni andranno perse, ma non la tabella sarà ancora presente nel database.

Sintassi

TRUNCATE TABLE TableName;

Esempio

TRUNCATE Table Customers;

SPIEGA

Le istruzioni EXPLAIN e DESCRIBE sono sinonimi utilizzati rispettivamente per ottenere un piano di esecuzione di query e le informazioni sulla struttura di una tabella. Questa istruzione può essere utilizzata con le istruzioni INSERT , DELETE, SELECT, UPDATE e REPLACE.

Sintassi

--Syntax for DESCRIBE
DESCRIBE TableName;

--Sample syntax for EXPLAIN
EXPLAIN ANALYZE SELECT * FROM TableName1 JOIN TableName2 ON (TableName1.ColumnName1 = TableName2.ColumnName2);

Esempio

DESCRIBE Customers;

EXPLAIN ANALYZE SELECT * FROM Customers1 JOIN Orders ON (Customers.CustomerID = Orders.CustomerID);

INSERIRE IN

L'istruzione INSERT INTO viene utilizzata per inserire nuovi record in una tabella.

Sintassi

INSERT INTO TableName (Column1, Column2, Column3, ...,ColumnN)
VALUES (value1, value2, value3, ...);

--If you do not want to mention the column names then use the below syntax, but the order of values entered should match the column data types :

INSERT INTO TableName
VALUES (Value1, Value2, Value3, ...);

Esempio

INSERT INTO Customers(CustomerID, CustomerName, PhoneNumber, Address, City, Country)
VALUES ('06', 'Sanjana', '9654323491', 'Oxford Street House No 10', 'Bengaluru', 'India');
 
INSERT INTO Customers
VALUES ('07', 'Himani','9858018368', 'Nice Road 42', 'Kolkata', 'India');

AGGIORNAMENTO

L'istruzione UPDATE serve per modificare i record già presenti nella tabella.

Sintassi

UPDATE TableName
SET Column1 = Value1, Column2 = Value2, ...
WHERE Condition;

Esempio

UPDATE Customers
SET CustomerName = 'Aisha', City= 'Kolkata'
WHERE EmployeeID = 2;

SELEZIONARE

L'istruzione SELECT viene utilizzata per selezionare i dati da un database e archiviarli in una tabella dei risultati, denominata result-set .

Sintassi

SELECT Column1, Column2, ...ColumN
FROM TableName;

--(*) is used to select all from the table
SELECT * FROM table_name;

-- To select the number of records to return use:
SELECT TOP 3 * FROM TableName;

Esempio

SELECT CustomerID, CustomerName
FROM Customers;
 
--(*) is used to select all from the table
SELECT * FROM Customers;
 
-- To select the number of records to return use:
SELECT TOP 3 * FROM Customers;

Oltre a questo, puoi utilizzare la parola chiave SELECT con DISTINCT, ORDER BY, GROUP BY, HAVING Clause e INTO.

MI PIACE

Questo operatore viene utilizzato con una clausola WHERE per cercare un modello specificato in una colonna di una tabella. Esistono principalmente due caratteri jolly utilizzati insieme all'operatore LIKE:

  • % – Corrisponde a 0 o più caratteri.
  • _ – Corrisponde esattamente a un carattere.

Sintassi

SELECT ColumnName(s)
FROM TableName
WHERE ColumnName LIKE pattern;

Esempio

SELECT * FROM Customers
WHERE CustomerName LIKE 'S%';

CONCESSIONE

Il comando GRANT viene utilizzato per fornire agli utenti privilegi o accesso al database e ai suoi oggetti.

Sintassi

GRANT PrivilegeName
ON ObjectName
TO {UserName |PUBLIC |RoleName}
[WITH GRANT OPTION];

dove,

  • PrivilegeName – I privilegi/diritti/accesso concessi all'utente.
  • NomeOggetto – Nome di un oggetto database come TABLE/VIEW/STORED PROC.
  • Nome utente – Nome dell'utente a cui sono attribuiti accessi/diritti/privilegi.
  • PUBBLICO – Per concedere diritti di accesso a tutti gli utenti.
  • Nome ruolo – Il nome di un insieme di privilegi raggruppati.
  • CON L'OPZIONE DI CONCESSIONE – Per concedere all'utente l'accesso per concedere diritti ad altri utenti.

Esempio

-- To grant SELECT permission to Customers table to admin
GRANT SELECT ON Customers TO admin;

Ora che conosci i principali comandi SQL, facci capire quali sono i diversi tipi di chiavi utilizzate nel database. Bene, questo concetto ti aiuterà a capire come ogni tabella è correlata all'altra tabella in un sistema di gestione di database relazionali.

Esercitazione SQL:chiavi

I seguenti sono i 7 tipi di chiavi, che possono essere considerati in un database:

  • Chiave candidato – Un insieme di attributi che possono identificare in modo univoco una tabella può essere definito come chiave candidata. Una tabella può avere più di una chiave candidata e, tra le chiavi candidate scelte, una chiave può essere scelta come chiave primaria.
  • Super tasto – L'insieme di attributi che possono identificare in modo univoco una tupla è noto come Super Key. Quindi, una chiave candidata, una chiave primaria e una chiave univoca sono una superchiave, ma viceversa non è vero.
  • Chiave primaria – Un insieme di attributi che vengono utilizzati per identificare in modo univoco ogni tupla è anche una chiave primaria.
  • Chiave alternativa – Le chiavi alternative sono le chiavi candidate, che non vengono scelte come chiave primaria.
  • Chiave unica – La chiave univoca è simile alla chiave primaria, ma consente un valore NULL nella colonna.
  • Chiave straniera – Un attributo che può assumere solo i valori presenti come valori di qualche altro attributo, è la chiave esterna dell'attributo a cui si riferisce.
  • Chiave composita – Una chiave composta è una combinazione di due o più colonne che identificano ciascuna tupla in modo univoco.

Spero che tu abbia compreso i diversi tipi di chiavi nel database, di seguito in questo articolo sul tutorial SQL, discutiamo i vincoli nel database. Ebbene, i vincoli SQL vengono utilizzati per aumentare l'accuratezza e l'affidabilità dei dati che entrano nel database tramite una tabella.

Esercitazione SQL: Vincoli

I vincoli SQL assicurano che non vi siano violazioni in termini di transazione di dati, se trovati, l'azione verrà terminata. L'uso principale dei seguenti vincoli è limitare il tipo di dati che possono entrare in una tabella.

  • NON NULL – Questo vincolo viene utilizzato per garantire che una colonna non possa memorizzare un valore NULL.
  • UNICO – Il vincolo UNIQUE viene utilizzato per garantire che tutti i valori immessi in una colonna o in una tabella siano univoci.
  • CONTROLLA – Questo vincolo viene utilizzato per assicurarsi che una o più colonne soddisfino una condizione specifica.
  • DEFAULT – Il vincolo DEFAULT viene utilizzato per impostare un valore predefinito per una colonna se non viene specificato alcun valore.
  • INDICE – Questo vincolo viene utilizzato per indicizzare nella tabella, attraverso la quale è possibile creare e recuperare i dati dal database molto rapidamente.

Se vuoi conoscere i seguenti vincoli in modo approfondito con sintassi ed esempi, puoi fare riferimento ad altri articoli su SQL. Quindi, ora che parli di chiavi e vincoli nel database, in questo articolo sul tutorial SQL, diamo un'occhiata a un concetto interessante Normalizzazione.

Esercitazione SQL:normalizzazione

La normalizzazione è il processo di organizzazione dei dati per evitare duplicazioni e ridondanza. Ci sono molti livelli successivi di normalizzazione e quelli sono chiamati forme normali . Inoltre, ogni forma normale consecutiva dipende dalla precedente. Di seguito le normali forme presenti:

Per comprendere le forme normali di cui sopra, consideriamo la seguente tabella:

Osservando la tabella sopra, puoi distinguere chiaramente la ridondanza dei dati e la duplicazione dei dati. Quindi, normalizziamo questa tabella. Per iniziare a normalizzare i database, dovresti sempre iniziare con la forma normale più bassa, ovvero 1NF e poi eventualmente passare alle forme normali più alte.

Ora, vediamo come possiamo eseguire la prima forma normale, per la tabella sopra.

Prima forma normale(1NF)

Per assicurarsi che il database debba essere in 1NF , ogni cella della tabella dovrebbe avere un singolo valore. Quindi, praticamente tutti i record devono essere univoci . La tabella sopra sarà normalizzata in 1NF come di seguito:

Se osservi nella tabella sopra, tutti i record sono unici. Tuttavia, c'è ancora molta ridondanza e duplicazione dei dati. Quindi, per evitarlo, normalizziamo il database nella seconda forma normale.

Seconda forma normale(2NF)

Per assicurarsi che il database debba essere in 2NF , il database dovrebbe essere 1NF e dovrebbe inoltre avere una chiave primaria a colonna singola . La tabella sopra sarà normalizzata in 2NF come di seguito:

Se osservi le tabelle precedenti, ogni tabella ha una chiave primaria a colonna singola. Ma c'è molta ridondanza dei dati e duplicazione di alcune colonne. Quindi, per evitarlo, normalizziamo il database in una terza forma normale.

Terza forma normale (3NF)

Per assicurarsi che il database debba essere in 3NF , il database dovrebbe essere in 2NF e non deve avere alcuna dipendenza funzionale transitiva . Le tabelle sopra saranno normalizzate in 3NF come di seguito:

Se osservi le tabelle precedenti, il database non ha alcuna dipendenza transitiva. Quindi, dopo questo passaggio, non dobbiamo normalizzare ulteriormente il nostro database. Ma se vedi qualche anomalia presente o più di una singola chiave candidata, puoi andare avanti con la successiva forma normale superiore, ovvero BCNF.

Forma normale Boyce-Codd (BCNF)

Per assicurarsi che il database debba essere in BCNF, il database deve essere presente in 3NF e le tabelle devono essere ulteriormente suddivise, per assicurarsi che sia presente solo una chiave candidata.

Con questo, poniamo fine alla normalizzazione. Ora, in questo tutorial SQL, discutiamo un concetto importante in SQL, ovvero i join.

Esercitazione SQL:join

I join vengono utilizzati per combinare righe di due o più tabelle, sulla base di una colonna correlata tra quelle tabelle e anche su alcune condizioni. Esistono principalmente quattro tipi di join:

  • INNER JOIN: Questo join restituisce quei record che hanno valori corrispondenti in entrambe le tabelle.
  • FULL JOIN: Il FULL JOIN restituisce tutti quei record che hanno una corrispondenza nella tabella di sinistra o di destra.
  • UNISCI A SINISTRA: Questo join restituisce i record della tabella di sinistra e anche i record che soddisfano la condizione della tabella di destra.
  • RIGHT JOIN: Questo join restituisce i record della tabella di destra e anche i record che soddisfano la condizione della tabella di sinistra.

Quindi, questa era una breve descrizione su JOINS, ma se vuoi una descrizione dettagliata su JOINS con un esempio dettagliato, puoi fare riferimento al mio articolo su SQL JOINS. Successivamente, in questo tutorial SQL, discutiamo l'ultimo concetto per questo articolo, ovvero le visualizzazioni.

Esercitazione SQL:visualizzazioni

Una vista in SQL è una singola tabella, che è derivata da altre tabelle. Una vista contiene righe e colonne simili a una tabella reale e ha campi di una o più tabelle. Fare riferimento all'immagine qui sotto:

Per capire come creare e rilasciare una vista, puoi fare riferimento alle istruzioni CREATE e DROP menzionate sopra. Con ciò, concludiamo questo articolo sull'esercitazione SQL. Spero che tu abbia trovato questo articolo informativo. Inoltre, se ti stai preparando per i colloqui con l'amministratore del database e stai cercando un elenco completo di domande, puoi fare riferimento al nostro articolo sulle domande del colloquio SQL.

Se desideri saperne di più su MySQL e conoscere questo database relazionale open source, dai un'occhiata al nostro MySQL DBA Certification Training che viene fornito con formazione dal vivo con istruttore e reale -esperienza di progetto di vita. Questa formazione ti aiuterà a comprendere in modo approfondito MySQL e a raggiungere la padronanza dell'argomento.

Hai una domanda per noi? Per favore menzionalo nella sezione commenti di questo SQLTutorial e ti risponderemo.