0% encontró este documento útil (0 votos)
38 vistas

COMANDOS

Este documento proporciona 10 comandos SQL para administrar usuarios y bases de datos en SQL Server. Estos incluyen comandos para habilitar/deshabilitar usuarios, cambiar contraseñas, crear/eliminar usuarios y bases de datos, y otorgar permisos. También describe cláusulas como TOP, ORDER BY, DISTINCT y GROUP BY, así como funciones de agregado como MAX, MIN, SUM, AVG y COUNT. Finalmente, cubre operadores lógicos y almacenados como stored procedures.

Cargado por

Andres Ospino
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
38 vistas

COMANDOS

Este documento proporciona 10 comandos SQL para administrar usuarios y bases de datos en SQL Server. Estos incluyen comandos para habilitar/deshabilitar usuarios, cambiar contraseñas, crear/eliminar usuarios y bases de datos, y otorgar permisos. También describe cláusulas como TOP, ORDER BY, DISTINCT y GROUP BY, así como funciones de agregado como MAX, MIN, SUM, AVG y COUNT. Finalmente, cubre operadores lógicos y almacenados como stored procedures.

Cargado por

Andres Ospino
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

SQL SERVER

Ospino
Ingeniero Andres

COMANDOS

1. Poder habilitar un usuario

alter login (nombre del usuario) enable

2. Poder desahabilitar un usuario

alter login (nombre del usuario) disable

3. Cambiar contraseña de un usuario SqlServer

Alter login (nombre de usuario) with password = ’NuevaContraseña’

4. Crear login inicio de sesión

Create login (nombre) with password =’Contraseña’


Se le pude agrergar al final después de la nueva contraseña un MUST_CHANGE esto lo
que le obliga al usuario realizar un cambio de contraseña para cuando inicié sesión
*Base de datos por defecto DEFAULT_DATABASE=NombreBaseDatos
*Lenguaje por defecto DEFAULT_LANGUAGE=[Español]
*Verificar expiración CHECK_EXPIRATION=ON

5. Crear login con autenticación de windows

Create login [Nombre del equipo\nombreDelUsuario] from Windows


default_database=master,default_language=[Español]

6. Eliminar usuario de autenticación en Windows

drop login NombreUsuario

7. Ver todos los usuarios conectado a la base de datos y las sentencias que están usando

Se da click derecho en la base de datos y se selecciona activiy monitor, después se le da en


la opción de procesos
SQL SERVER
Ospino
Ingeniero Andres

8. Crear usuario de base de datos

Create user NombreUsuario for login NombreLogin with default_schema=NombreDB


create login andres with password='123456'
create user tienda for login andres with default_schema=dbo
drop user arop
use tienda

9. Crear una base de datos

Créate database NombreBadeDeDatos;

10. Usar una base de datos

use NombreBadeDeDatos

11. Modificar base de datos de uni usuario a multi usuario

alter database NombreBadeDeDatos set multi_user

12. Otorgar permisos de creación en DB

Grant create any database to NombreLogin


SQL SERVER
Ospino
Ingeniero Andres

CLAUSULAS
 Clausula TOP

Permite seleccionar un límite de registro de una tabla

SELECT TOP 2 * FROM NombreTabla

 Clausula ORDER BY

SELECT * FROM NombreTabla ORDER BY NombreCampo ASC

ASC= De forma ascendente


DES= De forma descendente

 Clausula DISTINCT

Agrupa todos los registros por un campo en particular

SELECT DISTINCT NombreCampo FROM NombreTabla

 Clausula GROUP BY

Es similar al DISTINCT, a diferencia que permite utilizar funciones de agregado para que el filtro
sea un poco más complejo a la agrupación de datos

SELECT NombreCampo FROM NombreTabla GROUP BY NombreCampo

Cuando el GROUP BY va con un WHERE se ubica después del WHERE

SELECT NombreCampo FROM NombreTabla WHERE NombreCampo=???

GROUP BY NombreCampo
SQL SERVER
Ospino
Ingeniero Andres

FUNCIONES DE AGREGADO

 Función MAX y MIN

Se usa en especial con la cláusula group by, los cuales devuelven los valores máximo y mínimo de
una tabla.
SELECT MAX(NombreCapmpo) FROM NombreTabla

SELECT MIN(NombreCapmpo) FROM NombreTabla

 Función SUM

Suma todos los valores de un campo siempre y cuando sean valores numéricos.
SELECT SUM(NombreCapmpo) FROM NombreTabla

Agrupado

SELECT SUM(NombreCapmpo), NombreCapmpo FROM NombreTabla GROUP BY NombreCapmpo

 Función AVG

Permite calcular un promedio de un total de registro de un campo tipo numérico


SELECT AVG(NombreCampo) FROM NombreTabla

 Función COUNT

Contar la cantidad X valor de un campo


SELECT COUNT(NombreCampo) FROM NombreTabla WHERE NombreCampo='ValorAContar'

 Función HAVING

Esto hace referencia a donde el valor sea mayor, menor, igual o diferente; es una condición
especial para búsqueda siempre se hace con la cláusula GROUP BY ya que su búsqueda es en
conjunto.
SELECT NombreCampo FROM NombreTabla GROUP BY NombreCampo HAVING COUNT(NombreCampo)>2
SQL SERVER
Ospino
Ingeniero Andres

OPERADORES LOGICOS

 Operador AND

Es una consulta en las que tiene que cumplir ciertas condiciones


SELECT * FROM NombreTabla WHERE NombreCampo='???' AND NombreCampo ='???'

SELECT * FROM NombreTabla WHERE NombreCampo ='???' AND NombreCampo ='???' AND
NombreCampo =3

 Operador OR

Es una consulta en las que se cumpla alguna de las condiciones establecidas


SELECT * FROM NombreTabla WHERE NombreCampo ='???' OR NombreCampo ='???' OR
NombreCampo =3

 Operador IN

Que cumpla que el campo seleccionado este dentro de los siguientes valores puestos por el
operador IN
SELECT * FROM NombreTabla WHERE NombreCampo IN('???','???','???')

 Operador LIKE

Permite sobre campos de tipo cadena de carácter donde se pude filtrar los resultados de la
consulta por algún carácter que exista en ese campo siempre y cuando se le asigne el signo (%).
SELECT * FROM NombreTabla WHERE NombreCampo LIKE'%???%'

 Operador NOT

Nos permite negar algún operador que se esté ejecutando después de este.
SELECT * FROM NombreTabla WHERE NombreCampo NOT LIKE'%???%'

 Operador BETWEEN

Permite filtrar los registros por un determinado rango que puede ser entre números, textos o
fechas. Cuando son búsquedas en números, no se le coloca las ( ' ').
SELECT * FROM NombreTabla WHERE NombreCampo BETWEEN '???' AND '???'
SQL SERVER
Ospino
Ingeniero Andres

Hay que saber utilizarlos en combinación con los paréntesis, ya que al colocar una consulta
en paréntesis le da prioridad a esa búsqueda antes que seguir con la demás búsqueda de
la consulta.
SELECT * FROM NombreTabla WHERE NombreCampo='???' AND (NombreCampo='???' OR
NombreCampo=7 OR NombreCampo='???') AND NombreCampo NOT IN(???,???)

Stored Procedures

Es un procedimiento de almacenado, que tiene un conjunto de procedimiento que están


almacenados en SQLserver y pude ser ejecutado en cualquier momento.
Sirve para un proceso de inserción de registros, un proceso de borrado, un proceso de
actualización de registros.
Se puede colocar solo PROC que es la abreviatura de PROCEDURE.
Estructura:
CREATE PROCEDURE NombreProcedure(
Aquí se coloca los parámetros de entrada (las variables)
@idpaciente int

)
AS
SELECT * FROM Paciente where idPaciente = @idpaciente

GO

La cual se almacena en la carpeta Programmability

Se ejecuta de la siguiente manera

EXECUTE NombreProcedure ValorCampo

Uso de variables

Es un objeto en memoria que tiene un valor el cual puede variar durante el scrip

Se declara con la palabra reservada DECLARE seguido con un @ y el nombre de esta.


DECLARE @NombreVariable CHAR (1) = 'A'

También se puede hacer de la siguiente manera


SET @NombreVariable = 'A'

ISNULL Permite convertir el valor de null de una variable a otro que se le pida
que devuelva algún valor establecido en el scrip.

DECLARE @NombreVariable CHAR (Numero de cantidad de caracteres a mostrar)


DECLARE @NombreVariable CHAR(1)
SQL SERVER
Ospino
Ingeniero Andres

SET @NombreVariable = ISNULL(@NombreVariable,'A')


PRINT @NombreVariable

 SubConsulta

Es una consulta con la sentencia SELECT dentreo de otra sentencia SELECT.

SELECT apellido,nombre,idPais,observacion,
(SELECT Pais FROM Pais ps WHERE ps.idPais = pa.idPais)DescPais… …
alias del campo

FROM Paciente pa where idPaciente = @idpaciente

Creando StoredProcedures de inserción de registro.P1


-- se ejecuta el stored procedure

execute ALTA_Paciente '2324324','Jorge','Lopez','20180518','calle


1','PER','','[email protected]',''

-- se crea el stored procedure


CREATE procedure ALTA_Paciente(
@dni varchar(20),
@nombre varchar(50),
@apellido varchar(50),
@fnacimiento varchar(8),
@domicilio varchar(50),
@idpais char(3),
@tel varchar(20)='',
@email varchar(30),
@observacion varchar(1000)=''
)

as

IF NOT EXISTS(SELECT * from Paciente WHERE dni=@dni)


BEGIN
INSERT INTO Paciente
(dni,nombre,apellido,fnacimiento,domicilio,idpais,telefono,email,observacion)
VALUES
(@dni,@nombre,@apellido,@fnacimiento,@domicilio,@idpais,@tel,@email,@observacion)
print 'El paciente se agregó correctamente'
return
END
ELSE
BEGIN
print 'El paciente ya existe.'
SQL SERVER
Ospino
Ingeniero Andres

return
END

Creando StoredProcedures de inserción de registro.P2


-- se ejecuta el stored procedure

-- se crea el stored procedure

create proc ALTA_Turno(


@fecha char (14),
@idpaciente paciente,
@idmedico medico,
@observacion observacion=''
)

as

/*
ESTADO 0= PENDIENTE
ESATDO 1= REALIZADO
ESTADO 2= CANCELADO

*/

IF NOT EXISTS(SELECT TOP 1 idTurno from Turno WHERE fechaTurno=@fecha)


BEGIN
INSERT INTO Turno( fechaTurno,estado,observacion)
VALUES (@fecha,0,@observacion)

declare @auxIdTurno turno


set @auxIdTurno=@@IDENTITY

INSERT INTO TurnoPaciente(idTurno,idPaciente,idMedico)


VALUES (@auxIdTurno,@idpaciente,@idmedico)
print 'El turno se agregó correctamente'
return
END
ELSE
BEGIN
print 'El turno ya existe.'
return
END
SQL SERVER
Ospino
Ingeniero Andres

Estructura de Control
Estructura que se pueden ejecutar en sqlServer para poder evaluar un bloque de código y poder
tomar decisiones.

 Condicional IF

Este nos sirve para evaluar el valor de una variable o consulta y ejecutar acciones de los procesos
que se necesite ejecutar cuando cumpla las condiciones interpuestas.

declare NombreVariable int

set NombreVariable = ValorVariable

IF NombreVariable = Condicion
select * from NombreTabla where NombreCampo=NombreVariable o Condición

Para que devuelva en consola el resultado de tipo texto se debe presionar (Ctrl +t) y se vulve a
ejecutar (F5) y así se obtendrán los resultados en tipo texto.

Cuando se cumple la condición del IF se coloca un BEGINH (Bloque de instrucciones) END para
realizar la operación del IF.

Ejemplo
declare @idpaciente int
declare @idturno int

set @idpaciente = 3

IF @idpaciente = 3
BEGIN
set @idturno=20
SQL SERVER
Ospino
Ingeniero Andres

select * from paciente where idPaciente=@idpaciente

print @idturno
END

Si la condición no se cumple se implementa el ELSE, este se ubica después de terminar la condición


IF con el END correspondiente al BEGIN
ELSE
BEGIN
Print'No se cumple con la condicion'
END

 Función EXISTS

Permite evaluar si existe un grupo de registro de determinada consulta.


IF EXISTS(SELECT * from NombreTabla where NombreCapo=2)
print 'Existe'

 Estructura WHILE

Nos permite ejecutar un bloque de código hasta que se cumpla una condición y decir que esa
ejecución de código que este dentro de la estructura WHILE se va a ejecutar repetidas veces hasta
que cierta condición se cumpla.
declare NombreVarible int =0
WHILE NombreVariable<=10

BEGIN

print NombreVariable
set @contador=@contador+1
END

 Condicional CASE

Permite tomar decisiones en función al valor de una variable o de un campo.


declare @valor int
declare @resultado char (10)=''
set @valor=20

set @resultado =(CASE WHEN @valor = 10 THEN 'ROJO'


WHEN @valor = 20 THEN 'VERDE'
WHEN @valor = 30 THEN 'AZUL'
END)
print @resultado
SQL SERVER
Ospino
Ingeniero Andres

select *,(CASE WHEN estado=1 THEN 'VERDE'


WHEN estado=2 THEN 'ROJO'
WHEN estado=3 THEN 'AZUL'
ELSE 'GRIS'
END) as colorTurno from Turno

 Las instrucciones RETURN Y BREAK

RETURN permite salir del scrip forzosamente a la consola donde se está ejecutando las líneas con
instrucciones.
declare @contador int = 0
WHILE @contador <=10
BEGIN
print @contador
set @contador =@contador + 1
if @contador =3
RETURN
print 'hola'
END

BREAK permite salir del bucle antes de que termine la instrucción y sigue ejecutando después de
salir de la instrucción en la que se encuentra implementado y sigue ejecutando la instrucción
siguiente.
declare @contador int = 0
WHILE @contador <=10
BEGIN
print @contador
set @contador =@contador + 1
if @contador =3
BREAK

END

print 'Sigue ejecuntandose'


SQL SERVER
Ospino
Ingeniero Andres

 La estructura TRY CATCH

Permite el manejo de errores en tiempo de ejecución, este tipo de errores son los que aparecen
en bloques de código, siendo así que no bloquea ni termina la ejecución de un código y sigue la
fluidez de la ejecución.
declare @contador int = 0
WHILE @contador <=10
BEGIN
print @contador
set @contador =@contador + 1
if @contador =3
BREAK

END

print 'Sigue ejecuntandose'


BEGIN TRY
set @contador = 'texto'
END TRY

BEGIN CATCH
print 'Error de asignacion de variable'
END CATCH

print 'Sigue ejecuntandose'


SQL SERVER
Ospino
Ingeniero Andres

Operadores Aritméticos
Aquí se podrá realizar las operaciones básicas aritméticas como son la suma, resta,
multiplicación y división.
 Operador Suma

declare @num1 decimal (9,2)=20


declare @num2 decimal (9,2)=30
declare @resultado decimal (9,2)

set @resultado = @num1+@num2

print @resultado

Con el operador suma también se puede sumar los caracteres, esto lo que hace es la
conexión de caracteres formando una cadena y mostrado el resultada en una sola línea
en una cadena continua.

EJEMPLO

declare @cadena1 varchar (20)='Hola'


declare @cadena2 varchar (20)='Mundo!!'

declare @union varchar (40)


set @union = @cadena1+ ' '+ @cadena2
print @union

 Operador Resta
SQL SERVER
Ospino
Ingeniero Andres

declare @num1 decimal (9,2)=20


declare @num2 decimal (9,2)=30
declare @resultado decimal (9,2)

set @resultado = @num1-@num2

print @resultado

 Operador División

declare @num1 decimal (9,2)=20


declare @num2 decimal (9,2)=30
declare @resultado decimal (9,2)

set @resultado = @num1/@num2

print @resultado

 Operador Multiplicación

declare @num1 decimal (9,2)=20


declare @num2 decimal (9,2)=30
declare @resultado decimal (9,2)

set @resultado = @num1*@num2

print @resultado
SQL SERVER
Ospino
Ingeniero Andres

Operadores mayor o igual, menor o igual y distinto a.


Estas operaciones se pueden realizar con números y con caracteres alfa numéricos.
 Operador Mayor que… (>)
Comparación entre dos variables para saber si una variable es mayor a la otra se utiliza el
operador (>)
declare @num1 decimal (9,2)=20
declare @num2 decimal (9,2)=30

-- operadores de comparacion <,>,=.<>


print 'la variable @num2 es mayor a @num1??'
if @num2>@num1
print 'si'

 Operador Menor que… (<)


Comparación entre dos variables para saber si una variable es menor a la otra se utiliza el
operador (<)
declare @num1 decimal (9,2)=20
declare @num2 decimal (9,2)=30

-- operadores de comparacion <,>,=.<>


print 'la variable @num2 es mayor a @num1??'
if @num2<@num1
print 'no'

 Operador igual a… (=)


Comparación entre dos variables para saber si una variable es igual a la otra se utiliza el
operador (=)
declare @num1 decimal (9,2)=20
declare @num2 decimal (9,2)=30
SQL SERVER
Ospino
Ingeniero Andres

-- operadores de comparacion <,>,=.<>


print 'la variable @num2 es mayor a @num1??'
if @num2=@num1
print 'no'

 Operador Distinto a…j (<>)


declare @num1 decimal (9,2)=20
declare @num2 decimal (9,2)=30

-- operadores de comparacion <,>,=.<>


print 'la variable @num2 es diferente a @num1??'
if @num2<>@num1
print 'si'

Herramientas adicionales
 Proceso SP_HELP
Este proceso es el que nos va ayudar mucho para poder obtener el detalle de
los objetos que tenemos defibnidos en la base de datos sean tablas, store
procedure o vistas.
sp_help paciente

 Proceso SP_HELPTEXT
Este proceso nos ayuda a saber todo el contenido detallado de un stored
procedure.
sp_helptext alta_turno

 Shortcuts
Es una forma de ser recortar tiempo introduciendo un pequeño código de
consulta. Se realiza de la siguiente manera:
1) se va a herramientas(tools).
2) se da en opciones (options).
3) Se despliega Keyboard y se selecciona la opción Query Shortcuts
SQL SERVER
Ospino
Ingeniero Andres

Esto abre una pequeña venta donde se ingresara el nuevo shortcuts.

Sentencias SQL
Estas se usan para manejar los datos de una base de datos y darles
funcionalidad a dichas consultas.
 Sentencia Create
Esta sentencia nos permite crear ya sea: usuarios, tablas, stored procedure,
funciones y types (tipos de datos).
create table NombreDeLaTabla

-- esquema de una funtion

-- de esta manera se ejecuta una funtion---


select dbo.nombreFun (5)
-----------------------------
create function nombreFun (@var int)
returns int

as

begin

set @var=@var*5
return @var
end
SQL SERVER
Ospino
Ingeniero Andres

 Sentencia ALTER
Esta se ubica después de haber creado y se va a modificar y no se cambia de
créate a alter nos daría error por lo que ya estaba creada y se iba a modificar
la estructura. Esto se puede hacer a una tabla o a un stored procedure.
-- de esta manera se agrega un campo a una tabla
ALTER TABLE Paciente ADD estado smallint
-- de esta manera de altera o se modifica el tipo de datos de un campo de una tabla
ALTER TABLE Paciente ALTER COLUMN estado bit

 Sentencia DROP
Esta nos permite borrar una tabla de una base de datos o borrar por
completo una base de datos.
create table ejemplo (camp1 int, camp2 int )

DROP TABLE ejemplo

select * from ejemplo

 Sentencia TRUNCATE
Esta sentencia lo que nos permite es poder eliminar todos los registros
completos de una tabla y recetándola por completo.
create table ejemplo (campo0 int IDENTITY (1,1), camp1 int, camp2 int )

INSERT INTO ejemplo VALUES (2,3)

TRUNCATE TABLE ejemplo

select * from ejemplo


SQL SERVER
Ospino
Ingeniero Andres

Funciones de Conversión y Texto


Funciones LEFT y RIGHT

También podría gustarte