Yhoan Galeano
Web Developer
Algo de mi vida
Soy egresado del SENA, en la tecnología de ADSI del año 2011.
He trabajado en múltiples emprendimientos y he fallado muchas veces, pero agradezco hacerlo porque eso me ha enseñado muchísimo.
En este momento me encuentro emprendiendo (les confieso que he intentado mucho) con algunos amigos y visionamos que para el año 2018 estemos generando empleos formales a muchas personas
Consejo:
"No te preocupes por la vida, nadie sale vivo de ella."
Mariano Ponceliz
Conjunto finito y estructurado de datos
Software que permite manipular bases de datos.
Las bases de datos contienen cientos o miles de tablas y cada tabla se compone de filas y columnas.
Juan | Perez | M | 21 |
Maria | Castañeda | F | 25 |
Diana | Lopez | M | 14 |
Nombre | Apellido | Genero | Edad |
---|
Juan | Perez | M | 21 |
Maria | Castañeda | F | 25 |
Diana | Lopez | M | 14 |
Nombre | Apellido | Género | Edad |
---|
Fila o registro |
---|
Columna
Nombre columna
Dato
Celda
Cada columna puede tener un tipo de dato diferente de las demás.
Structured Query Language
Lenguaje de interacción con bases de datos que permite...
...información en una base de datos.
También conocido como Transact Sql, es una extensión de Sql aplicado al SGBD de MIcrosoft.
Es una extensión de Sql aplicado al SGBD de Oracle.
Es una extensión de SQL aplicado al SGBD de PostgreSQL.
Data Definition Language
Definen la estructura de la base de datos.
Data Control Language
Definen el acceso y permisos de la base de datos.
Data Manipulation Language
Definen los datos contenidos en la base de datos.
DDL
DCL
DML
Transaction Control Language
Controlan las transacciones hechas a la base de datos
TCL
Crear, modificar o eliminar objetos.
DDL
CREATE DATABASE nombre_base de datos
CREATE DATABASE TiendaDiscoStu;
Crea nuevos objetos en la base de datos.
CREATE
DDL
CREATE TABLE nombre_tabla
(
nombre_columna1 tipo_de_dato(tamaño),
nombre_columna2 tipo_de_dato(tamaño),
nombre_columna2 tipo_de_dato(tamaño),
....
);
CREATE TABLE artistas
(
id INT PRIMARY KEY IDENTITY (1,1),
identificacion INT,
nombres VARCHAR(30),
apellidos VARCHAR(35),
nombre_artistico VARCHAR(35),
sueldo FLOAT,
genero VARCHAR(50)
);
CREATE
DDL
ALTER TABLE nombre_tabla
ALTER|ADD|DROP nombre_columna tipo_de_dato(tamaño)
ALTER TABLE Artistas
ALTER COLUMN genero VARCHAR(200) NOT NULL;
Altera la estructura de objetos en la base de datos.
CREATE
ALTER
DDL
DROP TABLE nombre_tabla
DROP TABLE Artistas;
Elimina objetos en la base de datos.
CREATE
ALTER
DROP
Controla y administra quien accede a los objetos de la base de datos.
CREATE
ALTER
DROP
DDL
GRANT PRIVILIGIES ON nombre_objeto TO nombre_usuario
GRANT SELECT, INSERT, UPDATE, DELETE
ON Empleados
TO PepitoPerez;
Permite a usuarios leer/escribir sobre los objetos de la base de datos.
GRANT
DCL
CREATE
ALTER
DROP
DDL
REVOKE PRIVILIGIES ON nombre_objeto TO nombre_usuario
REVOKE ALL ON Empleados FROM PepitoPerez;
Niega a usuarios leer/escribir sobre los objetos de la base de datos.
GRANT
REVOKE
DCL
Obtener, agregar, modificar o eliminar información contenida en los objetos de la base de datos.
Estas sentencias pueden ser filtradas por la clausula WHERE
CREATE
ALTER
DROP
DDL
SELECT nombre_columna1, nombre_columna2, nombre_columna3 FROM nombre_tabla
SELECT nombres, apellidos, genero FROM artistas;
Obtiene la información de un objeto en la base de datos.
GRANT
REVOKE
DCL
SELECT
DML
Usando "*" para traer todas las columnas
SELECT * FROM artistas;
CREATE
ALTER
DROP
DDL
SELECT nombre_columna1, nombre_columna2, nombre_columna3 FROM nombre_tabla WHERE nombre_columna2 [Operador de Comparación] valor2
SELECT nombres, apellidos, genero
FROM artistas
WHERE genero = 'Rock';
GRANT
REVOKE
DCL
SELECT
DML
CREATE
ALTER
DROP
DDL
INSERT INTO nombre_tabla
VALUES (valor1,valor2, valor3,...)
INSERT INTO artistas
VALUES(1018456789,'Chayan Emilio','Lopez',
'El chayan',3000,'Romantico');
Inserta información en un objeto en la base de datos.
GRANT
REVOKE
DCL
SELECT
INSERT
DML
CREATE
ALTER
DROP
DDL
UPDATE nombre_tabla SET nombre_columna1 [Operador de Asignación] valor1
UPDATE artistas SET sueldo = 200;
Actualiza la información de un objeto en la base de datos.
GRANT
REVOKE
DCL
SELECT
INSERT
UPDATE
DML
CREATE
ALTER
DROP
DDL
UPDATE nombre_tabla SET nombre_columna1 [Operador de Asignación] valor1 WHERE nombre_columna2 [Operador de Comparación] valor2
UPDATE artistas SET sueldo = 200
WHERE genero = 'Reggaeton';
GRANT
REVOKE
DCL
DML
SELECT
INSERT
UPDATE
CREATE
ALTER
DROP
DDL
DELETE FROM nombre_tabla
DELETE FROM artistas;
Borra información de un objeto en la base de datos.
GRANT
REVOKE
DCL
SELECT
INSERT
UPDATE
DELETE
DML
CREATE
ALTER
DROP
DDL
DELETE FROM nombre_tabla WHERE nombre_columna2 [Operador Comparativo] valor2
DELETE FROM artistas
WHERE nombre_artistico = 'Trigresa del oriente';
GRANT
REVOKE
DCL
DML
SELECT
INSERT
UPDATE
DELETE
Administra las transacciones hechas a objetos en la base de datos.
Tipo dato | Intervalo |
---|---|
bigint | De -263(-9.223.372.036.854.775.808) a 263 - 1 (9.223.372.036.854.775.807) |
int | De -231 (-2.147.483.648) a 231 - 1 (2.147.483.647) |
smallint | De -215 (-32.768) a 215 - 1 (32.767) |
tinyint | De 0 a 255 |
bit | Tipo de datos entero que puede aceptar los valores 1, 0 ó NULL |
Tipo dato | Intervalo |
---|---|
decimal, numeric, decimal (p, s) |
p (precisión): el número total máximo de dígitos decimales que se puede almacena. s (escala): el número máximo de dígitos decimales que se puede almacenar a la derecha del separador decimal. |
money | Tipos de datos que representan valores monetarios o de moneda: de -922.337.203.685,4775808 a 922.337.203.685,4775807 |
smallmoney | De -215 (-32.768) a 215 - 1 (32.767) |
Tipo dato | Intervalo |
---|---|
float | De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308 a 1,79E+308 |
real | De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38 a 3,40E + 38 |
Tipo dato | Intervalo |
---|---|
datetime | Del 1 de enero de 1753 hasta el 31 de diciembre de 9999 |
smalldatetime | Del 1 de enero de 1900 hasta el 6 de junio de 2079 |
Tipo dato | Intervalo |
---|---|
char(n) | Caracteres no Unicode de longitud fija, con una longitud de n bytes. n debe ser un valor entre 1 y 8.000 |
varchar(n) | Caracteres no Unicode de longitud variable. n indica que el tamaño de almacenamiento máximo es de 231 - 1 bytes |
text | En desuso, sustituido por varchar. Datos no Unicode de longitud variable con una longitud máxima de 231 - 1 (2.147.483.647) caracteres |
Tipo dato | Intervalo |
---|---|
nchar(n) | Datos de carácter Unicode de longitud fija, con n caracteres. n debe estar comprendido entre 1 y 4.000 |
nvarchar(n) | Datos de carácter Unicode de longitud variable. n indica que el tamaño máximo de almacenamiento es 231 - 1 bytes |
ntext(n) | En desuso, sustituido por nvarchar. Datos Unicode de longitud variable con una longitud máxima de 230 - 1 (1.073.741.823) caracteres |
Entre otros.
Operador | Significado |
---|---|
+ | Suma |
- | Resta |
* | Multiplicación |
/ | División |
% | Módulo o resíduo |
Operador | Significado |
---|---|
AND | TRUE si ambas expresiones booleanas son TRUE. |
BETWEEN | TRUE si el operando está dentro de un intervalo. |
IN | TRUE si el operando es igual a uno de la lista de expresiones. |
LIKE | TRUE si el operando coincide con un patrón. |
NOT | Invierte el valor de cualquier otro operador booleano. |
OR | TRUE si cualquiera de las dos expresiones booleanas es TRUE. |
Los más usados
El signo igual (=) es el único operador de asignación de Transact-SQL.
Operador | Significado |
---|---|
= | Igual a |
> | Mayor que |
< | Menor que |
>= | Mayor o igual que |
<= | Menor o igual que |
<> | No es igual a |
Funciones integradas que proporcionan ayuda para trabajar con la información de la base de datos.
(Las más usadas)
Función | Descripción | Uso |
---|---|---|
AVG(nombre_columna) | Devuelve el promedio de los valores de un grupo. Se omiten los valores NULL. | SELECT AVG(monto) FROM Ventas |
MIN(nombre_columna) | Devuelve el valor mínimo de la expresión | SELECT MIN(TasaImpuesto) Ventas; |
COUNT(nombre_columna) | Devuelve el número de elementos de un grupo | SELECT COUNT(DISTINCT Nombre) FROM Empleados; |
MAX(nombre_columna) | Devuelve el valor máximo de la expresión | SELECT MAX(TasaImpuesto) FROM Ventas; |
SUM(nombre_columna) | Devuelve la suma de todos los valores o solo de los valores DISTINCT de la expresión | SELECT SUM(Total) FROM Ventas; |
(Las más usadas)
Función | Descripción | Uso |
---|---|---|
CAST(dato AS tipo_dato) | Convierte una expresión de un tipo de datos en otro | SELECT CAST(236 AS nvarchar); |
CONVERT(tipo_dato,dato) | Devuelve el valor mínimo de la expresión | SELECT CONVERT(nvarchar,236); |
PARSE(dato AS tipo_dato) | Devuelve el resultado de una expresión, traducido al tipo de datos solicitado en SQL Server | SELECT PARSE('12/16/2010' AS datetime2) AS Result; |
(Las más usadas)
Función | Descripción | Uso |
---|---|---|
GETDATE() | Devuelve un valor datetime que contiene la fecha y hora del equipo en el que la instancia de SQL Server se está ejecutando. El ajuste de zona horaria no está incluido. | SELECT GETDATE(); |
DAY(fecha) | Devuelve un entero que representa la parte del día de date especificado. | SELECT DAY('17/11/1989'); |
MONTH(fecha) | Devuelve el resultado de una expresión, traducido al tipo de datos solicitado en SQL ServerDevuelve un entero que representa el mes de un fecha especificado. | SELECT MONTH('17/11/1989'); |
YEAR(fecha) | Devuelve un entero que representa el año de una fecha específica. | SELECT YEAR('17/11/1989'); |
(Las más usadas)
Función | Descripción | Uso |
---|---|---|
SQRT(dato) | Devuelve la raíz cuadrada del valor de tipo flotante especificado | SELECT SQRT(3); |
ROUND(dato) | Devuelve un valor numérico, redondeado a la longitud o precisión especificadas | SELECT ROUND(3.1416,2) |
POWER(dato,potencia) | Devuelve el valor de la expresión especificada elevado a la potencia especificada. | SELECT POWER(2,5); |
(Las más usadas)
Función | Descripción | Uso |
---|---|---|
CONCAT(cadena1,cadena2,...) | Devuelve una cadena que es el resultado de concatenar dos o más valores de cadena | SELECT CONCAT('Hola','que','tal'); |
SUBSTRING(cadena,indice_inicio,numero_indices_desplazamiento) | Devuelve parte de una expresión de caracteres, binaria, de texto o de imagen en SQL Server. | SELECT SUBSTRING('abcdef', 2, 3); |
REPLACE(dato,valor_a_reemplazar,valor_reemplazo) | Reemplaza todas las instancias de un valor de cadena especificado por otro valor de cadena. | SELECT REPLACE('primer texto','primer','reemplazado'); |
LEN(cadena) | Devuelve el número de caracteres de la expresión de cadena especificada, excluidos los espacios en blanco finales | SELECT LEN('Texto de prueba'); |
(Las más usadas)
Función | Descripción | Uso |
---|---|---|
UPPER(cadena) | Devuelve una expresión de caracteres convertidos a mayúsculas | SELECT UPPER('Pedro'); |
LOWER(cadena) | Devuelve una expresión de caracteres convertidos a minúsculas | SELECT LOWER('Juan'); |
RTRIM(cadena) | Remueve los espacios en blanco al final de una cadena | SELECT RTRIM('Buenos días '); |
LTRIM(cadena) | Remueve los espacios en blanco al principio de una cadena | SELECT LTRIM(' buenas tardes'); |
(Las más usadas)
SELECT TOP numero_filas, nombre_columna1, nombre_columna_2 FROM nombre_tabla
SELECT TOP 5 * FROM Artistas;
SELECT nombre_columna1 AS 'nombre_alias1',nombre_columna2 AS 'nombre_alias2' FROM nombre_tabla
SELECT genero AS 'Genero Artistico'
FROM artistas;
Son palabras que pueden reemplazar el nombre de columnas o tablas en una consulta sin alterar su estructura como tal.
SELECT nombre_columna1 ,nombre_columna2 FROM nombre_tabla WHERE nombre_columna1 IN (consulta_select)
SELECT * FROM artistas
WHERE Pais IN
(SELECT NombrePais FROM Paises
WHERE Continente = 'América');
Consultas anidadas en otras consultas.
Se pueden incluir en:
SELECT nombre_columna1 ,nombre_columna2 FROM nombre_tabla WHERE nombre_columna1 ORDER BY nombre_columna
SELECT * FROM artistas
WHERE genero = 'Jazz'
ORDER BY FechaEntrada;
Ordenar datos dentro de una cláusula SELECT, puede tener las siguientes variaciones:
SELECT funcion_agregado FROM nombre_tabla WHERE nombre_columna1 GROUP BY nombre_columna_agrupar
SELECT count(*) FROM
artistas
GROUP BY genero
Agrupar datos dentro de una cláusula SELECT que contenga una función de agregado.
nombre_columna PRIMARY KEY,
id INT PRIMARY KEY,
Campo o combinación de campos que identifica de forma única a cada fila de una tabla.
Incluida dentro de la sentencia CREATE de una tabla.
ALTER TABLE artistas WITH CHECK ADD
CONSTRAINT FK_GENERO FOREIGN KEY (GENERO_ID)
REFERENCES Generos (ID)
Identifican una columna o grupo de columnas en una tabla que se refiere a una columna o grupo de columnas en otra tabla.