Numeration | Check | Topic | Quantization | Edit Gitpot | Downloads | link |
---|---|---|---|---|---|---|
A1 | Azure Data Studio | 🧪 | ⬅️ Atras |
📦 Install SQL Server
📦 Install SQL Server Management Studio (SSMS)
📦 Install Azure Data Studio
📦 Install MySQL-Front
📦 Install SQL Manager
📦 SQL Server Migration Assistant
📦 Management Studio Dark theme
Delete sql server correctly - Desactivar y Borrar SQL SERVER
if object_id('usuario') is not null
drop table usuario;
create table usuario(
usuarios varchar(30),
clave varchar(10)
);
/*Procediemtnos Almacenados*/
```tsql
exec sp_columns usuario;
exec sp_tables @table_owner='dbo'
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
001 | Crear Base de Datos | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
002 | Insertar Datos | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
003 | Tipos Datos Básicos | ✔️ | yes | yes | ✔️ | ⬅️Atras |
select * from NOMBRETABLA;
El asterisco (*) indica que se seleccionan todos los campos de la tabla.
Podemos especificar el nombre de los campos que queremos ver separándolos por comas:
select titulo,autor from libros;
La lista de campos luego del "select" selecciona los datos correspondientes a los campos nombrados. En el ejemplo anterior seleccionamos los campos "titulo" y "autor" de la tabla "libros", mostrando todos los registros. Los datos aparecen ordenados según la lista de selección, en dicha lista los nombres de los campos se separan con comas.
Cuando tenemos un lote de comandos SQL y necesitamos particionarlo en distintos sublotes debemos utilizar el comando "go", no es un comando SQL sino un comando propio del "SQL Server Management Studio":git
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
004 | SELECT | ✔️ | yes | yes | ✔️ | ⬅️Atras |
La sintaxis básica y general es la siguiente:
select * from NOMBRETABLA;
El asterisco (*) indica que se seleccionan todos los campos de la tabla.
Podemos especificar el nombre de los campos que queremos ver separándolos por comas:
select titulo,autor from libros;
La lista de campos luego del "select" selecciona los datos correspondientes a los campos nombrados. En el ejemplo anterior seleccionamos los campos "titulo" y "autor" de la tabla "libros", mostrando todos los registros. Los datos aparecen ordenados según la lista de selección, en dicha lista los nombres de los campos se separan con comas.
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
005 | Recuperar Campos select | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
006 | Recuperar algunos registros WHERE | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
007 | Recuperar algunos registros WHERE | ✔️ | yes | yes | ✔️ | ⬅️Atras |
007 | Recuperar algunos registros EJERCICIO | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Los operadores son símbolos que permiten realizar operaciones matemáticas, concatenar cadenas, hacer comparaciones.
SQL Server tiene 4 tipos de operadores:
- relacionales (o de comparación)
- aritméticos
-
- de concatenación lógicos. Por ahora veremos solamente los primeros.
Los operadores relacionales (o de comparación) nos permiten comparar dos expresiones, que pueden ser variables, valores de campos, etc.
Hemos aprendido a especificar condiciones de igualdad para seleccionar registros de una tabla; por ejemplo:
select * from libros
where autor='Borges';
Utilizamos el operador relacional de igualdad.
Los operadores relacionales vinculan un campo con un valor para que SQL Server compare cada registro (el campo especificado) con el valor dado.
Los operadores relacionales son los siguientes:
= igual
<> distinto
mayor
< menor
= mayor o igual
<= menor o igual
Podemos seleccionar los registros cuyo autor sea diferente de "Borges", para ello usamos la condición:
select * from libros
where autor<>'Borges';
Podemos comparar valores numéricos. Por ejemplo, queremos mostrar los títulos y precios de los libros cuyo precio sea mayor a 20 pesos:
select titulo, precio
from libros
where precio>20;
Queremos seleccionar los libros cuyo precio sea menor o igual a 30:
select *from libros
where precio<=30;
Los operadores relacionales comparan valores del mismo tipo. Se emplean para comprobar si un campo cumple con una condición.
No son los únicos, existen otros que veremos mas adelante.
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
008 | Operadores relacionales | ✔️ | yes | yes | ✔️ | ⬅️Atras |
009 | Operadores relacionales Ejercicio |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
009 | Operadores Relacional Ejercicio | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
010 | Borrar registro - Delete | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
011 | Actualizar Registros - Update | ✔️ | yes | yes | ✔️ | ⬅️Atras |
012 | Actualizar Registros - Update Ejercicio | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
013 | Actualizar Registros - | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
014 | Null | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
015 | Clave Primaria | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
016 | Campo con atributo identy | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Para saber cuál es el valor de inicio del campo "identity"
select ident_seed('libros');
Para permitir ingresar un valor en un campo de identidad activamos la opción
set identity_insert libros on;
set identity_insert libros off;
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
017 | Caracteristicas del atributo identy | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
018 | Truncate table | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Ya explicamos que al crear una tabla debemos elegir la estructura adecuada, esto es, definir los campos y sus tipos más precisos, según el caso.
El tipo de dato especificado en la definición de cada campo indica los valores permitidos para cada uno de ellos.
Hasta ahora hemos visto 3 tipos de datos: varchar, integer y float. Hay más tipos, incluso, subtipos.
- `TEXTO`: Para almacenar texto usamos cadenas de caracteres. Las cadenas se colocan entre comillas simples. Podemos almacenar letras, símbolos y dígitos con los que no se realizan operaciones matemáticas, por ejemplo, códigos de identificación, números de documentos, números telefónicos. SQL Server ofrece los siguientes tipos: `char`, `nchar`, `varchar`, `nvarchar`, `text` y `ntext`.
-
NUMEROS
: Existe variedad de tipos numéricos para representar enteros, decimales, monedas. Para almacenar valores enteros, por ejemplo, en campos que hacen referencia a cantidades, precios, etc., usamos el tipo integer (y sus subtipos: tinyint, smallint y bigint). Para almacenar valores con decimales exactos, utilizamos: numeric o decimal (son equivalentes). Para guardar valores decimales aproximados: float y real. Para almacenar valores monetarios: money y smallmoney. -
FECHAS y HORAS
: para guardar fechas y horas SQL Server dispone de 2 tipos: datetime y smalldatetime
Para almacenar valores NUMERICOS SQL Server dispone de varios tipos.
Para almacenar valores ENTEROS, por ejemplo, en campos que hacen referencia a cantidades, usamos:
- integer o int: su rango es de -2000000000 a 2000000000 aprox. El tipo "integer" tiene subtipos:
- smallint: Puede contener hasta 5 digitos. Su rango va desde –32000 hasta 32000 aprox.
- tinyint: Puede almacenar valores entre 0 y 255.
- bigint: De –9000000000000000000 hasta 9000000000000000000 aprox.
Para almacenar valores numéricos EXACTOS con decimales, especificando la cantidad de cifras a la izquierda y derecha del separador decimal, utilizamos:
- decimal o numeric (t,d): Pueden tener hasta 38 digitos, guarda un valor exacto. El primer argumento indica el total de dígitos y el segundo, la cantidad de decimales. Por ejemplo, si queremos almacenar valores entre -99.99 y 99.99 debemos definir el campo como tipo "decimal(4,2)". Si no se indica el valor del segundo argumento, por defecto es "0". Por ejemplo, si definimos "decimal(4)" se pueden guardar valores entre -9999 y 9999
El rango depende de los argumentos, también los bytes que ocupa. Se utiliza el punto como separador de decimales.
Si ingresamos un valor con más decimales que los permitidos, redondea al más cercano; por ejemplo, si definimos "decimal(4,2)" e ingresamos el valor "12.686", guardará "12.69", redondeando hacia arriba; si ingresamos el valor "12.682", guardará "12.67", redondeando hacia abajo.
Para almacenar valores numéricos APROXIMADOS con decimales utilizamos:
- float y real: De 1.79E+308 hasta 1.79E+38. Guarda valores aproximados.
- real: Desde 3.40E+308 hasta 3.40E+38. Guarda valores aproximados.
Para almacenar valores MONETARIOS empleamos:
-
money: Puede tener hasta 19 digitos y sólo 4 de ellos puede ir luego del separador decimal; entre –900000000000000.5808 aprox y 900000000000000.5807.
-
smallmoney: Entre –200000.3648 y 200000.3647 aprox.
Tipo | Byte de almacenamiento |
int | 4 |
smallint | 2 |
tinyint | 1 |
bigint | 8 |
decimal | 2 a 17 |
float | 4 u 8 |
real | 4 u 8 |
money | 8 |
smallmoney | 4 |
Para almacenar valores de tipo FECHA Y HORA SQL Server dispone de dos tipos:
-
datetime: puede almacenar valores desde 01 de enero de 1753 hasta 31 de diciembre de 9999.
-
smalldatetime: el rango va de 01 de enero de 1900 hasta 06 de junio de 2079.
Las fechas se ingresan entre comillas simples. Para almacenar valores de tipo fecha se permiten como separadores "/", "-" y ".".
-mdy: 4/15/96 (mes y día con 1 ó 2 dígitos y año con 2 ó 4 dígitos),
-myd: 4/96/15,
-dmy: 15/4/1996
-dym: 15/96/4,
-ydm: 96/15/4,
-ydm: 1996/15/4,
Para ingresar una fecha con formato "día-mes-año", tipeamos:
set dateformat dmy;
El formato por defecto es "mdy".
Podemos ingresar una fecha, sin hora, en tal caso la hora se guarda como "00:00:00". Por ejemplo, si ingresamos '25-12-01' (año de 2 dígitos), lo mostrará así: '2001-12-25 00:00:00.000'
Podemos ingresar una hora sin fecha, en tal caso, coloca la fecha "1900-01-01". Por ejemplo, si ingresamos '10:15', mostrará '1900-01-01 10:15.000'.
Tipo | Byte de almacenamiento |
adatetime | 8 |
snalldatetime | 4 |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
019 | Otros tipos de datos | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
020 | Ingresar algunos campos | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
021 | Valores por Defecto | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
022 | Columnas calculadas | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
023 | Alias | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
024 | Funciones | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
025 | Funciones | ✔️ | yes | yes | ✔️ | ⬅️Atras |
-- Recuperamos los registros ordenados por el título:
select * from libros
order by titulo;
-- Ordenamos los registros por el campo "precio", referenciando el campo
-- por su posición en la lista de selección:
select titulo,autor,precio
from libros order by 2; -- numero de filas
-- Los ordenamos por "editorial", de mayor a menor empleando "desc":
select * from libros
order by editorial desc;
-- Ordenamos por dos campos:
select * from libros
order by titulo,editorial;
-- Ordenamos en distintos sentidos:
select * from libros
order by titulo asc, editorial desc;
-- Ordenamos por un campo que no se lista en la selección:
select titulo, autor, precio
from libros
order by precio;
-- Ordenamos por un valor calculado:
select titulo, autor, editorial,
precio+(precio*0.1) as 'precio con descuento'
from libros
order by 4;
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
026 | ORDERR BY | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
027 | Operadores logicos | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
028 | Operadores relacionales NULL | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
029 | Operadores relacionales BETWEEN | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
030 | Operadores relacionales IN | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
031 | Busqueda de patrones LIKE | ✔️ | yes | yes | ✔️ | ⬅️Atras |
select count(*)
from libros;
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
032 | Busqueda de patrones COUNT | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
033 | Busqueda de patrones COUNT BIG | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
034 | Funciones agrupamiento | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
035 | Agrupar registros | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Number | File | Link | Code | version | Estate | Behind |
---|---|---|---|---|---|---|
A | Azure Data Studio | ✔️ | yes | yes | ✔️ | ⬅️Atras |
Este sitio para el aprendizaje de la programación de computadoras es un proyecto de Diego Moisset
Material Creador | |
SQL SERVER YA | SQL Server Ya |
Server | Name | Authors | Editorial | ISBN | Link |
OneDrive | Database System Concepts | Abraham Silberschatz, Henry F. Korth S. Sudarshan | Mc Graw Hill | ISBN 978-0-07-802215-9 | Database System Concepts |
🎵 Music SQL SERVER List on Spotify 🎤
Microsoft SQL Server Versions List
🩸 Hacer una donación PAYPAL 🍵
A | B | ||
C | E | ||
F | G |