Está en la página 1de 4

SQL

DDL: data definition language


(creación, modificación y eliminación de bases)

Creación de bases: CREATE DATABASE IF NOT EXISTS my_base;

Eliminación: DROP DATABASE IF NOT EXISTS my_base;

Creación de tablas con atributos: CREATE TABLE empleado (


id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL
);
Añadir columnas: ALTER TABLE empleado ADD username varchar(20) AFTER id;

Modificar columnas: ALTER TABLE empleado MODIFY name varchar(25);


(#modifica la longitud del varchar del name)

Eliminar columnas: ALTER TABLE empleado DROP username;

Eliminar tabla: DROP TABLE IF EXISTS mytable;

El ALTER modifica una tabla existente de varias formas

DML: data manipulation language


(consultas, ingreso, modificación y eliminación)

Insertar datos: INSERT INTO empleado (pref_name,givenname,surname,bir) VALUES


(”Alma”, “Alma”,”Quinteros”,”2004-05-31”);
INSERT empleado (surname) VALUE (“Leon”); (#otra forma)

Actualizar datos: UPDATE empleado SET


pref_name = “John”, bir = “1958-02-02”
WHERE surname = “Quiroga”;
(#Actualiza el valor pref_name y bir cuando el surname sea como la condicion)

Eliminar datos: DELETE FROM empleado


WHERE givenname = “Alma ” AND surname = “Quinteros”;

Consulta de datos: SELECT <what> FROM <table_name>


[WHERE <where-conditions>]
[ORDER BY <column_name>];

SELECT * FROM empleado; (#muestra todo el *)


SELECT pref_name, surname FROM empleado;
SELECT * FROM empleado
WHERE bir > ‘1960-01-01”;
SELECT * FROM empelado ORDER BY surname; (#muestra los datos en orden
alfabético de los surname)

SELECT * FROM empleado


WHERE surname LIKE “Qui%”; (#muestra todos los datos de los surname
que empiecen con Qui, % significa que puede ir cualquier cosa después)

FUNCIONES
Conjunto de líneas de código que realizan una tarea especifica y puede retornar un valor.

CAST() CONVIERTE A DIFERENTES TIPOS


SELECT CAST(id AS INT) FROM pajaros;

CONVERT() CONVIERTE A DIFERENTES TIPOS


SELECT CONVERT(numero, CHAR) FROM empleado;

COUNT() CUENTA LOS ITEMS EN UN GRUPO. CUENTA TODO


SELECT COUNT(*) FROM empleado;

MAX() SELECCIONA EL VALOR MAS GRANDE


SELECT MAX(amount) FROM ordenes;

MIN() SELECCIONA EL VALOR MAS CHICO


SELECT MIN(amount) FROM ordenes;

SUM() SUMA LOS VALORES


SELECT SUM(amount) FROM ordenes;

UPPER() HACE MAYUSCULA


SELECT UPPER(apellido), nombre FROM empleados;

JOIN
Combina registros de tablas relacionadas basándose en una condición de unión especificada

INNER JOIN Devuelve los datos solicitados para cada fila en cada tabla solo donde hay una
coincidencia exacta en el campo de combinación (si es nulo no lo muestra).
SELECT cliente.numerocliente, ordenes.monto
FROM cliente JOIN ordenes ON (cliente.numerocliente = ordenes.numerocliente);

LEFT OUTER JOIN Devuelve todos los reg de la tabla de la izquierda y los reg coincidentes de la
tabla de la derecha. Si no hay coincidencias en la tabla de la derecha, se devolverán valores nulos para
las columnas correspondientes de esa tabla.
SELECT cliente.numerocliente, ordenes.monto
FROM cliente LEFT OUTER JOIN ordenes ON (cliente.numerocliente =
ordenes.numerocliente);
RIGHT OUTER JOIN Devuelve todos los reg de la tabla de la derecha y los reg coincidentes de la
tabla de la izquierda. Si no hay coincidencias en la tabla de la izquierda, se devolverán valores nulos
para las columnas correspondientes de esa tabla.
SELECT Pedidos.ID, Clientes.Nombre, Pedidos.Descripción
FROM Clientes RIGHT JOIN Pedidos ON Clientes.ID = Pedidos.Cliente_ID;

SUBCONSULTAS
SELECT * FROM clientes
WHERE numerocliente IN
(SELECT numerocliente FROM ordenes);

SELECT * FROM clientes


WHERE numerocliente = (SELECT numerocliente FROM orders WHERE ...);
REPLICACIÓN
Hay tres opciones disponibles para usted: snap-replicación instantánea(snapshot replication),
replicación transaccional(transactional replicaction) y replicación de mezcla(merge replication).
Snapshot replication
Es la forma más simple de replicación de SQL Server. En esto escenario, el editor proporciona
periódicamente al distribuidor una copia completa (o “snapshot”) de la publicación. El distribuidor, a
su vez, proporciona una copia a cada uno de los suscriptores.
Puede ser fácil de entender, pero tmb puede ser bastante costoso en términos de recursos consumidos,
no permite que el suscriptor realice ninguna actualización a la base de datos. Es estrictamente un
modelo de replicación unidireccional.
Transactional replication
Comienza realizando una replicación de instantáneas inicial para crear una línea de base en el
suscriptor. Sin embargo, a partir de ese momento, en lugar de transferir el toda la publicación, solo
transfiere información actualizada. Al igual q la replicación de instantáneas, es unidireccional; los
suscriptores no pueden hacer actualizaciones al editor. Sin embargo, existen 2 variaciones q permiten
tales intercambios: replicación transaccional bidireccional y peer-to-peer replicación transaccional.
Merge replication
La replicación de mezcla está diseñada para admitir la incorporación de modificaciones de datos
realizadas en el editor o un suscriptor. Uiliza una serie de disparadores para detectar cambios en la
base de datos y propagar esos cambios a otras bases de datos participantes.

También podría gustarte