guía #4 - dml

Upload: ninja-matherfucker

Post on 10-Feb-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 Gua #4 - DML

    1/4

    Anlisis y Diseo de Bases de Datos con Sql Server 2008

    [email protected] 1

    INSERCIN, ELIMINACIN Y MODIFICACIN DE DATOS

    - Insercin de una fila mediante valores:INSERTINTO{NombreTabla | NombreVista} [Valor de la Columna] VALUESValores

    * Cuando hay llaves es porque se debe elegir entre uno de los dos, esta barra |indica que se debeponer uno de los dos valores.

    - Uso INSERT...SELECT:INSERTNombreTabla SELECTListaColumnas FROMListaTablas WHERECondicionBusqueda

    Se introducen en la tabla las columnas y filas que devuelva con sus respectivosdatos. La consulta SELECT debe devolver los datos adecuados para la tabla

    donde vamos a introducir los valores.

    - Creacin de una tabla mediante SELECT INTO: Creacin de una tabla que a lavez se le introducen valores.

    SELECTListaColumnas INTONuevaTabla FROMTablaOrigenWHERECondicionBusqueda

    select apellido,salario,dept_no into #Temporalfrom empwhere dept_no = 60Se utiliza mucho para crear tablas temporales

    - Insercin de datos parciales: No introducir todos los datos, solo meter datos en undeterminado campo o en varios, pero no en toda la tabla.

    - Insercin de datos mediante valores de columna predeterminados: Se usa parano dejar a las tablas con el valor null y as no da error.

    Se utilizan dos clausulas:

    DEFAULT: Especificar que cogiera en la lista de valores el valor pordefecto de esa columna

    DEFAULT VALUES: Crea una nueva fila con los valores por defectode todas las columnas

  • 7/22/2019 Gua #4 - DML

    2/4

    Anlisis y Diseo de Bases de Datos con Sql Server 2008

    [email protected] 2

    USEHospitalINSERTINTOemp (Apellido,Salario)VALUES(SERRA, DEFAULT)

    Con esta sentencia se pone el valor predeterminado que tenga la tabla, si no tiene valorpor defecto, pondr null, lo que equivale a no poner el dato. Los valores por defecto se vern

    ms adelante.

    ELIMINACIN DE DATOS

    - DELETE: Elimina una o varias filas. Hay un control de las modificaciones (Borrado)que se estan haciendo.

    DELETE[FROM(Opcional) ] {NombreTabla | NombreVista }WHERECondicionBusquedaDelete fromemp whereapellido = SERRA

    - TRUNCATE TABLE: Elimina todas las filas de la tabla (La tabla con su estructurano se elimina, slo los datos de la tabla). No crea filas en el registro de transacciones,con lo cual es el mtodo ms rpido de borrar.

    TRUNCATE TABLENombreTablaTruncate Table emp

    - Eliminacin de filas basada en otras tablasDELETE[ FROM ] {NombreTabla | NombreVista}[ FROM, OrigenTabla,... ] [ WHERECondicionBusqueda ]

    Borra los campos de emp donde tienen relacion con informtica

    delete from empfrom emp as einnerjoindepartamento as don e.dept_no = d.dept_nowhere d.dnombre = 'INFORMATICA'

  • 7/22/2019 Gua #4 - DML

    3/4

    Anlisis y Diseo de Bases de Datos con Sql Server 2008

    [email protected] 3

    ACTUALIZACIONES

    - Actualizacin de filas basadas en datos de la propia tablaUPDATE{NombreTabla | NombreVista }SETNombreColumna = expresin { DEFAULT | NULL, ... }

    USENorthwindUPDATEproductsSETunitprice = (unitprice * 1.1 )

    - Actualizacin de filas basadas en otras tablasUPDATE{NombreTabla | NombreVista }SETNombreColumna = expresin { DEFAULT | NULL, ... }FROMOrigenTablaWHERECondicionBusqueda

    Cambiar el salario de los empleados del dept 30 donde el departamento sea 60.

    update emp set salario = 130000 from empinner join depton emp.dept_no = dept.dept_nowhere dept.dept_no = 60

  • 7/22/2019 Gua #4 - DML

    4/4

    Anlisis y Diseo de Bases de Datos con Sql Server 2008

    [email protected] 4

    CONSULTAS DE ACCION

    1. Dar de alta con fecha actual al empleado Jose Escriche Barrera como programadorperteneciente al departamento de informtica. Tendr un salario base de C$ 70,000 pormes y no cobrara comisin, qu dificultad plantea el alta de este empleado? Cmopodria solucionarse?

    2. Se quiere dar de alta un departamento de informtica situado en Fuenlabrada (Madrid).3. El departamento de ventas por motivos de peseteros se traslada a Lerida, realizar dicha

    modificacin.

    4. En el departamento anterior se dan de alta dos empleados: Julin Romeral y Luis Alonso.Su salario base es de C$ 80,000 y cobrarn una comisin del 15% de su salario.

    5. Modificar la comisin de los empleados de la empresa, de forma que todos tengan unincremento del 10% del salario.

    6. Incrementar un 5% el salario de los interinos de la plantilla que trabajen en el turno denoche.

    7. Incrementar en C$ 5,000 el salario de los empleados del departamento de ventas y delpresidente, tomando en cuenta los que se dieron de alta antes que el presidente de laempresa.

    8. Se tienen que desplazar cien camas del Hospital SAN CARLOS para un Hospital deVenezuela. Actualizar el nmero de camas del Hospital SAN CARLOS.

    9. Crear una tabla llamada Mujeres e insertar los enfermos con este sexo.10.Crear una tabla llamada Empleados e introducir todos los datos de la tabla EMP en ella.11.Utilizar la tabla anterior. Subir el salario y la comisin en un milln y doscientas

    veinticinco mil, respectivamente a los empleados que se dieron de alta en este ao.

    12.Borrar de la tabla mujer al enfermo con nmero de inscripcin igual a 64823.13.Borrar todos los registros de la tabla Mujeres de la forma ms rpida.14.Utilizar la tabla Empleados. Borrar todos los empleados dados de alta entre las fechas01/01/80 y 31/12/82.15.Modificar el salario de los empleados trabajen en la paz y estn destinados a Psiquiatra.

    Subirles el sueldo C$ 20,000 ms que al seor Amigo R.

    16.Borrar los empleados cuyo nombre de departamento sea produccin.