Beruflich Dokumente
Kultur Dokumente
Para los tiquismiquis qu es un compendio? Compendio (del latn compendum) es el nombre que recibe una breve pero detallada y precisa compilacin de un rea determinada de conocimiento humano. En la mayora de los casos el rea de conocimiento se referir a un cierto campo delimitado de inters (en este caso SQL). A veces puede ser un resumen de una obra mayor. Dentro de la brevedad de la exposicin, el compendio puede contener materia complicada y extensa.
Conectarse a mysql
CODE:
albertjh@portatil:~$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Your MySQL connection id is 7 Server version: 5.0.51a-3ubuntu5 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> Commands end with ; or \g.
1. USE pruebas;
mysql> use prueba; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A
1. DESCRIBE Alumnos ;
mysql> describe alumnos; +-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra |
| varchar(10) | YES
SQL:
1. SHOW TABLES;
1. DROP Notas;
1. CREATE TABLE Alumnos( 2. id INT NOT NULL, 3. nombre VARCHAR (10) NOT NULL, 4. apellido VARCHAR (10) NOT NULL, 5. telefono LONG, 6. CONSTRAINT alumnosPk1 PRIMARY KEY (id) 7. ); 8. 9. CREATE TABLE Notas( 10. id INT NOT NULL, 11. modulo VARCHAR (10) NOT NULL,
12. parcial INT NOT NULL, 13. nota INT NOT NULL CHECK (VALUE BETWEEN 1 AND 10), 14. CONSTRAINT notasPk1 PRIMARY KEY (id, modulo), 15. CONSTRAINT notasfk1 FOREIGN KEY (id) REFERENCES Alumnos(id) 16. );
1. INSERT INTO Alumnos VALUES(1,juan,garcia,949494949); 2. INSERT INTO Alumnos VALUES(2,maria,alvarez,); 3. INSERT INTO Alumnos VALUES(3,carlos,perez,6458544); 4. INSERT INTO Alumnos VALUES(4,alberto,jimenez,); 5. INSERT INTO Alumnos VALUES(5,vanesa,galera,912552522); 6. INSERT INTO Alumnos VALUES(6,sergio,molina,5464465656); 7. INSERT INTO Alumnos VALUES(1,juan,garcia,94949); 8. INSERT INTO Alumnos VALUES(2,maria,alvarez,0); 9. INSERT INTO Alumnos VALUES(3,carlos,perez,6454); 10. INSERT INTO Alumnos VALUES(4,alberto,jimenez,0); 11. INSERT INTO Alumnos VALUES(5,vanesa,galera,9125); 12. INSERT INTO Alumnos VALUES(6,sergio,molina,5464);
mysql> SELECT * FROM alumnos WHERE id < 5 AND nombre="Alberto"; +------+---------+-------------------+-----------+ | Id | nombre | apellidos | tlfn |
1. SELECT Alumnos.id, nombre, apellido, telefono, modulo, parcial, nota 2. FROM Alumnos,Notas 3. WHERE ((Alumnos.id = Notas.id) AND (modulo LIKE sistemas)) OR ((modulo LIKE analisis) AND (nota> 5)) 4. ORDER BY Alumnos.id,modulo;
1. SELECT modulo,avg(nota) AS media 2. FROM Notas AS n 3. WHERE n.id=3 OR n.id=1 OR n.id=2 4. GROUP BY modulo 5. ORDER BY media DESC;
Visualizar datos seleccionados en una tabla de datos, su mximo, mnimo, media y suma
Usamos las sentencias MAX, MIN ,AVG y SUM:
PLAIN TEXT
SQL:
1. SELECT MAX(nota) 2. FROM Notas 3. WHERE id=1; 4. 5. SELECT AVG(nota) 6. FROM Notas 7. WHERE id=1; 8. 9. SELECT MIN(nota) 10. FROM Notas; 11. 12. SELECT AVG(nota) AS media 13. FROM Notas 14. WHERE modulo = analisis; 15. 16. SELECT SUM(nota) AS Suma 17. FROM Notas;
1. DELETE * FROM Notas WHERE condicion; 2. SELECT a.id, a.nombre, n.modulo, n.nota 3. FROM Alumnos a ,Notas n 4. WHERE a.id = n.id ;
Sentencia LIKE
En entornos no unix los operandos especiales son: * y ? * Una o varias apariciones ? Una o ninguna apariciones En entornos unix: % y _ % Una o varias apariciones _ Una o ninguna apariciones
1. SELECT * 2. FROM Alumnos,Notas 3. WHERE Alumnos.id = Notas.id AND modulo LIKE %sistemas OR modulo LIKE 00_%Diurno 4. ORDER BY apellido;
mysql> select nombre from Personas where nombre like "%, J%"; +---------------------+ | nombre |
Operando bsicos
< Menor que > Mayor que > = Mayor o igual < = Menor o igual != Distinto de
mysql> SELECT SUBSTR(nombre, INSTR(nombre, ',')+2) Nombre -> FROM Personas; +--------------+ | Nombre |
Sentencia Between
Para evitar hacer repeticiones tales como: AND ((nota >= 5) AND (nota <= 8)); Se usa between:
1. SELECT nombre, apellido, modulo, nota 2. FROM Alumnos, Notas 3. WHERE (Notas.id = Alumnos.id) AND (nota BETWEEN 5 AND 8);
Sentencia Round
Sirve para redondear, le podemos indicar cuantos decimales incluiremos.
mysql> select ROUND(AVG(importe),2) REDONDEO from Multas; +----------+ | REDONDEO | +----------+ | 199.09 |
Sentencia Count
Sirve para contar. Podemos usar el * para que el motor nos escoja la opcin o ponerlos nosotros mismos.
mysql> select count(ref) "NUMERO DE MULTAS" from Multas; +------------------+ | NUMERO DE MULTAS | +------------------+ | 35 |
1. SELECT DISTINCT nombre, apellido 2. FROM Alumnos 3. WHERE id IN ( SELECT DISTINCT id 4. FROM Notas 5. WHERE nota>=5 ) ;
1. SELECT nombre,apellido 2. FROM Alumnos AS A, Notas AS N 3. WHERE (A.id = N.id) AND (N.nota> ( SELECT AVG(nota) FROM Notas ) ) ; Si necesitamos hacer muchas selecciones como IN solo devuelve un campo tenemos que hacer GROUP BY:
1. SELECT MAX(resultado.Suma) AS Maximo 2. FROM (SELECT modulo, SUM(nota) AS Suma 3. FROM Notas 4. GROUP BY modulo) resultado ;