miércoles, 15 de enero de 2020

Introducción al lenguaje SQL

Introducción al lenguaje SQL

En este tutorial aprenderemos las bases del lenguaje SQL para empezar a manejar bases de datos y hacer consultas. El lenguaje SQL (Structured Query Language; lenguaje de consulta estructurada) es un lenguaje de base de datos normalizado, utilizado para crear y manipular bases de datos. Está compuesto por comandos, cláusulas, operadores y funciones. Estos elementos se combinan en las instrucciones para crear, actualizar y eliminar bases de datos.

COMANDOS

Existen dos tipos de comandos en el lenguaje SQL
  • Comandos DLL: permiten crear bases de datos, campos e índices nuevos.
  • Comandos DML: permiten crear consultas para ordenar, filtrar y extraer información de una base de datos.

Comandos DLL

NOMBREDESCRIPCIÓN
CREATEPara crear bases de datos, tablas, campos e índices
DROPPara eliminar bases de datos, tablas e índices
ALTERPara modificar tablas agregando o modificando campos

Comandos DML

NOMBREDESCRIPCIÓN
SELECTPara pedir datos con determinados criterios
INSERTPara insertar datos
UPDATEPara modificar valores de campos
DELETEPara elimar registros de una tabla

CLÁUSULAS

Son condiciones utilizadas para filtrar los datos que se desean obtener de la base de datos.
NOMBREDESCRIPCIÓN
FROMPara especificar la tabla sobre la cual actuar
WHERECondiciones que deben reunir los registros seleccionados
GROUP BYPara separar los registros seleccionados en grupos
HAVINGPara expresar las condiciones que debe cumplir cada grupo
ORDER BYPara ordenar los registros seleccionados en un orden determinado

DDL SQL

Un lenguaje de base de datos o lenguaje de definición de datos (Data Definition Language, DDL por sus siglas en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los programadores de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.
Un Data Definition Language o Lenguaje de descripción de datos ( DDL ) es un lenguaje de programación para definir estructura de datos . El término DDL fue introducido por primera vez en relación con el modelo de base de datos CODASYL, donde el esquema de la base de datos ha sido escrito en un lenguaje de descripción de datos que describe los registros, los campos, y "conjuntos" que conforman el usuario modelo de datos. Más tarde fue usado para referirse a un subconjunto de SQL, pero ahora se utiliza en un sentido genérico para referirse a cualquier lenguaje formal para describir datos o estructuras de información, como los esquemas XML.

Resultado de imagen para ddl

Create Data Base y Drop Data Base

DROP DATABASE

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
DROP DATABASE borrar todas las tablas en la base de datos y borrar la base de datos. Sea muy cuidadoso con este comando! Para usar DROP DATABASE, necesita el permiso DROP en la base de datos.
Si usa DROP DATABASE en una base de datos enlazada simbólicamente, tanto el enlace como la base de datos se borran.
DROP DATABASE retorna el número de tablas que se eliminan. Se corresponde con el número de ficheros.
El comando DROP DATABASE borrar del directorio de base de datos los ficheros y directorios que MySQL puede crear durante operaciones normales


CREATE DATABASE

CREATE DATABASE nbBasedeDatos 
          [ ON 
                   [ PRIMARY ] [ <esp_fichero> [ ,...n ] 
                   [ , <grupo> [ ,...n ] ] 
          [ LOG ON {  < esp_fichero > [ ,...n ] } ] 
          ] 
          [ COLLATE nbintercalacion]
          [ WITH <external_access_option> ]
      ]
      [;]
Como vemos la instrucción mínima es: CREATE DATABASE nbBasedeDatos
nbBasedeDatos: Es el nombre de la nueva base de datos. Los nombres de base de datos deben ser únicos en una instancia de SQL Server y cumplir las reglas de los identificadores. Puede tener 128 caracteres como máximo, excepto en un caso que veremos más adelante.
CREATE DATABASE crea una base de datos con el nombre dado. Para usar CREATE DATABASE, necesita el permiso CREATE en la base de datos.

Resultado de imagen para create database y drop database

Create Table y Drop Table


Un comando CREATE muy común es el CREATE TABLE. El uso típico es:
CREATE [TEMPORARY] TABLE [nombre de la tabla] ( [definiciones de columna] ) [parámetros de la tabla].

Sentencia DROP

SENTENCIA PARA BORRAR LA TABLA.
DROP TABLE NOMBRE_DE_TABLA;
CREATE TABLE crea una tabla con el nombre dado. Debe tener el permiso CREATE para la tabla.
Por defecto, la tabla se crea en la base de datos actual. Ocurre un error si la tabla existe, si no hay base de datos actual o si la base de datos no existe.
La sintaxis SQL para CREATE TABLE es
CREATE TABLE "nombre_tabla"
("colu
Resultado de imagen para create table y drop tablemna 1" "tipo_de_datos_para_columna_1",
"columna 2" "tipo_de_datos_para_columna_2",



Alter Table y Alter Column

ALTER TABLE

El comando SQL ALTER TABLE se utiliza para modificar la definición (estructura) de una tabla mediante la modificación de la definición de sus columnas. El comando ALTER se utiliza para realizar las siguientes funciones.
1), añadiendo, gota, modificar columnas de la tabla 
2) Agregar y quitar restricciones 
3) Habilitar y deshabilitar las restricciones

Sintaxis para agregar una columna

ALTER TABLE table_name ADD column_name datatype;
Por ejemplo: Para agregar una columna de "experiencia" de la tabla de empleados, la consulta será como
ALTER TABLE employee ADD experience number(3);

Sintaxis para eliminar una columna

ALTER TABLE table_name DROP column_name;
Por ejemplo: Para quitar la columna "ubicación" de la tabla de empleados, la consulta será como
ALTER TABLE employee DROP location;
Sintaxis para modificar una columna
ALTER TABLE table_name MODIFY column_name datatype;
Por ejemplo: Para modificar el sueldo de columna en la tabla de empleados, la consulta sería como
ALTER TABLE employee MODIFY salary number(15,2);

ALTER COLUMN

Especifica que la columna con nombre va a cambiarse o modificarse.
La columna modificada no puede ser ninguna de las siguientes:
  • timestamp data type.">Una columna con un tipo de datos timestamp.
  • La columna ROWGUIDCOL de la tabla.
  • Una columna calculada o usada en una columna calculada.
  • varchar, nvarchar, or varbinary data type, the data type is not changed, and the new size is equal to or greater than the old size, or if the column is changed from not null to null.">Se usa en las estadísticas generadas por la instrucción CREATE STATISTICS a menos que la columna sea del tipo de datos varchar, nvarchar o varbinary, que el tipo de datos no se cambie y que el nuevo tamaño sea igual o mayor que el tamaño anterior, o que la columna se cambie de NOT NULL a NULL. Quite primero las estadísticas con la instrucción DROP STATISTICS. Las estadísticas generadas automáticamente por el optimizador de consultas se quitan automáticamente con ALTER COLUMN.

Imagen relacionada

DML

Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un lenguaje proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos. 1
El lenguaje de manipulación de datos más popular hoy en día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1CODASYL u otras.

Resultado de imagen para dml

SELECT

El elemento select representa un control que permite al usuario elegir de entre un número de opciones. Las opciones en una lista select son provistas con el elemento option y pueden ser agrupadas con el elemento optgroup.
La conducta de este elemento cambia sustancialmente de acuerdo al valor del atributo multiple, el cual decide si el control permitirá a los usuarios elegir una sola opción o muchas. Dependiendo del valor de este atributo, el control select puede compararse con los botones de opción (cuando el atributo multiple está ausente), que permiten a los usuarios elegir solo una opción entre muchas, y a las casillas de verificación (cuando el atribtuo multiple está presente), que permiten a los ususario la selección de tantas opciones como estén disponibles.
Los controles select pueden tener también una opción-etiqueta predeterminada, que no es más que una opción (option) destinada a actuar como etiqueta cuando no se haya elegido ningun valor en el control. En tales casos, esta opción debe ser la primera en el control, su atributo value debe estar vacío y no debe pertenecer a ningún grupo de opciones (optgroup). La opción-etiqueta predeterminada es obigatoria cuando el elemento select al que pertenece es declarado con el atributo required y se muestra en modo de lista desplegable.

Resultado de imagen para select

La instrucción SQL INSERT INTO

La instrucción SQL INSERT INTO

La instrucción INSERT INTO se usa para insertar nuevos registros en una tabla.

INSERTAR EN LA Sintaxis

Es posible escribir la instrucción INSERT INTO de dos maneras.
La primera forma especifica los nombres de columna y los valores a insertar:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Si agrega valores para todas las columnas de la tabla, no necesita especificar los nombres de columna en la consulta SQL. Sin embargo, asegúrese de que el orden de los valores esté en el mismo orden que las columnas de la tabla. La sintaxis INSERT INTO sería la siguiente:

Resultado de imagen para insert

UPDATE

Las actualizaciones automáticas de Windows Update, descargan e instalan actualizaciones para nuestro sistema Windows. Estas actualizaciones vienen en forma de mejora de drivers, mejora de aplicaciones, parches de seguridad, arreglo de fallos y mejoras en el funcionamiento completo del sistema



El término Update es utilizado justamente para el vocablo en español destinado a la Actualización, que implica la modificación de datos tanto en un archivo como en una base de datos o en una eplicación en general, siendo generalmente asociada a la palabra "Parche" que también es empleada como sinónimo.

DELETE

La instrucción DELETE se usa para eliminar registros existentes en una tabla.

BORRAR Sintaxis

DELETE FROM table_name WHERE condition;
Nota: ¡ Tenga cuidado al eliminar registros en una tabla! Observe la cláusula WHERE en la instrucción DELETE. La cláusula WHERE especifica qué registro (s) deben eliminarse. Si omite la cláusula WHERE, ¡se eliminarán todos los registros de la tabla!

Resultado de imagen para delete

Formulacion de Consulta con SQL

Las tres cláusulas y las preguntas de construcción en una consulta cláusulas de  consulta en SQL y que relación guardan con las preguntas de construcción:

  1. Cláusula SELECT: Donde indicamos los campos de la tabla que queremos obtener, separados por comas. Responde a la pregunta: ¿Qué datos nos piden?
  2. Cláusula FROM: Donde indicamos en que tabla se encuentran estos campos. Responde a la pregunta: ¿Dónde están los datos?
  3. Cláusula WHERE: Donde establecemos la condición que han de cumplir los registros de la tabla que serán seleccionados. Responde a la pregunta: ¿Qué requisitos deben cumplir lo registros? Es de hecho donde se establece el filtro de registros, es decir, que registros serán considerados para mostrar sus datos y cuales no.
Resultado de imagen para formulacion de consulta con sql

GROUP BY SQL

La instrucción GROUP BY agrupa filas que tienen los mismos valores en filas de resumen, como "buscar el número de clientes en cada país".
La instrucción GROUP BY a menudo se usa con funciones agregadas (COUNT, MAX, MIN, SUM, AVG) para agrupar el conjunto de resultados por una o más columnas.

GRUPO POR Sintaxis

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)ORDER BY column_name(s);

Resultado de imagen para Group BY

El ORDEN SQL

El ORDEN SQL POR palabra clave

La palabra clave ORDER BY se usa para ordenar el conjunto de resultados en orden ascendente o descendente.
La palabra clave ORDER BY ordena los registros en orden ascendente de forma predeterminada. Para ordenar los registros en orden descendente, use la palabra clave DESC.

ORDENAR POR Sintaxis

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

Resultado de imagen para order BY

La cláusula SQL HAVING

La cláusula SQL HAVING

La cláusula HAVING se agregó a SQL porque la palabra clave WHERE no se pudo usar con funciones agregadas.

TENIENDO Sintaxis

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)HAVING conditionORDER BY column_name(s);

Base de datos de demostración

A continuación se muestra una selección de la tabla "Clientes" en la base de datos de ejemplo de Northwind:
CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Cláusula UNION SQL

Cláusula UNION SQL

  • UNION combina los conjuntos de resultados de dos consultas.
  • Los tipos de datos de columna en las dos consultas deben coincidir.
  • UNION combina por posición de columna en lugar de nombre de columna.
La guía definitiva
para profesionales de datos.


¡Ordenar hoy!
  Ver video de 2 minutos



La sintaxis de SQL UNION


La sintaxis general es:
  1. SELECCIONAR nombres de columna
  2. DE nombre-tabla
  3. UNIÓN
  4. SELECCIONAR nombres de columna
  5. DE nombre-tabla

Introducción al lenguaje SQL

Introducción al lenguaje SQL En este tutorial aprenderemos las bases del  lenguaje SQL  para empezar a manejar bases de datos y hacer con...