260 likes | 325 Views
2. Llenguatge SQL. 2.1. Consultes SQL. 2. Consultes SQL. Tipus de consultes: DML (Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE DDL (Data Definition Language): CREATE, ALTER, DROP, TRUNCATE DCL (Data Control Language): GRANT, REVOKE
E N D
2. Consultes SQL • Tipus de consultes: • DML (Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE • DDL (Data Definition Language): CREATE, ALTER, DROP, TRUNCATE • DCL (Data Control Language): GRANT, REVOKE • TCL (Transaction Control Language): BEGIN, COMMIT, ROLLBACK
2.2. Consules DML (Data Manipulation Language) (I) • SELECT: Selecciona un o més registres d’una o vàries taules, definint les columnes a obtenir, les condicions per a la selecció de dades i el tractament a aplicar al resultat.
2.2. Consules DML (Data Manipulation Language) (I) • Sintaxi bàsica per a una sentència de selecció: • SELECT • [DISTINCT] • [CAMPS]/[*] • FROM • {TAULA}; SELECT * FROM Alumnes; SELECT Nom FROM Alumnes; SELECT DISTINCT Nom FROM Alumnes;
2.2. Consules DML (Data Manipulation Language) (I) • Restricció de resultats: • [TOP] [PERCENT] • WHERE SELECT TOP 1 * FROM Alumnes; SELECT TOP 10 PERCENT * FROM Alumnes;
2.2. Consules DML (Data Manipulation Language) (I) • WHERE • Operadors de comparació • = (Igual a) • > (Major que) • >= (Igual o major que) • < (Menor que) • <= (Igual o menor que) • <> (No igual a) SELECT * FROM Alumnes WHERE Nom = ‘Toni’; SELECT * FROM Alumnes WHERE Anys > 18; SELECT * FROM Alumnes WHERE DataNaixement >= ’25-07-1995’; SELECT * FROM Alumnes WHERE Anys < 18; SELECT * FROM Alumnes WHERE Pagament <= 25.50; SELECT * FROM Alumnes WHERE Cobrat <> 0;
2.2. Consules DML (Data Manipulation Language) (I) • WHERE • Altres operadors de comparació • BETWEEN … AND … • IN • LIKE SELECT * FROM Alumnes WHERE Anys BETWEEN 15 AND 18; SELECT * FROM Alumnes WHERE Anys IN (13, 15, 18); SELECT * FROM Alumnes WHERE Nom LIKE ’%toni_’;
2.2. Consules DML (Data Manipulation Language) (I) • WHERE • Operadors Lògics • AND • OR • NOT SELECT * FROM Alumnes WHERE Anys = 18 AND Nom = ‘Toni’ SELECT * FROM Alumnes WHERE Anys = 18 OR Nom = ‘Toni’ SELECT * FROM Alumnes WHERE Anys NOT BETWEEN 15 AND 18; SELECT * FROM Alumnes WHERE Anys NOT IN (13, 15, 18);
2.2. Consules DML (Data Manipulation Language) (I) • WHERE • Operador especial NULL • IS [NOT] SELECT * FROM Alumnes WHERE DataNaixement IS NULL; SELECT * FROM Alumnes WHERE Anys IS NOT NULL;
2.2. Consules DML (Data Manipulation Language) (I) • SELECT • Operadors Aritmètics • + • - • * • / • % SELECT (Preu * 166.386) FROM Articles SELECT (Preu + (Preu * 0.18)) FROM Articles SELECT (Preu - Descompte) FROM Articles SELECT (PreuTotal / Unitats) FROM Articles SELECT (Unitats % 5) FROM Articles
2.2. Consules DML (Data Manipulation Language) (I) • SELECT • Alias SELECT (Preu * 166.386) AS PreuPessetes FROM Articles SELECT (Preu + (Preu*0.18)) AS PreuIVA FROM Articles SELECT (Preu - Descompte) AS PreuDescompte FROM Articles SELECT (PreuTotal / Unitats) AS PreuUnitari FROM Articles SELECT (Unitats % 5) AS NumeroPacks FROM Articles SELECT A.Nom, F.Nom FROM Articles A, Frabricants F WHERE A.IdFabricant = F.Id
2.2. Consules DML (Data Manipulation Language) (I) • ORDER BY • DESC • ASC SELECT A.Nom, F.Nom, A.Preu FROM Articles A, Frabricants F WHERE A.IdFabricant = F.Id ORDER BY A.Preu DESC
2.2. Consultes DDL (Data Definition Language) • DDL: CREATE, ALTER, DROP, TRUNCATE, RENAME • CREATE: Comanda que permet crear un objecte a la base de dades. • ALTER: Modifica la estructura d’un objecte a la base de dades. • DROP: Elimina un objecte de la base de dades amb restriccions de registres. • TRUNCATE: Elimina un objecte de la base de dades sense restriccions de registres. • RENAME: Renombra un objecte. En desús.
2.2. Consultes DDL (Data Definition Language) Tipus d’objectes: • Taula: Estructura on s’emmagatzema la informació de les dades en forma de files i columnes. • Registres: Cada una de les files en les que es divideix la taula. • Camps: Cada una de les columnes en les que es divideix la taula. • Vista: Resultat d’una consulta SQL sobre una o varies taules. També es pot considerar una taula virtual. • Índex: Estructura de dades que millora el rendiment de les operacions. • Disparador (Trigger): Acció que s’executa quan es compleix una condició establerta al realitzar una operació de INSERT, UPDATE o DELETE. • Procediment (o programa): Informació encapsulada per al procés d’una tasca complexa que requereix realitzar diverses accions de forma seqüencial.
2.2. Consultes DDL (Data Definition Language) • Create CREATE TABLE Alumnes (Idint, Nom varchar(75)) CREATE INDEX PK_IdAlumnesON Alumnes(Id) WITH PRIMARY CREATE TABLE Alumnes( Id int NOT NULL PRIMARY KEY, Nom varchar(75))
2.2. Consultes DDL (Data Definition Language) • Alter ALTER TABLE Alumnes ADD CONSTRAINT FK_IdProfessors FOREIGN KEY (IdProfessor) REFERENCES Professors (IdProfessor);
2.2. Consultes DDL (Data Definition Language) • DROP ALTER TABLE Alumnes ( DROP COLUMN Nom )
2.2. Consultes DDL (Data Definition Language) • TRUNCATE TRUNCATE TABLE Alumnes
2.3. Consultes DDL (Data Definition Language) (II) • DML: INSERT, UPDATE, DELETE. • INSERT: Agrega un o més registres a una taula de la Base de Dades. • UPDATE: Modifica un o més registres a una taula de la Base de Dades. • DELETE: Elimina un o més registres existents a una taula.
2.3. Consultes DDL (Data Definition Language) (II) • INSERT INSERT INTO Alumnes VALUES (11, ‘JOANA'); INSERT INTO Professors VALUES (6, ‘ROBERT', ‘MARTÍ, ‘SALES’);
2.3. Consultes DDL (Data Definition Language) (II) • UPDATE UPDATE Alumnes SET ImportMatricula = ImportMatricula * 0.03
2.3. Consultes DDL (Data Definition Language) (II) • DELETE DELETE FROM Alumnes