Giter Site home page Giter Site logo

brian-emarquez / learning-microsoft-sql-server Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 0.0 20.91 MB

Microsoft SQL Server is a relational database management system, developed by the Microsoft company.

Home Page: https://github.com/brian-emarquez

License: MIT License

TSQL 100.00%
sqlserver tsql azuredatastudio sql azure windows transact-sql

learning-microsoft-sql-server's Introduction

Learning Micosoft SQL SERVER

Stars Forks

Table of Contents

Numeration Check Topic Quantization Edit Gitpot Downloads link
001 ✔️ Crear Base de Datos 🧪 ⬅️ Atras
002 ✔️ Insertar Datos 🧪 ⬅️ Atras
003 ✔️ Tipos Datos Básicos 🧪 ⬅️ Atras
004 ✔️ SELECT 🧪 ⬅️ Atras
005 ✔️ Recuperar Campos select 🧪 ⬅️ Atras
006-007 ✔️ Recuperar algunos registros WHERE 🧪 ⬅️ Atras
008-009 ✔️ Operadores relacionales 🧪 ⬅️ Atras
010 ✔️ Borrar registros 🧪 ⬅️ Atras
012 ✔️ Actualizar Registros 🧪 ⬅️ Atras
013 ✔️ Comentarios 🧪 ⬅️ Atras
014 ✔️ Null 🧪 ⬅️ Atras
015 ✔️ Clave Primaria 🧪 ⬅️ Atras
016 ✔️ Campo con atributo identy 🧪 ⬅️ Atras
017 ✔️ Caracteristicas del atributo identy 🧪 ⬅️ Atras
018 ✔️ Truncate table 🧪 ⬅️ Atras
019 ✔️ Otros tipos de datos 🧪 ⬅️ Atras
020 ✔️ Ingresar algunos campos 🧪 ⬅️ Atras
021 ✔️ Valores por Defecto 🧪 ⬅️ Atras
022 ✔️ Columnas calculadas 🧪 ⬅️ Atras
023 ✔️ Alias 🧪 ⬅️ Atras
024 ✔️ Funciones 🧪 ⬅️ Atras
025 ✔️ Funciones matemeticas 🧪 ⬅️ Atras
026 ✔️ ORDERR BY 🧪 ⬅️ Atras
027 ✔️ Operadores logicos 🧪 ⬅️ Atras
028 ✔️ Operadores relacionales NULL 🧪 ⬅️ Atras
029 ✔️ Operadores relacionales BETWEEN 🧪 ⬅️ Atras
030 ✔️ Operadores relacionales IN 🧪 ⬅️ Atras
031 ✔️ Busqueda de patrones LIKE 🧪 ⬅️ Atras
032 ✔️ Busqueda de patrones COUNT 🧪 ⬅️ Atras
033 ✔️ Busqueda de patrones COUNT BIG 🧪 ⬅️ Atras
034 ✔️ Funciones agrupamiento 🧪 ⬅️ Atras
035 ✔️ Agrupar registros 🧪 ⬅️ Atras

Azure

Numeration Check Topic Quantization Edit Gitpot Downloads link
A1 Azure Data Studio 🧪 ⬅️ Atras

Installation

📦 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

Remove SQL server

Delete sql server correctly - Desactivar y Borrar SQL SERVER

Create Database

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

Insertar Datos

Number File Link Code version Estate Behind
002 Insertar Datos ✔️ yes yes ✔️ ⬅️Atras

Tipos Datos Básicos

Number File Link Code version Estate Behind
003 Tipos Datos Básicos ✔️ yes yes ✔️ ⬅️Atras

SELECT

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.

Comando "go" del "SQL Server Management Studio"

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

Recuperar Campos select

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.

SQL

Number File Link Code version Estate Behind
005 Recuperar Campos select ✔️ yes yes ✔️ ⬅️Atras

Recuperar algunos registros WHERE

Number File Link Code version Estate Behind
006 Recuperar algunos registros WHERE ✔️ yes yes ✔️ ⬅️Atras

Recuperar algunos registros WHERE EJERCICIO

Number File Link Code version Estate Behind
007 Recuperar algunos registros WHERE ✔️ yes yes ✔️ ⬅️Atras
007 Recuperar algunos registros EJERCICIO ✔️ yes yes ✔️ ⬅️Atras

Operadores relacionales

Los operadores son símbolos que permiten realizar operaciones matemáticas, concatenar cadenas, hacer comparaciones.

SQL Server tiene 4 tipos de operadores:

  1. relacionales (o de comparación)
  2. aritméticos
    1. 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

Operadores Relacional Ejercicio

Number File Link Code version Estate Behind
009 Operadores Relacional Ejercicio ✔️ yes yes ✔️ ⬅️Atras

Borrar registro

Number File Link Code version Estate Behind
010 Borrar registro - Delete ✔️ yes yes ✔️ ⬅️Atras

Actualizar Registros

Number File Link Code version Estate Behind
011 Actualizar Registros - Update ✔️ yes yes ✔️ ⬅️Atras
012 Actualizar Registros - Update Ejercicio ✔️ yes yes ✔️ ⬅️Atras

Comentarios

Number File Link Code version Estate Behind
013 Actualizar Registros - ✔️ yes yes ✔️ ⬅️Atras

Null

Number File Link Code version Estate Behind
014 Null ✔️ yes yes ✔️ ⬅️Atras

Clave Primaria

Number File Link Code version Estate Behind
015 Clave Primaria ✔️ yes yes ✔️ ⬅️Atras

Campo con atributo identy

Number File Link Code version Estate Behind
016 Campo con atributo identy ✔️ yes yes ✔️ ⬅️Atras

Caracteristicas del atributo identy

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

Truncate table

Number File Link Code version Estate Behind
018 Truncate table ✔️ yes yes ✔️ ⬅️Atras

Otros tipos de datos

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


Tipo de dato (numérico)

Para almacenar valores NUMERICOS SQL Server dispone de varios tipos.

Para almacenar valores ENTEROS, por ejemplo, en campos que hacen referencia a cantidades, usamos:

  1. 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:

  1. 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:

  1. float y real: De 1.79E+308 hasta 1.79E+38. Guarda valores aproximados.
  2. real: Desde 3.40E+308 hasta 3.40E+38. Guarda valores aproximados.

Para almacenar valores MONETARIOS empleamos:

  1. 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.

  2. 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

Tipo de dato (fecha y hora)

Para almacenar valores de tipo FECHA Y HORA SQL Server dispone de dos tipos:

  1. datetime: puede almacenar valores desde 01 de enero de 1753 hasta 31 de diciembre de 9999.

  2. 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

Ingresar algunos campos

Number File Link Code version Estate Behind
020 Ingresar algunos campos ✔️ yes yes ✔️ ⬅️Atras

Valores por Defecto

Number File Link Code version Estate Behind
021 Valores por Defecto ✔️ yes yes ✔️ ⬅️Atras

Columnas calculadas

Number File Link Code version Estate Behind
022 Columnas calculadas ✔️ yes yes ✔️ ⬅️Atras

Alias

Number File Link Code version Estate Behind
023 Alias ✔️ yes yes ✔️ ⬅️Atras

Funciones

Number File Link Code version Estate Behind
024 Funciones ✔️ yes yes ✔️ ⬅️Atras

Funciones Matematicas

Number File Link Code version Estate Behind
025 Funciones ✔️ yes yes ✔️ ⬅️Atras

ORDERR BY

-- 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

Operadores logicos

Number File Link Code version Estate Behind
027 Operadores logicos ✔️ yes yes ✔️ ⬅️Atras

Operadores relacionales NULL

Number File Link Code version Estate Behind
028 Operadores relacionales NULL ✔️ yes yes ✔️ ⬅️Atras

Operadores relacionales BETWEEN

Number File Link Code version Estate Behind
029 Operadores relacionales BETWEEN ✔️ yes yes ✔️ ⬅️Atras

Operadores relacionales IN

Number File Link Code version Estate Behind
030 Operadores relacionales IN ✔️ yes yes ✔️ ⬅️Atras

Busqueda de patrones LIKE

Number File Link Code version Estate Behind
031 Busqueda de patrones LIKE ✔️ yes yes ✔️ ⬅️Atras

Busqueda de patrones COUNT

select count(*)
  from libros;
Number File Link Code version Estate Behind
032 Busqueda de patrones COUNT ✔️ yes yes ✔️ ⬅️Atras

Busqueda de patrones COUNT BIG

Number File Link Code version Estate Behind
033 Busqueda de patrones COUNT BIG ✔️ yes yes ✔️ ⬅️Atras

Busqueda de patrones COUNT BIG

Number File Link Code version Estate Behind
034 Funciones agrupamiento ✔️ yes yes ✔️ ⬅️Atras

Agrupar registros

Number File Link Code version Estate Behind
035 Agrupar registros ✔️ yes yes ✔️ ⬅️Atras

Azure Data Studio

Number File Link Code version Estate Behind
A Azure Data Studio ✔️ yes yes ✔️ ⬅️Atras

Material Creador

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

Books

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

Spotify SQL SERVER

🎵 Music SQL SERVER List on Spotify 🎤

IDE Online

SQLiteonline

Version

Microsoft SQL Server Versions List

DB Engine Ranking

DB ENGINES

Paypal Donation

🩸 Hacer una donación PAYPAL 🍵


A B
C E
F G

learning-microsoft-sql-server's People

Contributors

brian-emarquez avatar

Stargazers

Aldrin avatar Muhammed AKIN avatar Zeynep İnan avatar  avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.