Está en la página 1de 7

***********************************************************************************

*******
***********************************************************************************
*******
************************ CLAUSULAS Y COMANDO BÁSICOS ************************
***********************************************************************************
*******
***********************************************************************************
*******

**** si quiero poner un valor en una casilla:


INSERT INTO tabla1 VALUES(1)

**** si quiero mostra en la consola la tabla:


SELECT * FROM tabla1

**** si quiero borrar datos de una tabla es:


DELETE FROM tabla1 -- esto me borra toda la tabla

DELETE FROM tabla1 WHERE idpaciente=2 -- esto hace que solo se borre ese
registro(linea)

**** la clausula where es un filtro para selecionar datos:


SELECT * FROM tabla1 WHERE nombre='Horacio' AND apellido='Ramirez'

**** si quiero recetear el identity de las tablas es:


DBCC CHECKIDENT ('tabla1' ,RESEED,0)

**** SI QUIERO HACER RELACIONES ENTRE TABLAS EL COMANDO ES: recordar poner bien el
nombre de la tabla a referenciar

ALTER TABLE HistoriaPaciente


ADD FOREIGN KEY (idPaciente) REFERENCES Paciente(idPaciente)

**** si quiero meter datos en una tabla completa es: ## en el parentesis es el


contenido de cada casilla separado por ,
USE centromedico
GO
INSERT INTO turno VALUES( '20200302 13:00', 0 , '' )
INSERT INTO turno VALUES( '20200303 14:00', 0 , '')
INSERT INTO turno VALUES( '20200303 15:30', 1 , 'El paciente ha sido atendido' )
INSERT INTO turno VALUES( '20200305 18:00', 2 , 'El paciente llamó para cancelar el
turno' )

SELECT * FROM turno

**** si quiero seleccionar uno o mas registros de una tabla es:


despues del comando select se debe especificar cuales quiero obtener

SELECT * FROM paciente

o tambien puede ser:

SELECT idPaciente, nombre, apellido FROM paciente

**** código para resetear una tabla con datos iniciales e identidad en 1:

DELETE FROM Paciente


DBCC CHECKIDENT ('Paciente' ,RESEED,0)

INSERT INTO Paciente VALUES('Jorge','Ramirez','2019-01-18','','ESP','','','','')


INSERT INTO Paciente VALUES('Claudia','Lopez','2019-02-18','','ARG','','','','')
INSERT INTO Paciente VALUES('Roberto','Perez','2017-01-04','piedra buena
21','ESP','','','','')

SELECT * FROM paciente

**** si quiero actualizar datos en un tabla es:

UPDATE tabla1 SET idpais='PER' -- esto cambio todos los campos idpais con PER
UPDATE paciente SET observacion='Paciente creado desde UI'

**** la clausula TOP me selecciona un limite de registros de una tabla:

SELECT TOP 2 * FROM paciente -- esto me devuelve los primeros 2 registros que
encuentra
SELECT TOP 2 * FROM paciente WHERE apellido='Rodriguez'

**** con la clausula ORDER BY se ordenan las tablas:

SELECT * FROM paciente ORDER BY fnacimiento


**** y si quiero al revez:
SELECT * FROM paciente ORDER BY fnacimiento DESC

**** para comentar muchas lineas es:


/*

codigo
codigo
codigo
codigo

*/

**** la clausula DISTINCT es para agrupar valores repetidos: # me da los distintos


datos de la columna

SELECT DISTINCT (apellido) FROM tabla 1 -- me muestra solo la columna apellido


SELECT DISTINCT idpaciente,apellido FROM tabla 1

**** la clausula GROUP BY es:

SELECT apellido FROM tabla1 GROUP BY apellido

**** funcion MAX y MIN: para devolver valores maximo o minimo de una columna

SELECT MAX(idpaciente) from tabla1

**** funcion SUM me hace la sumatoria de una columna:

SELECT SUM(idpaciente) FROM tabla1

**** funcion AVERAGE es para calcular promedio:

SELECT AVG(idpaciente) FROM tabla1


**** la funcion COUNT me cuenta cuantas filas hay:

SELECT COUNT(idpaciente) FROM tabla1


SELECT COUNT(idpaciente) FROM tabla1 WHERE apellido='perez'

**** funcion HAVING verla en el video de la clase

**** la funcion IN sirve para buscar dentro de varias opciones:

SELECT * FROM tabla1 WHERE estado IN(2,3,4,5)

**** el operador LIKE me ayuda a filtrar resultados por una secuencia:

SELECT * FROM tabla1 WHERE nombre LIKE '%ober%' -- se pone el % para que busque
la porcion de caracteres, se puede poner solo al final, inicio o ambos.

**** el operador NOT me permite negar el IN o LIKE

**** el operador BETWEEN nos permite filtrar registros por un rango:

SELECT * FROM turno WHERE fechaturno BETWEEN '20190102' AND '20190106 13:00:00'

**** mezcla de operadores:


SELECT * FROM tabla1 WHERE apellido='perez' AND (nombre='roberto' AND idpais='per'
OR nombre='camilo')

**** para modificar una tabla puedo usar ALTER:

ALTER TABLE paciente ADD estado INT -- eso agregara la nueva columna en la tabla

**** si quiero cambiar el tipo de dato:

ALTER TABLE paciente ALTER COLUMN estado VARCHAR(20)

**** ELIMINAR ALGO de una tabla:

ALTER TABLE paciente DROP COLUMN estado

**** si quiero eliminar una tabla de la base de datos uso DROP:

DROP TABLE tabla1

**** si quiero eliminar los registros de la tabla y reiniciar la identity uso


TRUNCATE:

TRUNCATE TABLE tabla1

**** si quiero cruzar tablas con campos en comun puedo usar los JOIN:
!!!!! RECORDAR QUE LAS INTERSECCIONES SE HACEN POR LAS PRIMARY KEYS !!!!!! une de
forma horizontal

--para obtener los que se cruzan


SELECT * FROM paciente P
INNER JOIN Turnopaciente T
ON T.idpaciente = P.idpaciente

-- para obtener los datos de la primer tabla que no se cruzan con la segunda tabla
SELECT * FROM paciente P
LEFT JOIN Turnopaciente T
ON T.idpaciente = P.idpaciente

-- para obtener los datos de la segunda tabla que no se cruzan con la primera tabla
SELECT * FROM paciente P
RIGHT JOIN Turnopaciente T
ON T.idpaciente = P.idpaciente

**** para unir registros de una misma tabla en base a una columna que tiene mismos
datos une de forma vertical
select * from turno where estado = 3
UNION
select * from turno where estado = 1

tambien puedo usar UNION ALL esta union no me elimina las repeticiones

***********************************************************************************
*******
***********************************************************************************
*******
************************ FUNCIONES DE CONVERSION Y TEXTO *****************
***********************************************************************************
*******
***********************************************************************************
*******

**** funciones LEFT y RIGHT:


la funcion LEFT recibe 2 parametros (cadena de caracteres, cant. de caracteres que
quiero tomar hacia la derecha)
la funcion RIGHT es lo mismo pero va de derecha a izquierda.
print LEFT('hola',2)

**** funcion LEN:


print LEN('hola') -- me sirve para saber cuantos caracteres tiene una cadena de
caracteres

**** funcion LOWER y UPPER:


permiten formatear variables de tipo texto o campos de una tabla, convierte toda la
cadena en minuscula o mayúscula

declare @var1 varchar(20) = 'rAMirO'

print UPPER(left(@var1,1)) + LOWER(right(@var1,(LEN(@var1)-1)))

**** funcion REPLACE:


sirve para remplazar un caracter en especifico
select REPLACE(@var1,'(aca va el caracter a remplazar)', '(aca va el caracter por
lo que se va a remplazar)')
select replace('hola','o','O')

**** funcion REPLICATE


repite un caracter las veces especificadas
print REPLICATE('a',5)

**** funcion LTRIM y RTRIM:


ayuda a borrar los espacios inecesaros de una cadena a la izquierda o derecha
SELECT RTRIM(LTRIM(' ramiro '))
**** funcion CONCAT:
me une dos cadenas de caracteres
select CONCAT(@var1,@var2)

**** funcion GETDATE y GETUTCDATE:


GETDATE se usa para saber la fecha actual fecha y hora(con segundos y milisegundos)
GETUTCDATE es para saber la hora basado en el meridiano de grenwich.
print GETDATE

**** funcion DATEADD:


SELECT DATEADD(day, 2, GETDATE()) sirve para modificar un fecha tiene 3 parametros,
(lo que se quiere cambiar (day, month, year,hour,mi,etc), (cantidad que se quiere
agregar o quitar), (variable de fecha))

**** la funcion DATEDIFF


devuelve la diferencia entre dos fechas
select DATEDIFF(year, fecha1, fecha2) -- 3 parametros(dato a diferenciar, fecha1,
fecha2) me arroja un valor numerico y positivo

**** la funcion DATEPART:


sirve para calcular el valor numerico de una dia de la semana:
select DATEPART(GETDATE())

**** la funcion ISDATE:


sirve para verificar si un dato es de tipo fecha, 1 es TRUE y 0 es FALSE
print ISDATE('hola')
print ISDATE(GETDATE())

**** la funcion CAST y CONVERT (estas son funciones de conversión):


la funcion CAST sirve para convertir un tipo de dato en otro. ej: decimal a entero
SELECT CAST (500.40 as INT)
la funcion CONVERT sirve para convertir un tipo de dato en otro. ej: char a int
SELECT CONVERT(int, @numero, (formato)) el tercer parametro especifica en que
formato ej en las fechas quiero pasar el dato 20190405 o abril 5 2019

***********************************************************************************
*******
***********************************************************************************
*******
********************************* VARIABLES
******************************************
***********************************************************************************
*******
***********************************************************************************
*******

DECLARE @ordenamiento CHAR(1) -- si no le asigno ningun valor es NULL


DECLARE @valorOrdenamiento CHAR(1)

SET @valorOrdenamiento = ISNULL(@ordenamiento,'NADA') -- esta funcion es con 2


parametros el segundo es lo que arroija si es NULL

print @valorOrdenamiento

**** ver informacion general de tablas, store procedures o cualquier objeto es:
sp_help tabla1

**** para ver el contenido(código) de un store procedure es:


sp_helptext ALTA_turno

***********************************************************************************
*******
***********************************************************************************
*******
********************************* TRANSACCIONES **********************************
***********************************************************************************
*******
***********************************************************************************
*******

se utiliza para evitar borrados de informavcion por error

BEGIN TRAN
UPDATE paciente SET telefono = 444 WHERE idpaciente = 8

IF @@ROWCOUNT = 1 -- hasta que no se verifica la condicion lo de arriba no se


hace efectivo
COMMIT TRAN

ELSE
ROLLBACK TRAN -- revierta la transaccion

otro ejmplo con esto puede ser:

BEGIN TRAN
DELETE FROM turno WHERE estado = 0
IF @@ROWCOUNT = 1
COMMIT TRAN
ELSE
ROLLBACK TRAN

***********************************************************************************
*******
***********************************************************************************
*******
********************************* TIPOS DE FUNCIONES*****************************
***********************************************************************************
*******
***********************************************************************************
*******
FUNCIONES ESCALARES:
permiten recibir 1 o mas parametros y devolver un valor de tipo especifico, realiza
un calculo o proceso

FUNCIONES DE TIPO TABLA:


permiten recibir uno o mas parametros y con estos retornar una tabla (conjunto de
registros)
**** VISTAS:
almacena una consulta en la base de datos local y devuelve los datos actualizados,
Las vistas se utilizan para simplificar el acceso a los datos y para ocultar la
complejidad de las consultas subyacentes.

create view PacientesYTurnos as


select * from Paciente P
INNER JOIN TurnoPaciente TP
on TP.idPaciente = P.idPaciente

**** BACK UP
FULL hace una copia de todos los datos de una base de datos

DIFERENCIAL solo hace copia de los nuevos datos en funcion de un back up hecho
anteriormente

También podría gustarte