Avviare il Server MySQL
mysqld --user=root --default-storage-engine=InnoDB
oppure per gli utenti nt
mysqld-nt --user=root --default-storage-engine=InnoDB
---
Fermare il Server MySQL
mysqladmin --user root -p shutdown
---
Lanciare un client mysql come utente usr1.
Il -p si usa se il db è protetto da password.
mysql -u usr1 -p
oppure
mysql -u usr1 -p NOMEDB
se si vuole accedere direttamente al DB chiamato NOMEDB
es.
1. mysql -u pippo -p
2. mysql -u pippo
3. mysql --user pippo --password
4. mysql -u root
5. mysql -u root -p
6. mysql -u pippo -p primoDB
---
Disconnettersi da mysql
QUIT
---
Eseguire int batch una sequenza di istruzioni salvate in un file di testo
SOURCE c:\myScript.sql
---
---
Creare un utente
CREATE USER 'usr1'@'%' IDENTIFIED BY 'psw1';
dove: 'usr1' è il nome utente
'psw1' è la password
'%' indica che l'utente può connettersi da qualunque luogo. Altre possibilità sono
'localhost' solo in locale,
'aaa.bbb.ccc.ddd' solo da questo indirizzo ip.
nota: in alternativa è possibile lavorare direttamente sulla tabella 'mysql.user'
---
Assegnare i privilegi di SUPERUSER ad un utente
GRANT ALL PRIVILEGES ON *.* TO 'usr1'@'%' IDENTIFIED BY 'psw1' WITH GRANT OPTION;
---
Assegnare tutti i privilegi sulla tabella tab1 all'utente usr1 con password psw1 e dalla macchina localhost :
GRANT ALL ON tab1.* TO 'usr1'@'localhost' IDENTIFIED BY 'psw1';
oppure se solo alcuni
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,CREATE VIEW ON tab1.* TO 'usr1'@'localhost' IDENTIFIED BY 'psw1';
---
Rendere effettive le modifiche ai privilegi degli utenti del DB
FLUSH PRIVILEGES;
---
---
Impostare lo storage engine di default (quando il server è già avviato)
SET storage_engine=INNODB
o
SET storage_engine=MYISAM
---
---
Creare un database
CREATE DATABASE nomedb;
---
Visualizzare la lista dei databases esistenti
SHOW DATABASES;
---
Entrare in un database
USE nomedb;
---
Creare una tabella
CREATE TABLE nometab (attr1 TIPO1 opt1, attr2 TIPO2 opt2,...);
note : 1. per la sintassi complata vedere
http://dev.mysql.com/doc/refman/5.0/en/create-table.html
2. per i tipi di dato fare riferimento a
http://dev.mysql.com/doc/refman/5.0/en/data-types.html
3. esempi di opt1 : NOT NULL
PRIMARY KEY
DEFAULT default_value
4. per impostare lo storage engine della tabella (diverso da quello di default)
CREATE TABLE t (i INT) ENGINE = INNODB;
---
Modificare una tabella
ALTER TABLE <nome-tabella>
ADD [CONSTRAINT] <def-Vincolo> |
DROP [CONSTRAINT] <nome-Vincolo> |
ADD COLUMN <def-Attributo> |
DROP COLUMN <nome-Attributo>
}
esempi:
ALTER TABLE Maternita
ADD primary key (madre,figlio),
ADD key (code),
ADD foreign key (madre) references Persone,
ADD CONSTRAINT foreign key (figlio) references Persone;
ALTER TABLE Libro
ADD CONSTRAINT denom_unica UNIQUE (totolo, autori);
ALTER TABLE Prestito
ADD CONSTRAINT libro_prestato FOREIGN KEY (id_libro) REFERENCES Libro(id_libro);
ALTER TABLE Prestito
ADD CONSTRAINT Utente_richiedente FOREIGN KEY (id_utente_richiedente) REFERENCES Utente(id_utente);
ALTER TABLE Prestito ENGINE = INNODB
nota : Il costutto SQL check non è supportato da MySQL 5.0.
In realtà codice contenente una check viene accettato, ma l'effetto della check sarà assolutamente nullo.
Esempi :
1. un libro ha un numero positivo di pagine
ALTER TABLE Libro
ADD CONSTRAINT NUM_PAGINE_POS CHECK (NUM_PAGINE > 0);
2. la data di termine di un prestito se esiste, ovvero se il prestito non è ancora in corso,
è successiva alla data di inizio
ALTER TABLE PRESTITO ADD CONSTRAINT ORDINAM_DATE_INIZIO_FINE CHECK (DATA_FINE IS NULL OR DATA_FINE >= DATA_INIZIO);
---
Visualizzare la lista delle tabelle del database corrente
SHOW TABLES;
---
Visualizzare la struttura di una tabella
DESCRIBE tab1;
---
Creare un vista
CREATE VIEW <nome_vista>
AS
<query>
---
---
Inserire una tupla completa in una tabella
INSERT INTO tab1
VALUES ('info-a1','info-a2','info-a3',...);
---
Inserire più di una tupla in una tabella (tutte complete)
INSERT INTO tab1
VALUES ('info-a1','info-a2','info-a3',...) ,
('info-b1','info-b2','info-b3',...) ,
...
('info-x1','info-x2','info-x3',...);
---
Inserire tuple in una tabella caricandole da un file di testo
LOAD DATA LOCAL INFILE '/path/file.txt' INTO TABLE tab1;
oppure
LOAD DATA LOCAL INFILE '/path/file.txt' INTO TABLE tab1;
LINES TERMINATED BY '\r\n';
per specificare che le linee terminano con il carattere '\r\n' come nei sistemi Windows.
note: 1. ogni linea del file di testo indica una tupla;
2. per separare 2 oggetti della stessa tupla si utilizza il separatore TAB;
3. per indicare un campo vuoto si indica con la stringa '\N'.
---
---
Eseguire un'interrogazione o query **********************DA COMLETARE
SELECT
FROM
[WHERE]
[GROUP BY]
Venerdì, 9 Maggio 2008
MySql 5
No Comments Yet »
Non c’è ancora nessun commento.
RSS feed dei commenti a questo articolo. TrackBack URI