Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Informatica: Comandi SQL, Schemi e mappe concettuali di Informatica

Appunti sui comandi SQL e esempi

Tipologia: Schemi e mappe concettuali

2021/2022

Caricato il 03/10/2023

auroraa212
auroraa212 🇮🇹

1 documento

1 / 5

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
COMANDI SQL
Attivarelaragon
Tastodestro–mariadb–versione–mariadb
Laragon–bin–mysql–mariadb–bin->mysqlproprietàecopiopercorso
Copiopercorso
Nellpromtdeicomandi:
cd*percorso*
mysql –u root
Percrearedatabse:CREATE DATABASE nomedb
Percreare levarietabelle:
Omettiamonometabella.nomedb
Oppureall’iniziomettoUSE nomedb perdirechemistoriferendosemprealdatabase
varcharèl’equivalentedellestringhe
varchar(30)il30indicaladimensionedellastringa
CHARSET=latin1;Riguardailsetdicaratteri
Nellashell incollolatabella->invio->latabellaèstatacreata
Pervederelastrutturadiunacertatabella:
describe studenti;
Con l’auto_incrementse per esempio non specifico la matricola, questa viene calcolata
automaticamente.
Perinseriredatiinunatabella:
INSERT INTOnomeTabella(nomeColonna1,nomeColonna2,…)VALUES
(elementoColonna1,elementoColonna2,…);
Lescritteeledatevannotrasingoliapici.
Ledate:anno-mese-giorno.
Dashell:
Perdiredifarvederetuttelecolonnedallatabella:
select *fromstudenti;
Ildefaultdell’enumerativoèilprimochevienenominato:
genereenum('M','F')NOTNULL,
Quindiinquestocasoildefaultè‘M’.
INSERT INTOstudenti(cognome, nome,data_nascita, genere, nazione,e_mail) VALUES ('De
Chirico','Giorgio','1888-07-10','X',default,default);
Quidaerroreperché‘X’comegenerenonèammessoperchégliunicivalorimessinell’enumsono
‘M’e‘F’.
Icommenti:
1°modo:
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Informatica: Comandi SQL e più Schemi e mappe concettuali in PDF di Informatica solo su Docsity!

COMANDI SQL

Attivare laragon Tasto destro – maria db – versione – maria db Laragon – bin – mysql – maria db – bin -> mysql proprietà e copio percorso Copio percorso Nell promt dei comandi: cd percorso mysql –u root Per creare databse: CREATE DATABASE nomedb Per creare le varie tabelle:  O mettiamo nometabella.nomedb  Oppure all’inizio metto USE nomedb per dire che mi sto riferendo sempre al database varchar è l’equivalente delle stringhe varchar(30) il 30 indica la dimensione della stringa CHARSET=latin1; Riguarda il set di caratteri Nella shell incollo la tabella -> invio -> la tabella è stata creata Per vedere la struttura di una certa tabella: describe studenti; Con l’auto_increment se per esempio non specifico la matricola, questa viene calcolata automaticamente. Per inserire dati in una tabella: INSERT INTO nomeTabella (nomeColonna1, nome Colonna2, …) VALUES (elementoColonna1, elementoColonna2, …); Le scritte e le date vanno tra singoli apici. Le date: anno-mese-giorno. Da shell: Per dire di far vedere tutte le colonne dalla tabella: select * from studenti; Il default dell’enumerativo è il primo che viene nominato: genere enum('M','F') NOT NULL, Quindi in questo caso il default è ‘M’. INSERT INTO studenti (cognome, nome, data_nascita, genere, nazione, e_mail) VALUES ('De Chirico', 'Giorgio','1888-07-10','X', default,default); Qui da errore perché ‘X’ come genere non è ammesso perché gli unici valori messi nell’enum sono ‘M’ e ‘F’. I commenti: 1° modo:

-- verifico la modalità operativa 2° modo:

commento

3° modo: /* commento */ Imposta il valore di una variabile: SET @variabile show warnings; select * from studenti; Cancellare un database: DROP DATABASE nome_db È un comando che ELIMINA TUTTE le tabelle di quel database MI posiziono sul database dbscuola (quindi non sono obbligat a specificare nella query anche il nome del db): use dbscuola; Show tables; per vedere le tabelle presenti Select * from studenti; Describe studenti; info che riguardano la struttura della tabella Show create table studenti; per ottenere istruzione sql che genere la tabella Show create table studenti \G i dati vengono organizzati in maniera diversa (Backquote (la tilde) ALT * 96) Ciò che è tra [ ] non è obbligatorio, quindi ci possono essere o no, è opzionale. Opzioni tabella: come verrà salvata e quali funzionalità implementa. Indice: data la chiave restituisce la funzione di accesso al report. AUTO_INCREMENT : se non assegno un valore, lo fa il dbms: prende il massimo valore che ho e fa +1. UNSIGNED : viene usato in combinazione con gli interi ZEROFILL : per indicare al database di inserire 0 di riempimento a sinistra fino a riempire la lunghezza del cam po. NOTNULL : (vincoli integrità di COLONNA ) nel sql va sempre specificato. DEFAULT : da usare quando non viene dato un input.  Se il campo che non ha un valore può avere nullo, allora viene assegnato NULL come valore.  Se invece NON può assumere il valore NULL, se è abilità la modalità STRICT allora mysql o mariadb va a prendere un valore di default, se previsto, altrimenti da errore. Nel caso di enum il default è il primo valore specificato. Per i numeri e per le date è 0. Per le stringhe è la stringa vuota. Vincoli di integrità di COLONNA :

[WHERE where_condition] [GROUP BY {col_name| expr| position} [ASC | DESC], … [HAVING where_condition] [ORDER BY {col_name| expr| position} [ASC | DESC], ...] [LIMIT {[offset,] row_count| row_countOFFSET offset}] La SELECT definisce quali sono le colonne che vogliamo visualizzare. SELECT matricola, cognome, nome FROM studenti; Per rinominare una colonna uso l’operatore AS: SELECT campo AS ‘ nuovo_nome_campo’, campo1, campo2 FROM nome_tabella; L'AS si può omettere: SELECT campo ‘nuovo_nome_campo’, campo1, campo2 FROM nome_tabella; Quando ci sono due termini senza virgola, il secondo diventa un alias del primo. Ordinamento dei dati con ORDER BY: SELECT campo ‘nuovo_nome_campo’, campo1, campo FROM nome_tabella ORDER BY campo_di_ordinamento (es. cognome) ASC (ordinamento ascendente), campo_di_ordinamento_2 (es. Nome) DESC (ordinamento discendente); Se il verso di ordinamento non è specificato, il predefinito è ascendente. 04/10/ UPDATE nome_tabella SET campo = valore WHERE condizione = valore LIMIT 1 ; Installo su vs code MySQL (con simbolo delfino) DELETE FROM nome_tabella [ WHERE condizione = valore ] Vincoli di integrità referenziale: (slide 20 del file SQL 2) Coinvolgono le relazioni esistenti di tipo 1:N oppure 1:1 tra le tabelle. ALTER TABLE : serve a MODIFICARE la struttura / lo schema della tabella. ON DELETE e ON UPDATE :  RESTRICT e NO ACTION : sono la stessa cosa, nel senso che l’impostazione di default è RESTRICT.  CASCADE : in cascata, quindi quando viene fatta una modifica sulla chiave primaria riferita, vengono modificate anche le chiavi esterne (per esempio: se elimino una matricola dalla tabella studenti elimino anche le sue assenze).  SET NULL : se elimino lo studente, le assenze le devo eliminare? Posso lasciarle, ma devo impostare NULL la chiave esterna, solo se la FOREIGN KEY può assumere valore nullo. In mysql per visualizzare il tipo di tabella: SHOW TABLE STATUS FROM db_name Si possono creare indici anche su tabelle già esistenti: CREATE [UNIQUE| FULLTEXT] INDEX nome_indice ON nome_tabella ({ nome_campo [(lunghezza)] [ASC| DESC]} [, …]) Show index from nome_stabella \G

L’indice si può eliminare con: DROW INDEX indice ON nome_tabella