Sql

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,11 KB

 
MASTER: controla el funcionamiento de todo el SQL SERVER, BD, errores, cuentas, ambientes configurables, variables, procedimientos del sistema
MODEL: Plantilla modelo para crear una nueva base de usuario, asi cada vez que se crea una BD se usa esta plantilla
MSDB: provee un area de almacenamiento para información de calendarios e historias de jobs
TEMPDB: provee almacenamiento para objetos temporales tales como tablas y otros objetos temporales necesitados para algo en particular
DBxx: Nombre generico de una BD creada por un usuario de BD
Tipos de comandos SQL
DDL
permite crear y definir nuevas BD, campos e índices. Son 3 CREATE - DROP - ALTER
DML permite generar consultas respecto de una o mas tablas, fultrar campos de una o mas tablas, incluso subconjuntos de registros de las mismas. Son las sentencias SELECT - UPDATE - INSERT - DELETE
DCL permiten realizar operaciones de asignación de permisos a distintos objetos y manejar la seguridad de los mismos. Son GRANT - REVOKE - DENY
Creacion de tabla solcodpostal con 2 campos Codpostal y descripcion

CREATE TABLE solcodpostal
(Codpostal varchar(6),
Descripcion nvarchar (100) NOT NULL
)
Agregar campo a la tabla SOLAlumno Longitud max de 8 posiciones

ALTER TABLE SOLAlumno
ADD Codpostal varchar (8) NULL

CONTRAINT se usa en las instrucciones ALTER TABLE y CREATE TABLE para crear o eliminar restricciones sobre determinados campos de una tabla

ALTER TABLE SOLCuota
ADD CONTRAINT valcuota CHECK (valorcuota > 0 )
O para mostrar un mensaje por defecto

ALTER TABLE SOLAlumno
ADD Mail varchar (140) NULL
CONTRAINT defaultMail DEFAULT no tiene
SELECT getdate() recupera la fecha actual

Sintaxis general de una consulta:

SELECT Tabla1.campo1, Tabla2.campo2
FROM Tabla1
WHERE Condicion 1
GROUP BY Campo 1
HAVING Condicion1
ORDER BY Campo1
Poner los titulos de las columnas
SELECT campo1 AS Nombrequeyoquiero FROM tabla1
Listar según un criterio especifico
SELECT Legajo, NroCuota
FROM SOLAlumnoCuota
WHERE Fechapago = 01/01/2007
Ejemplos de caracteres especiales
%[h]% = Esther
Mar% = Maria, Martin
%a = Carlos, Javier
% = Todos los nombres

SELECT codcarrera, Carrera = nombre
FROM SOLCarrera
WHERE Nombre LIKE Licenciatura%
Operadores del WHERE
LIKE - NOT LIKE - BETWEEN - IN

Ej BETWEEN

WHERE año BETWEEN 1 AND 2



EJ IN
WHERE Campo IN (Valor1, Valor2)

Predicados
TOP (devuelve un determinado nro de registros)
DINSTINCT (devuelve los que no coinciden, trabaja a nivel de fila)
Ej DISTINCT
SELECT DISTINCT Campo1
FROM Tabla
Concatenacion
SELECT Legajo, calle + +Piso+ +Dto as Direccion
FROM ALUMNO
EJ op. aritmético
SELECT Legajo, Importe, Importe + (recargo * Importe)/100 AS Total
From SOLCuota
EJ Having Count
Select Coddocente, Total = COUNT(CodDocente)
From CoddocenteTelefono
Having COUNT(telefono) > 2
SING = devuelve un nro positivo
DECLARE @Valor Real
SET @Valor=-50
Select SING(@Valor) AS Resultado
ABS (valor) = devuelve el nro positivo
CEILING
= Transforma su valor en su entero
FLOOR = Transforma su valor en su entero inferior
LOWER = Convierte los caracteres en minúsculas
UPPER = Convierte los caracteres en Mayúsculas
SELECT CONTENIDO = UPPER(Contenido)
FROM SOLDocente
SUBSTRING (campo, comienzo, fin)
LEFT
devuelve parte de una cadena de caracteres que comienza en un nro de carct espec a partir de la izq.
RIGTH = idem pero derecha
LTRIM ( Campo, [carácter a eliminar]

Funciones de conjunto y agrupamiento

AVG =
Promedio
Select Legajo, Promedio = AVG (Nota)
FROM SOLAlumnos
Group by Legajo

Count = Nro de reg de la seleccion
SUM = Suma registros de una tabla
Ejemplo de promedio con los 2 anteriores
SELECT Legajo, Promedio = (SUM (Nota)/Count (Legajo))
FROM SOLAlumnosnota
Group by Legajo
MAX
MIN
Ejemplo de un insert
INSERT SOLEstado
(CodEstado, Descripción)
VALUES (1,Activo)

Insert de registro de una tabla en otra tabla
INSERT INTO SOLDocente
SELECT 1000, Nombre
FROM SOLAlumno
WHERE Legajo = 100002

UPDATE solo un registro de una tabla

UPDATE SOLAlumnoTelefono
Set Telefono = 452852
WHERE Legajo = 1001 and TIPOTEL = 1