. El
lenguaje SQL
Antecedentes
Empieza
en 1974 con la definición, por parte de Donald Chamberlin y de otras personas
que trabajaban en los laboratorios de investigación de IBM, de un lenguaje para
la especificación de las características de las bases de datos que adoptaban el
modelo relacional. Este lenguaje se llamaba
SEQUEL (Structured English Query Language) y se implementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión del lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales, convirtiéndose en SQL. El prototipo (System R), basado en este lenguaje, se adoptó y utilizó internamente en IBM y lo adoptaron algunos de sus clientes elegidos.
SEQUEL (Structured English Query Language) y se implementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión del lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales, convirtiéndose en SQL. El prototipo (System R), basado en este lenguaje, se adoptó y utilizó internamente en IBM y lo adoptaron algunos de sus clientes elegidos.
Es
un lenguaje normalizado, estructurado de consultas a bases de datos. Esto
quiere decir, que en casi todas las consultas a distintos tipos de bases de
datos, esto que quiere decir que si tu utilizas Oracle , Mysql , apache ,
cualquier base de datos puede ser vulnerable por que utilices otra no significa
que no sea vulnerable
El
lenguaje Sql se divide en dos categorías : el lenguaje de definición de datos ,data
definition language (DDL) y Lenguaje de manipulación de datos ;data
manipulation language (DML).
DDL
Las
sentencias DDL se utilizan para crear y modificar la estructura de las tablas
así como otros objetos de la base de datos.
CREATE
- para crear objetos en la base de datos.
ALTER
- modifica la estructura de la base de datos.
DROP
- borra objetos de la base de datos.
TRUNCATE
- elimina todos los registros de la tabla.
Lenguaje
de manipulación de datos (DML)
Las
sentencias de lenguaje de manipulación de datos (DML) son utilizadas para
gestionar datos dentro de los schemas. Algunos ejemplos:
SELECT
– selecciona a una base de datos .
INSERT
– inserta datos a una base de datos .
UPDATE
– permite modificar datos existentes en una base de datos .
DELETE
- elimina todos los registros de la tabla.
Operadores
y Clausulas de SQL
Cadena o instrucción SQL: expresión que define un comando de SQL, como
SELECT, UPDATE o DELETE, e incluye cláusulas como WHERE y ORDER BY. Las
instrucciones o cadenas SQL se utilizan en consultas y en funciones de
agregado.
OPERADORES DE COMPARACIÓN
Clausulas Sql
And – esto ya lo vimos en el
post de google hacking es como una unión que evalua las dos condiciones y
verifica si una es cierta
Or –tambien lo vimos en
google hacking sirve para definir dos condiciones si una de las dos es TRUE
arroja el valor
Not – devuelve un valor
contrario a la expresión
OPERADOR
< MENOR QUE
> Mayor que
>= Mayor o igual que
<= Menor o igual que
In Especifica los registros
de una base de datos .
ORDER BY
Se utiliza para especificar el
criterio de ordenación de la respuesta a la consulta. Por defecto la ordenación
es ascendente, aunque se puede especificar un orden descendente. La ordenación
se puede establecer sobre el contenido de columnas o sobre expresiones con
columnas.
DISTINCT
Omite los registros que contienen
datos duplicados en los campos seleccionados. Para ser incluidos en los
resultados de la consulta, los valores de cada campo enumerado en la
instrucción SELECT deben ser únicos.
BETWEEN
Comprueba si un valor está
comprendido en un rango de valores.
LIKE
El operador LIKE permite realizar comparaciones con
cadenas de caracteres. Se pueden utilizar los siguientes comodines: (*) cualquier cadena de 0 o más caracteres y (_) representa un carácter cualquiera
UNION
Sirve
para combinar el resultado de dos consultas juntas.
INFORMATION_SCHEMAS.TABLES:
Devuelve
información de una tabla determinada
CONCAT
Concatena
los resultados de varios campos diferentes
GROUP_CONCAT:
devuelve como resultado una cadena de
concatenación de un grupo de valores no nulos Char: se utiliza para insertar
caracteres de control en cadenas de caracteres.
/*Esto
fue un poco de teoría que logre recopilar , en el próximo post haremos la practica
de sql inject */
No hay comentarios:
Publicar un comentario