Insertar editarborrar registros sql_server_tutorial 2015

15
[Aporte] Insertar/Editar/Borrar registros SQLServer [N.Bajo] Hola gente, hoy les traigo un poco de información acerca de las tablas en Sql server, yo uso el 2008 pero no difiere en otras versiones. Lo primero que hacemos es loguear al servidor a través de Sql Server managment studio: Tocamos connect

Transcript of Insertar editarborrar registros sql_server_tutorial 2015

Page 1: Insertar editarborrar registros sql_server_tutorial 2015

[Aporte] Insertar/Editar/Borrar registros

SQLServer [N.Bajo]

Hola gente, hoy les traigo un poco de información acerca de las tablas en Sql server, yo

uso el 2008 pero no difiere en otras versiones.

Lo primero que hacemos es loguear al servidor a través de Sql Server managment studio:

Tocamos connect

Page 2: Insertar editarborrar registros sql_server_tutorial 2015

Perfecto, ahora lo que tenemos que hacer es crear un query. Qué es un query? Es una

consulta al servidor donde podemos especificar cualquier cosa que necesitemos obtener

del mismo, escrita en lenguaje SQL o bien Transact-SQL (T-SQL, una extensión que permite

más posibilidades).

Tocamos donde dice "New Query"

Page 3: Insertar editarborrar registros sql_server_tutorial 2015

Perfecto. Acá ya podemos empezar a codear la consulta. Lo que debemos hacer ahora es tener

una BDD, por lo que la creamos con la siguiente sintaxis:

create database Heladeria

GO

use Heladeria

GO

SQL no es case sensitive, osea que no difiere entre mayúsculas o minúsculas por lo tanto escribir

lo siguiente es similar al código escrito anteriormente:

cReAtE DaTaBASE Heladeria

Go

uSe Heladeria

gO

Obviamente, Heladeria lo dejamos bien escrito.

Page 4: Insertar editarborrar registros sql_server_tutorial 2015

Vamos a analizar un poco lo que acabamos de escribir:

create database Heladeria

Lo que hace esa línea de código es definir la nueva base de datos.

la sintaxis GO sirve para ejecutar la consulta hasta esa instancia, es similar a (en este caso)

ejecutar el create database Heladeria primero, y luego el use Heladeria, es como una pausa para

ejecutar correctamente el código anterior tarde lo que tarde.

use Heladeria hace que se enfoquen las próximas consultas a esa base, sino estaríamos

consultando a master y creo que ahí no va a haber helados. (?

Lo siguiente es crear un par de tablas, se pueden crear con la sintaxis que muestro a

continuación:

(Va a ser una base simple así que no usaremos ningún tipo de key, lo dejo para otro tema.)

create table Empleados

(

Nombre varchar(30) not null,

Apellido varchar(30) not null,

Telefono varchar(15) not null,

DNI varchar(30) not null,

Fecha_Nacimiento date not null,

Fecha_Ingreso date not null,

Direccion varchar(30) not null

)

es lo mismo poner o no un Go ahora, no es necesario.

Page 5: Insertar editarborrar registros sql_server_tutorial 2015

Analicemos:

create table Empleados() define la tabla, y como parámetros o argumentos (dentro de los

paréntesis) se definirán los campos.

Nombre varchar(30)

Nombre es el nombre del campo o columna, varchar(30) es su tipo y va seguido de la cantidad de

carácteres que admitirá. varchar es similar a un String.

not null sirve para especificar que el campo se debe llenar con información sí o sí, de lo contrario

SQL mostrará una excepción.

No es mucho más que eso Procedemos a crear unas tablas más, helados, clientes, precios:

create table Clientes

(

Nombre varchar(30) not null,

Apellido varchar(30) not null,

Telefono varchar(15) not null,

DNI varchar(30) not null,

Direccion varchar(30) not null

)

create table Precios

(

Nombre varchar(30) not null,

Precio float not null

)

create table Sabores

(

Page 6: Insertar editarborrar registros sql_server_tutorial 2015

Nombre varchar(30) not null,

Cantidad int --En kilos

)

Nótese que el -- funciona como un // en cualquier lenguaje de programación, es para comentar.

Ya con esto tenemos la estructura de la base de datos. Ahora ejecutamos la consulta para crear

todo, podemos presionar Ctrl + e o el botón ! Execute en la barra superior, de esta forma se ejecuta

toda la consulta. Si se desea ejecutar solo una parte de la consulta se la selecciona y se ejecuta.

Nos saldrá un resultado exitoso de ejecución de comandos.

Inserción de registros:

Primero para que quede más ordenado guardamos la consulta simplemente presionando Ctrl + s y

nombrándola Heladeria.

Page 7: Insertar editarborrar registros sql_server_tutorial 2015

Creamos una nueva consulta y dentro ponemos lo siguiente:

insert into Empleados (Nombre, Apellido, Telefono, DNI, Fecha_Nacimiento, Fecha_Ingreso,

Direccion)

values ('Pablo','Cobos', '1145457889','22147323','12/08/1971','20/03/2011','Calle siempreviva 123')

Se lee así:

Insertar en la tabla Empleados (los campos a llenar) valores (valores a insertar)

El primer parámetro se puede omitir, pero si se omite hay que poner el orden y cantidad de valores

correctos, así como lo pusimos (en perfecto orden y cantidad) se puede omitir.

Al ser una nueva consulta hay que estar usando la base Heladeria, por lo que ponemos un use

antes del insert:

use Heladeria

GO

Queda así:

Page 8: Insertar editarborrar registros sql_server_tutorial 2015

Si ejecutamos esa consulta, en la tabla empleados habrá un solo registro. Para tener un poco más

de variedad agregamos 2 más e insertamos 3 en las demás tablas también.

Lo que se puede hacer para no reescribir el insert es poner una coma al final y poner sólo los

campos de valores a insertar. Más fácil verlo que explicarlo:

Perfecto, ahora para las demás tablas:

insert into Clientes (Nombre, Apellido, Telefono, DNI, Direccion)

values ('Sebastián','López', '1161074255','2255663388','Calle injunable 48'),

('Marcos','Simonetta', '1196587496','39462666','Boyacá 1222'),

Page 9: Insertar editarborrar registros sql_server_tutorial 2015

('Ricardo','Darín(?', '1569354878','23457896','Rivadavia 7664')

insert into Precios (Nombre,Precio)

values ('Vasito',15),

('Cucurucho',20),

('1/4',25),

('1/2',48),

('1',90)

insert into Sabores (Nombre,Cantidad)

values ('Tramontana',5),

('Chocolate almendrado',6),

('Dulce de leche granizado',10),

('Chocolate blanco',8),

('Menta granizada',3),

('Crema del cielo',5),

('Kinotos al wisky',1)

Bueno, ahora hay un tema. Con lo referido a las fechas, SQL define el formato del día/mes/año

dependiendo del idioma en el que se instaló sql y lo deja por defecto. Esto se puede cambiar pero

a veces sigue sin funcionar. El problema es que al ingresar las fechas, suponete que la ingresás en

formato dd/mm/aaaa pero SQL la está recibiendo en mm/dd/aaaa por lo que si ponés un día 20, te

lo toma como error porque no existe un mes 20. Lo que hago ante este problema es primero

configurar la base a español, y en cada consulta que involucre fechas pongo un set dateformat

dmy. Así que intenten ponerlo debajo del use y ejecutar la consulta, si no les funciona simplemente

vuelvan a la consulta donde crearon la base y los date cambienlos por un varchar(20) y fue, no les

paso a explicar como solucionar esto al 100% acá porque nos vamos de tema :/

Este es el error que muestra si ejecutamos sin configurar el formato de las fechas:

Page 10: Insertar editarborrar registros sql_server_tutorial 2015

y si ponen el dateformat

Ya tenemos base con datos.

Edición de registros:

La sintaxis es update TABLA set CAMPO = VALOR where CAMPO = VALOR

Creamos otra query para que quede ordenado guardando la anterior como Heladeria registros.

Page 11: Insertar editarborrar registros sql_server_tutorial 2015

Vamos a modificar 1 Cliente y los kilos de algunos sabores para mostrarles cómo funciona.

Primero:

Use Heladeria

GO

Vamos a suponer que nuestro amigo cliente Ricardo Darín(? se muda a una nueva dirección

Corrientes 3522

entonces lo que hacemos es

Page 12: Insertar editarborrar registros sql_server_tutorial 2015

update Clientes set Direccion = 'Corrientes 3522'

Perfecto, pero falta algo. Si ejecutamos así, todos los clientes pasan a tener esa dirección. Hay que

especificar QUÉ registro o registros en particular tendrán esa nueva dirección.

Por lo que al lado de corrientes 3522 ponemos un where. Podemos poner el DNI que funcionaría

como dato único (Primary key)

entonces:

update Clientes set Direccion = 'Corrientes 3522' where DNI = '23457896'

Ejecutamos y si todo sale bien SQL devuelve como resultado que se modificó 1 registro

Page 13: Insertar editarborrar registros sql_server_tutorial 2015

Ahora, si les digo que se bajaron 2 kilos de dulce de leche granizado, saben hacerlo? :3 Es lo

mismo.

Vamos a ponerlo debajo:

update Sabores set Cantidad = Cantidad - 2 where Nombre = 'Dulce de leche granizado'

Seleccionamos esa línea de comandos y ejecutamos (Para que se ejecute solo eso y no toda la

consulta)

Page 14: Insertar editarborrar registros sql_server_tutorial 2015

Joya. Con esto ya pueden modificar cualquier registro de cualquier tabla.

Para ver que funcionó realmente, traemos los registros de ambas tablas modificadas.

select * from Clientes

select * from Sabores

Como ejecuté ambos selects al mismo tiempo me muestra las 2 tablas como resultado, y se puede

observar que el señor Darín vive ahora sobre Corrientes y el dulce de leche se actualizó de 10 a

8.

Page 15: Insertar editarborrar registros sql_server_tutorial 2015

Eliminación de registros:

"Crema del cielo, nadie la come, ya fue... la sacamos", dicen los dueños de la heladería. La sacan

físicamente pero cómo la remueven de la base de datos?

Así:

delete from Sabores where Nombre = 'Crema del cielo'

Tadá!