Diferencia entre revisiones de «Plantilla:PHP/SQL»
(→Sentencias DCL) |
(→Sentencias DML) |
||
Línea 183: | Línea 183: | ||
UPDATE usuarios SET nombre="alicia" WHERE nombre="manolo"; | UPDATE usuarios SET nombre="alicia" WHERE nombre="manolo"; | ||
</source> | </source> | ||
+ | }} | ||
+ | |||
+ | |||
− | + | ===SELECT=== | |
− | + | *Esta es una claúsula especial a la que le vamos a dedicar bastante tiempo. | |
− | + | *Consiste en hacer consultas de nuestro conjunto de datos y poder recuperarlos. | |
+ | *La cantidad de consultas que se pueden realizar es muy grande y variado, siempre que se pueda establecer la consulta y la lógica matemática de su resolución, va a haber una sentencia SQL que permita implementarla. | ||
+ | Esta sentencia que empieza por la claúsual SELECT va a terner hasta 5 posibles claúsulas, de las cuales solo son obligatorias las dos primeras | ||
+ | <source lang=SQL> | ||
+ | SELECT | ||
+ | FROM | ||
+ | </source> | ||
+ | Las 5 posibles que estudaremos son | ||
<source lang=SQL> | <source lang=SQL> | ||
SELECT | SELECT | ||
Línea 195: | Línea 205: | ||
(ORDER BY) | (ORDER BY) | ||
</source> | </source> | ||
+ | {{MRM_Clave|Title=importante (lo estudiaremos| | ||
+ | *'''''Having''''' solo se usa como opción en el '''group by'''. | ||
+ | *'''''Order by''''' es un criterio de ordenación y no se considera como cláusula propiamente dicho | ||
}} | }} | ||
− | * | + | *Usando el álgebra relacional y permite recuperar un subconjunto de los datos de la base de datos. |
− | * | + | *Esta sentencia devuelve un conjunto de tuplas como resultado de ejecutar la consulta. |
+ | *Las operaciones del algebra relacional son | ||
+ | |||
+ | ;Proyecciones | ||
+ | ;Selecciones | ||
+ | ;Producto cartesiano | ||
+ | ;Join | ||
+ | |||
+ | paréntesis. | ||
</div> | </div> |
Revisión de 00:08 28 abr 2018
Contenido
SQL
SQL es un lenguaje de consultas estructuradas o Structured Query Language. Es un lenguaje de 4º generación donde el programador o usuario del lenguaje especifica lo qué quiere, pero no establece el procedimiento a seguir para conseguirlo, no dice cómo ha de hacer el sistema para conseguirlo
Lenguaje no procedural Vs lenguaje procedural)
| |
Dime todos los empleados de más de 45 años o SELECT * FROM empleados WHERE edad>45; Lenguaje procedural (tipo php o java) Abre la tabla empelados Lee desde el primer registro hasta el último (Bucle) Verifica si ese empleado tiene mas de 45 Si es así añádelo a la lista de resultado Muestra la lista de resultado
|
Lenguaje para gestionar bases de datos relacionales cuyas instrucciones o sentencias especifican lo qué se quiere, no cómo se va a realizar |
Lenguajes dentro de SQL
SQL no es, como su nombre indica, solamente un lenguaje de consultas, sino que proporciona todas las instrucciones necesarias para gestionar una base de datos.
SQL incorpora tres tipos de lenguajes: de Definición, de Control, de Manipulación.
Las instrucciones de SQL se conocen como sentencias, y todas se caracterizan por que empiezan por una palabra reservada que identifica a qué lenguaje de los tres que tiene SQL pertenece esa instrucción.
|
Sentencias DDL
CREATE DATABASE usuarios; CREATE TABLE usuario( password VARCHAR(200), nombre varchar2(40) );
DROP TABLE usuario;
ALTER TABLE usuarios ADD direccion VARCHAR(20); |
Instrucción CREATE
- Sintaxis de la instrucción
- Los nombres de las columnas son identificadores
- Tipos de datos para las columnas
- Especificación de Restricciones
- Definición de Restricciones
- Definición de Restricciones
- Restricción unique
- Restrición Foreign Key
- Restricción Ckeck
- Creacción de tabla como resultado de una consulta
Alter table
- La sentencia ALTER TABLE se utiliza para añadir, eliminar o modificar las columnas en una tabla existente.
- SQL ALTER TABLE
ALTER TABLE TABLE_NAME ADD column_name datatype
Eliminar una columna de una tabla
ALTER TABLE TABLE_NAME DROP COLUMN column_name </sql> Modificar co cambiar el tipo de datos de una columna de una tabla <SOURCE lang=sql> ALTER TABLE TABLE_NAME MODIFY column_name datatype
Plantilla:Nota:Ojo no violar restricciones con la modificación de la tabla
Drop table
- Elimina una tabla de forma completa
- Si solo quire elminiar su contenido usa la claúsula trunctate
Sentencias DCL
GRANT ALL ON DATABASE.* TO 'manuel'@'localhost' #Asigna todos los privilegios sobre las tablas #de la base de datos 'database' # al usuario 'manuel'
|
Sentencias DML
INSERT INTO usuarios (nombre, password) VALUES("manuel", "password_no_segura");
DELETE FROM usuarios WHERE nombre="manuel";
UPDATE usuarios SET nombre="alicia" WHERE nombre="manolo"; |
SELECT
- Esta es una claúsula especial a la que le vamos a dedicar bastante tiempo.
- Consiste en hacer consultas de nuestro conjunto de datos y poder recuperarlos.
- La cantidad de consultas que se pueden realizar es muy grande y variado, siempre que se pueda establecer la consulta y la lógica matemática de su resolución, va a haber una sentencia SQL que permita implementarla.
Esta sentencia que empieza por la claúsual SELECT va a terner hasta 5 posibles claúsulas, de las cuales solo son obligatorias las dos primeras
SELECT FROM
Las 5 posibles que estudaremos son
SELECT FROM WHERE GROUP BY HAVING (ORDER BY)
|
- Usando el álgebra relacional y permite recuperar un subconjunto de los datos de la base de datos.
- Esta sentencia devuelve un conjunto de tuplas como resultado de ejecutar la consulta.
- Las operaciones del algebra relacional son
- Proyecciones
- Selecciones
- Producto cartesiano
- Join
paréntesis.