GUIDA MYSQL

ISTRUZIONI DATABASE MYSQL:Premessa:
Per gestire i database nello sviluppo web, si usa generalmente MYSQL, probabilmente il migliore, integrato al linguaggio PHP e le relative librerie ed ad un server Apache. E’ possibile usare mysql sia nella sua forma originaria testuale che in quella visuale, rappresentata da PhpMyadmin, uno dei software più usati per la gestione.
E’ possibile creare un sito in php/mysql anche in locale, usando la suite Easyphp (www.easyphp.org ) e poi trasferirlo in un hosting (free: www.altervista.org ; low-cost: tophost ) che supporti tale linguaggio.
I dati essenziali per connetterci al database, saranno sempre l’host (al 99% dei casi localhost); il nome, l’username e la password del database.

ALTER TABLE nometabella MODIFY COLUMN nomecampo1 varchar(99) AFTER nomecampo2;
Con questa istruzione si modifica l’ordine dei campi all’interno della tabella. Consiste nello spostare un campo prima o dopo di un’altro.

Legenda:
Nella prima colonna (o campo!) la funzione, nell’altra la relativa istruzione.
Tutto quello scritto in minuscolo è personalizzabile, mentre il resto sono dei comandi da non modificare.

CREA DATABASE

CREATE DATABASE prova;

MOSTRA DATABASE

SHOW DATABASES;

SELEZIONA DATABASE DA USARE

USE prova;

ELIMINA DATABASE

DROP DATABASE prova;

MOSTRA TABELLE DEL DATABASE

SHOW TABLES;

CREA UNA TABELLA
VALORI OBBLIGATORI (NOME E TIPO)

CREATE TABLE nomedellatabella (id INT(10), nomedelcampo1 VARCHAR(20), nomedelcampo2 VARCHAR(20), nomedelcampo3 INT(10));

TIPO DI CAMPO STRINGA
AFFIANCO AL NOME DEL CAMPO BISOGNA INDICARNE IL TIPO

CHAR(numero)

255 byte

VARCHAR(numero)

255 byte

TINYTEXT

255 byte

TINYBLOB

255 byte

TEXT

65535 byte

BLOB

65535 byte

MEDIUMTEXT

1.6 Mb

MEDIUMBLOB

1.6 Mb

LONGTEXT

4.2 Mb

LONGBLOB

4.2 Mb

TIPO DI CAMPO
NUMERICO INTERO

TINYINT

-128 > 127

SMALLINT

-32768 > 32767

MEDIUMINT

-8388608 > 8388608

INT

-2147483648 > 2147483647

BIGINT

-9223372036854775808 >
9223372036854775807

TIPO DI CAMPO:
NUMERICO NON INTERO

FLOAT(I,D)

DOUBLE(I,D)

DECIMAL(I,D)

TIPO DI CAMPO:
DATA/ORA

DATE

Data

DATETIME

Data e Ora

TIME

Tempo in ore:minuti:secondi

YEAR

Valore dell’anno

TIMESTAMP

Data autoaggiornata

GLI ATTRIBUTI DEL CAMPO

UNSIGNED

Dati senza segno

UNSIGNED ZEROFILL

Zero davanti

NULL/NOTT NULL/DEFAULT/AUTOINCREMENT

NULL

Il campo può essere vuoto

NOT NULL

E’ obbligatorio riempire il campo

DEFAULT

Impostare un valore predefinito per il campo

AUTOINCREMENTE

Usato per id consente di autoincrementarsi

INDICI:

INDEX

Indice semplice

PRIMARY

Chiave primaria (può esser solo ID) non accetta dupplicati o valori nulli.

UNIQUE

Indice Unico, non è possibile ripetere i dati

STRUTTURA DELLA TABELLA

DESCRIBE nomedellatabella;

INSERIRE I DATI:

INSERT INTO `nomedellatabella` ( `id` , `nomedelcampo1` , `nomedelcampo2` , `nomedelcampo3` )
VALUES (
‘1’, ‘Alessandro’, ‘Nicotra’, ‘095’
);

MODIFICA RECORD

UPDATE nomedellatabella SET nomedelcampo1=’scriverequinuovovalore’ WHERE id=’Alessandro’;

MODIFICA TUTTI I RECORD

UPDATE nomedellatabella SET nomedelcampo3=’inserirequinuovovalore’;

ELIMINA RECORD
(CON CONDIZIONE)

DELETE FROM nomedellatabella WHERE nomedelcampo1=’Alessandro’;

ELIMINA MULTI RECORD
(con limite)

DELETE FROM nomedellatabella WHERE nomedelcampo1=’abc’ LIMIT 2;

ELIMINA TUTTI I RECORD

DELETE FROM nomedellatabella;

MODIFICA NOME DEL CAMPO

ALTER TABLE nomedellatabella CHANGE nomedelcampo2 nuovonomedelcampo2 int(10);

MODIFICA PROPRIETA’ DEL CAMPO

ALTER TABLE nomedellatabella CHANGE nuovonomedelcampo2 nomedelcampo0 varchar(10);

AGGIUNGERE UN CAMPO

ALTER TABLE nomedellatabella ADD nomedelcampo4 VARCHAR(40);

ELIMINA UN CAMPO

ALTER TABLE nomedellatabella DROP nomedelcampo4;

SVUOTARE LA TABELLA

TRUNCATE nomedellatabella;

MODIFICA NOME TABELLA

ALTER TABLE nomedellatabella RENAME nuovonomedellatabella;

VISUALIZZARE I DATI

SELECT * FROM nomedellatabella;

VISUALIZZA I DATI DI UN CAMPO
VISUALIZZA I DATI DI PIU’ CAMPI SCELTI

SELECT nomedelcampo2 FROM nomedellatabella;
SELECT nomedelcampo2, nomedelcampo1 FROM nomedellatabella;

ORDINAMENTO PER CAMPO (CRESCENTE)

SELECT * FROM nomedellatabella ORDER BY nomedelcampo2 ASC;

ORDINAMENTO PER CAMPO(DECRESCENTE)

SELECT * FROM nomedellatabella ORDER BY nomedelcampo2 DESC;

ORDINAMENTO PER MULTI CAMPI(CRESCENTE O DECRESCENTE)

SELECT * FROM nometabella ORDER BY nomecampo1 ASC, nomcampo2 DESC;

ORDINAMENTO ALFABETICO

SELECT * FROM `nomedellatabella` WHERE `nomedelcampo1` LIKE ‘%A’

ORDINAMENTO PER ULTIMA LETTERA

SELECT * FROM `nomedellatabella` WHERE `nomedelcampo1` LIKE ‘A%’;

ORDINAMENTO PURCHE’ E’ PRESENTE LETTERA/NUMERO/SIMBOLO

SELECT * FROM `nomedellatabella` WHERE `nomedelcampo1` LIKE ‘%A%’;

ORDINAMENTO PER CAMPO2

SELECT *  FROM `nomedellatabella` WHERE `nomedelcampo1` REGEXP ‘%A%’;

RICERCA: RISULTATI PER RECORD

SELECT * FROM nomedellatabella WHERE nomedelcampo1=’Alessandro’;

ELIMINA TABELLA

DROP TABLE nomedellatabella;

OPERATORE: SOMMA
(SOLO CAMPI NUMERICI)

SELECT (nomedelcampo2+nomedelcampo3) AS totale FROM nomedellatabella;

OPERATORE: DIFFERENZA
(SOLO CAMPI NUMERICI)

SELECT (nomedelcampo3-nomedelcampo2) AS differenza FROM nomedellatabella;

OPERATORE: MOLTIPLICAZIONE
(SOLO CAMPI NUMERICI)

SELECT (nomedelcampo3*nomedelcampo2) AS moltiplicazione FROM nomedellatabella;

OPERATORE: DIVISIONE
(SOLO CAMPI NUMERICI)

SELECT (nomedelcampo3/nomedelcampo2) AS divisione FROM nomedellatabella;

FUNZIONE IF (SE)
(confronta i due campi, restituisce 0 se sono uguali, altrimenti 1 se diversi.)

SELECT IF(nomedelcampo1 != nomedelcampo2, 1, 0) FROM nomedellatabella;

FUNZIONE: CONTATORE
(TOTALE DEI RECORD)

SELECT COUNT(*) AS totale FROM nomedellatabella;

FUNZIONE: CONTATORE ESCLUSI DATI RIPETUTI

SELECT DISTINCT (nomedelcampo1) FROM nomedellatabella;

FUNZIONE: VALORE MASSIMO
(SOLO PER CAMPI NUMERICI)

SELECT MAX(nomedelcampo3) FROM nomedellatabella;

FUNZIONE: VALORE MINIMO
(SOLO PER CAMPI NUMERICI)

SELECT MIN(nomedelcampo3) FROM nomedellatabella;

FUNZIONE: MEDIA
(SOLO PER CAMPI NUMERICI)

SELECT AVG(nomedelcampo3) FROM nomedellatabella;

FUNZIONE: SOMMA
(SOLO PER CAMPI NUMERICI)

SELECT SUM(nomedelcampo3) FROM nomedellatabella;

Ti è piaciuta questa guida?
Allora, perchè non scaricarla, nel formato universale per eccellenza, il PDF!
Clicca con il tasto destro del mouse sul link qui sotto e poi su salva oggetto con nome.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *