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


MySQL, linguaggio SQL, Appunti di Informatica

MySQLi e linguaggio SQL, approfondimenti su DML, DDL e QL

Tipologia: Appunti

2022/2023

In vendita dal 07/02/2023

SommaAlessio
SommaAlessio 🇮🇹

4

(1)

4 documenti

1 / 8

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
MySQL 1
MySQL
Materia
INFORMATICA
Materia 2.0 ʟᴀʙᴏʀᴀᴛᴏʀɪᴏ
Tipo ᴍᴀᴛᴇʀɪᴀʟᴇ
Created time
Last edited time
Created by
Last edited by
Tag Persone
📌
PRINCIPALE
ᴛᴀᴛᴜIn progress
Data/Scadenza
Relazione
File
URL
Carattere
Related to Scuola (Relazione)
Avviare MySQL
@December 14, 2022 12:37 PM
@January 26, 2023 12:40 AM
Avviare MySQL
Creazione database
DDL
Creazione tabelle
Tipi
Vincoli
Eliminazione tabella
Aggiunta di un campo
Eliminazione di un campo
modifica di un campo
DML
Inserimento
Eliminazione dati
Update dati
QL
Proiezioni e Selezioni
Condizioni
pf3
pf4
pf5
pf8

Anteprima parziale del testo

Scarica MySQL, linguaggio SQL e più Appunti in PDF di Informatica solo su Docsity!

MySQL

Materia INFORMATICA Materia 2.0 ʟᴀʙᴏʀᴀᴛᴏʀɪᴏ Tipo ᴍᴀᴛᴇʀɪᴀʟᴇ Created time Last edited time Created by Last edited by Tag Persone 📌 PRINCIPALE ✅ ꜱᴛᴀᴛᴜꜱ In progress Data/Scadenza Relazione File URL Carattere Related to Scuola (Relazione)

Avviare MySQL

@December 14, 2022 12:37 PM @January 26, 2023 12:40 AM

Avviare MySQL Creazione database DDL Creazione tabelle Tipi Vincoli Eliminazione tabella Aggiunta di un campo Eliminazione di un campo modifica di un campo DML Inserimento Eliminazione dati Update dati QL Proiezioni e Selezioni Condizioni

dalla shell andare in xampp/mysql/bin ed eseguire mysql specificando il nome del computer sul quale lavorare e l’utente

c:\xampp\mysql\bin mysql -h localhost -u root

per creare una scorciatoia, creare un file .bat nella cartella xampp che esegua le istruzioni. così eseguendo il file creato dalla shell si avvierà mysql.

MariaDB [(none)]> show databases; //per visualizzare i database presenti +--------------------+ | Database | +--------------------+| information_schema | | mysql | | performance_schema | | phpmyadmin | | scuola| test || +--------------------+ 6 rows in set (0.017 sec) MariaDB [(none)]> use test; //utilizzare uno dei database presenti Database changed MariaDB [test]> show tables; //visualizzare le tabelle del database Empty set (0.000 sec) MariaDB [test]>

tra parentesi è specificato il database su cui si lavora. tutti i comandi devono terminare con ;

Creazione database

MariaDB [test]> create database scuola1; Query OK, 1 row affected (0.002 sec) MariaDB [test]> use scuola1; MariaDB [scuola1]>

DDL

il DDL opera sul grado

Creazione tabelle

MariaDB [scuola1]> create table interrogazioni ( -> ID_interrogazione int auto_increment primary key, //definire la primary key, intera, auto incrementante (surrogata) -> cognome_alunno varchar(20) not null unique, //not null = vincolo di obbligatorietà dell'attributo, non può essere null -> data_interrogazione date not null,

data in italiano:

elt(dayofweek(curdate()), 'dom','lun','mar','mer','gio','ven','sab');

Vincoli

auto_increment = il campo sarà auto-incrementante, non andrà inserito, si usa con le pk e la rende surrogata. primary_key = definisce la primary key, campo obbligatorio e univoco

not null = vincolo obbligatorietà del campo, non potrà essere null, se non si mette potrà essere null. default = definisce un valore di default per un campo se non si mette check = filtrare l’inserimento dei dati, che dovranno rispettare le condizioni specificate. unique = definisce una chiave candidata, che identifica in modo univoco, oltre la pk, la tupla

Eliminazione tabella

drop table nome_tabella

Aggiunta di un campo

alter table nome_tabella add campo3 int not null;

Eliminazione di un campo

alter table nome_tabella drop campo1;

modifica di un campo

è come se lo ridefinissi da zero.

alter table nome_tabella change column nome_vecchio nome_nuovo varchar(15) not null; //eventuali vincoli

DML

Il DML opera sulla cardinalità

Inserimento

inserimento delle tuple.

insert into interrogazioni (nome_alunno, data_interrogazione, tipo, voto, scelta) values( -> 'Daniela Bertozzi', '2022-12-08', 'O', 4.50, 'S', -> 'Lina', 20221214, null, 8.50, 'N' //anche scrivendo il tipo date senza gli apici //verrà comunque scritto correttamente in tabella -> ); +-------------------+------------------+---------------------+------+------+ | ID_interrogazione | nome_alunno | data_interrogazione | tipo | voto |

select * from tabella where campo1==2 and campo2=='B'; //selezione select campo1,campo2,campo3 from nome_tabella; //proiezione select campo1,campo2,campo3 from nome_tabella where campo1==2 and campo2=='B'; //selezione + proiezione

La proiezione è diversa dalla selezione perché vengono scelti solo alcuni campi della tabella. la select può contenere: campo as nuovo_campo (il campo visualizzato nella query sarà quello specificato, non cambia effettivamente nella tabella). distinct nome_campo: rimuove i duplicati

dopo where posso trovare: order by nome_campo desc/asc : per ordinare in base a un campo in ordine decrescente o crescente

Condizioni

le condizioni possono contenere: operatori relazionali: <,>,=. il diverso è <>, non != operatori logici: and , or , not operatore like operatore between … and … operatore in : elenco [ where campo in (1,2,3,4) ]

select distinct materia as new_materia from studenti where classe in ('1AIN','2AIN') and (media between 1 and 5) and (nome like '%a') order by materia desc;

select * from studenti where datan is not null;

Risorse