Diferencia entre revisiones de «Plantilla:PHP/SQL»
(→Lenguajes dentro de SQL) |
|||
Línea 25: | Línea 25: | ||
Lenguaje para gestionar bases de datos '''relacionales''' cuyas '''''instrucciones o sentencias''''' especifican lo '''''qué''''' se quiere, no '''''cómo''''' se va a realizar}} | 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==== | ====Lenguajes dentro de SQL==== | ||
− | '''''SQL''''' | + | '''''SQL''''' no es, como su nombre indica, solamente un lenguaje de consultas, si no que proporciona todas las instrucciones necesarias para '''''gestionar''''' una base de datos.<br /> |
'''''SQL''''' incorpora tres tipos de lenguajes: de '''''Definición''', de '''''Control''''', de '''''Manipulación'''''.<br /> | '''''SQL''''' incorpora tres tipos de lenguajes: de '''''Definición''', de '''''Control''''', de '''''Manipulación'''''.<br /> | ||
− | + | Las intrucciones 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 deque tiene SQL pertenece esa instrucción.<br /> | |
+ | {{MRM_Puntos clave|Title=Lenguajes SQL| | ||
+ | ;DDL | ||
+ | :Lenguaje de '''''definición''''' de datos. | ||
+ | ::Las sentencias de este lenguajes permite crear nuevos elementos en la base de datos como usuarios, tablas, índcies, etc. | ||
+ | :DCL | ||
+ | :Lenguaje de '''''control''''' de datos | ||
+ | ::Las sentencias de este lenguaje permite gestionar permisos sobre los elementos y acciones sobre la consistencia de los datos | ||
+ | :DML | ||
+ | :Lenguaje de '''''manipulación''''' de datos | ||
+ | ::Sin duda son las instrucciones o sentencias mas utilizadas en un Gestor | ||
+ | ::Con ellas podemos manipular lo que se conoce como la extensión o contenido de la base de datos. Es decir actuar sobre las tuplas (insertar, modificar y borrar), y consultar | ||
+ | }} | ||
+ | |||
+ | {{MRM_Definicion|title=sentencias DDL| | ||
+ | ;CREATE | ||
+ | ;DROP | ||
+ | ;ALTER | ||
+ | }} | ||
+ | |||
+ | {{MRM_Definicion|title=sentencias DCL| | ||
+ | ;GRANT | ||
+ | :para asignar privilegios | ||
+ | <source lang=SQL> | ||
+ | GRANT ALL ON database.* TO 'manuel'@'localhost' | ||
+ | #Asigna todos los privilegios sobre las tablas de la base de datos database al usuario manuel | ||
+ | </source> | ||
+ | ;REVOKE | ||
+ | :Elimina privilegios asignados | ||
+ | ;COMMIT | ||
+ | :Confirma una transacción de manera permanente en la base de datos | ||
+ | ;ROLLBACK | ||
+ | :Desace todos los cambios en la base de datos desde la ultima transacción confirmada | ||
+ | }} | ||
+ | {{MRM_Definicion|title=sentencias DML| | ||
+ | ;INSERT | ||
+ | :Inserta tuplas en una tabla | ||
+ | :Esta acción pude devolver algún tipo de valor booleano indicando se se ha insertado o no la tupla | ||
+ | ;DELETE | ||
+ | :Borra tuplas (0 o más) de una o más tablas | ||
+ | ;UPDATE | ||
+ | :Actuliza tuplas (0 o más) de una o más tablas | ||
+ | :Las dos últimas sentencias ('''''UPDATE Y DELETE''''') sueleN devolver un entero que indica el número de tuplas actulizadoas o borradas (siendo 0 un valor posible) o un error (-1 o false) se se ha producido algún tipo de error. | ||
+ | ;SELECT | ||
+ | :Es esta la sentencia estrella | ||
+ | :usando el álgebra relacional premite recuperar un subconjunto de los datos de la base de datos | ||
+ | :Esta sentencia devuelve un conjunto de tuplas devueltas por la consulta. Normalmente va a devolverlo como un objeto dependiendo del lenguaje. | ||
+ | :Esta sentencia pude tener 5 claúsulas de las cuales solo las dos primeras son obligatoiras | ||
+ | <source lang=SQL> | ||
+ | SELECT | ||
+ | FROM | ||
+ | WEHRE | ||
+ | GROUP BY | ||
+ | HAVING | ||
+ | ORDER BY | ||
+ | <source> | ||
+ | }} | ||
</div> | </div> |
Revisión de 12:07 12 dic 2016
SQL
SQL es un lenguaje de consultas estructuradas o Structured Query Language. Es un lenguaje de 4º genereació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, si no 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 intrucciones 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 deque tiene SQL pertenece esa instrucción.
|
GRANT ALL ON DATABASE.* TO 'manuel'@'localhost' #Asigna todos los privilegios sobre las tablas de la base de datos DATABASE al usuario manuel
|
{{MRM_Definicion|title=sentencias DML|
- INSERT
- Inserta tuplas en una tabla
- Esta acción pude devolver algún tipo de valor booleano indicando se se ha insertado o no la tupla
- DELETE
- Borra tuplas (0 o más) de una o más tablas
- UPDATE
- Actuliza tuplas (0 o más) de una o más tablas
- Las dos últimas sentencias (UPDATE Y DELETE) sueleN devolver un entero que indica el número de tuplas actulizadoas o borradas (siendo 0 un valor posible) o un error (-1 o false) se se ha producido algún tipo de error.
- SELECT
- Es esta la sentencia estrella
- usando el álgebra relacional premite recuperar un subconjunto de los datos de la base de datos
- Esta sentencia devuelve un conjunto de tuplas devueltas por la consulta. Normalmente va a devolverlo como un objeto dependiendo del lenguaje.
- Esta sentencia pude tener 5 claúsulas de las cuales solo las dos primeras son obligatoiras
SELECT FROM WEHRE GROUP BY HAVING ORDER BY <source> }} </div>