You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Aurora Arcidiacono 4679e4358a first commit 7 months ago
README.md first commit 7 months ago

README.md

Gestione dei database

Visualizzare i databases:

SHOW DATABASES;

Creare un database:

CREATE DATABASE {NomeDB};

Usare un database:

USE {NomeDB};

Tabelle

Gestione tabelle

Creare una tabella:

CREATE TABLE {NomeTabella} (
	{NomeCampo} {TipoAttributo} {Parametri},
	PRIMARY KEY ({NomeCampo}),
	FOREIGN KEY ({NomeCampo}) REFERENCES {NomeTabella}({NomeCampo})
);

Rimuovere una tabella:

DROP TABLE {NomeTabella};

Lista tipi attributi:

  • INT
  • VARCHAR(n)
  • DECIMAL(15,2)
  • ...

Lista parametri:

  • NULL
  • NOT NULL
  • AUTO_INCREMENT

Modifiche ai campi

Cambiare nome ad una tabella:

ALTER TABLE {NomeTabella} RENAME {NuovoNome};

Cambiare nome e tipo di un campo:

ALTER TABLE {NomeTabella} CHANGE {VecchioNomeCampo} {NuovoNomeCampo} {NuovoTipoCampo};

Aggiungere un campo:

ALTER TABLE {NomeTabella} ADD {NomeCampo} {TipoCampo};

Rimuovere un campo:

ALTER TABLE {NomeTabella} DROP {NomeCampo};

Gestione elementi

Inserire un elemento:

INSERT INTO {NomeTabella} VALUES ([Val1], [Val2], ...);

Aggiornare un campo:

UPDATE {NomeTabella} SET {NomeCampo} = {Valore} WHERE id = {Valore};

Rimuovere un elemento:

DELETE FROM {NomeTabella} WHERE id = {Valore};

Query

Visualizzare tutti gli elementi di una tabella:

SELECT *
	FROM {NomeTabella};

Join esplicito:

SELECT *
	FROM Tab1
	JOIN Tab2 ON Tab1.ID = Tab2.COD_Tab1;

Join implicito:

SELECT *
	FROM Tab1, Tab2
		WHERE Tab1.ID = Tab2.COD_Tab1;

Prodotto cartesiano:

SELECT *
	FROM Tab1, Tab2;

Funzione di aggregazione

Elenco funzioni:

  • MAX
  • MIN
  • SUM
  • AVG
  • COUNT
    • Non conta i valori nulli

I raggruppamenti possono essere anche multipli (es. Numero dipendenti per sede e città)

CLAUSALA HAVING

CLAUSOLA ORDER BY per mettere in ordine

Esempio sintassi:

Somma degli stipendi della sede S01:

SELECT SUM(Stipendio) AS TotStipendio
	FROM Impiegati
		WHERE Sede='S01';

Somma degli stipendi annui della sede S01:

SELECT SUM(Stipendio*12) AS TotStipendioAnnuo
	FROM Impiegati
		WHERE Sede='S01';

Impiegati nella sede S1:

SELECT Count(*) AS NumeroImpiegati
	FROM Impiegati
		WHERE Sede='S01';

Media degli stipendi di ogni sede:

SELECT Sede, AVG(Stipendio) AS MediaStipendio
	FROM Impiegati
		GROUP BY Sede;

Visualizzare il numero degli impiegati per ciascuna sede ma con le sede che hanno più di 2 impiegati:

SELECT Sede COUNT(*) AS NumeroImpiegati
	FROM Impiegati
		GROUP BY Sede
			HAVING COUNT(*) > 2;