Sie sind auf Seite 1von 9

3- Uso de sentencias para el envi y extraccin de datos

Objetivos:

Identificar la sintaxis de las consultas de datos


Elaborar sentencias de manejo de datos.

INTRODUCCION:
Las sentencias mas usadas para darle mantenimiento a las tablas son las sentencias SELECT,
INSERT, DELETE y UPDATE, con las cuales podemos obtener datos, agregar, borrarlos y
actualizarlos, adems de aplicar condiciones y operadores para cada sentencia.

SELECT
Recupera cero o ms filas de una o ms tablas de una base de datos. En la mayora de las
aplicaciones, SELECT es de las sentencias ms usadas para la manipulacin de datos. La
sentencia SELECT tiene muchas clusulas opcionales:
WHERE: Especifica una condicin para la recuperacin de datos.
ORDER BY: especifica el orden en el que devolver las filas ya sea este ascendente o
descendente.
AS proporciona un alias que se puede utilizar para cambiar el nombre temporalmente tablas
o columnas.
Otras clausulas las veremos en las prximas guas.
Sintaxis:
SELECT [NombreColumna,NombreColuman,] FROM [NombreTabla]
SELECT [*] FROM [NombreTabla]
SELECT [*] FROM [NombreTabla] WHERE | ORDER BY [Condicin]

INSERT INTO
Agrega un registro nuevo al final de la tabla, es posible escribir la instruccin INSERT INTO
en dos formas. La primera forma no especifica los nombres de las columnas en las que se

insertan los datos, slo sus valores:


Sintaxis:
INSERT INTO [NombreTabla] VALUES ([ValorColumna,ValorColumna,])
La segunda forma especfica tanto los nombres de columna y los valores que se van a
insertar:
INSERT INTO [NombreTabla] ([NombreColumna,NombreColumna,])
VALUES ([ValorColumna,ValorColumna,])
Tambin es posible slo para insertar datos en columnas especficas.
Las instrucciones INSERT no especifican valores para los siguientes tipos de columnas porque
SQL Server Database Engine (Motor de base de datos de SQL Server) genera los valores de
las siguientes columnas:

Columnas con una propiedad IDENTITY que genera los valores para la columna.
Columnas que tengan un valor predeterminado que utilice la funcin NEWID para
generar un valor GUID exclusivo.
Columnas calculadas.

UPDATE
La instruccin UPDATE se utiliza para actualizar los registros existentes en una tabla.
Sintaxis:
UPDATE [NombreTabla]
SET [NombreColumna=ValorColumna,NombreColumna=ValorColuman,...]
WHERE [NombreColumna=ValorVariable]
Advertencia
La clusula WHERE especifica qu registro o registros se deben actualizar. Si
se omite la clusula WHERE, todos los registros se actualizarn

DELETE
La sentencia DELETE se utiliza para eliminar registros de una tabla.
Sintaxis:
DELETE [NombreTabla]
WHERE [NombreColumna=ValorVariable]
Advertencia
La clusula WHERE especifica qu registros o registros que se deben eliminar.
Si se omite la clusula WHERE, se borrarn todos los registros

OPERADORES LOGICOS (bsicos)


AND
Combina dos expresiones booleanas y devuelve TRUE cuando ambas expresiones son
VERDADERAS. Cuando se utiliza ms de un operador lgico en una instruccin, en primer
lugar se evalan los operadores AND. Puede cambiar el orden de evaluacin gracias a los
parntesis.
Sintaxis:
SELECT [NombreColumna,NombreColuman,] FROM [NombreTabla] WHERE [expresin
boleana] AND [Expresinbolenana]

OR
Combina dos condiciones. Cuando en una instruccin se utiliza ms de un operador lgico,
los operadores OR se evalan despus de los operadores AND. Sin embargo, se puede
cambiar el orden de evaluacin gracias a los parntesis.
Sintaxis:
SELECT [NombreColumna,NombreColuman,] FROM [NombreTabla] WHERE [expresin
boleana] OR [Expresinbolenana]

NOT
Presente los datos que no contengan las expresiones que tenga la condicin NOT.
Sintaxis:
SELECT [NombreColumna,NombreColuman,]
[condicion]

FROM

[NombreTabla]

WHERE

NOT

LIKE
Sintaxis:
Determina si una cadena de caracteres especfica coincide con un patrn especificado. Un
patrn puede contener caracteres normales y caracteres comodines. Durante la operacin
de bsqueda de coincidencias de patrn, los caracteres normales deben coincidir
exactamente con los caracteres especificados en la cadena de caracteres. Sin embargo, los
caracteres comodines pueden coincidir con fragmentos arbitrarios de la cadena. La
utilizacin de caracteres comodn hace que el operador LIKE sea ms flexible que los
operadores de comparacin de cadenas.
SELECT
[NombreColumna,NombreColuman,]
[Campo.columna] LIKE [codicion]

FROM

[NombreTabla]

WHERE

SELECT
[NombreColumna,NombreColuman,]
FROM
[Campo.columna] LIKE [comodin %] [codicion] [comodin %]

[NombreTabla]

WHERE

INICIO DE LA PRCTICA
Una forma de poder utilizar bien las sentencias es ayudndome de forma grafica, para lo
tengo que expandir la base de datos, y sobre la tabla, clic derecho y selecciono Script Table
as, con lo cual me dar la opcin de realizar varias sentencias.

Ahora seleccionamos la opcin SELECT To y tomo la opcin New Query Editor Window.

Esta opcin genera la siguiente ayuda:

De igual manera puedo usarlo para las dems sentencias.

MODO CONSOLA.
Lo primero que haremos es cargar el script que esta en el anexo 1, con esta base haremos
los ejercicios.
SELECT * FROM personas
SELECT pais FROM pais
SELECT nombre,apellido,sueldo FROM personas
SELECT nombre,apellido FROM personas WHERE sexo = 'F'
SELECT nombre,apellido,id_pais,sexo FROM personas WHERE sexo = 'F' AND id_pais = 1
SELECT nombre,apellido,id_pais,sexo FROM personas WHERE sexo = 'F' OR id_pais = 1
SELECT pais FROM pais
SELECT nombre,apellido,id_pais,sexo FROM personas WHERE sexo = 'F' OR id_pais = 1
SELECT apellido,sueldo FROM personas WHERE sueldo > 500
SELECT nombre,apellido,sueldo FROM personas WHERE sueldo > 500 AND sueldo < 700 AND sexo='M'
SELECT nombre AS NOMBRE, apellido AS APELLIDO, nacimiento AS CUMPLEAOS FROM personas
SELECT apellido,nacimiento FROM personas ORDER BY nacimiento

Ahora probaremos las sentencias INSERT:


INSERT INTO personas
(apellido,nombre,sueldo,direccion,celular,sexo,nacimiento,id_rol,id_pais)
VALUES
('Molina Vasquez','Alejandro',897,'10 Avenida Sur y 12 Calle Poniente','45633423',
'M','1970/4/21',2,3)
INSERT INTO personas VALUES
('Rivas Alba','Yesenia A',234,'4 Calle Oriten y parque Los Arboles','54534243','F'
,'1979/11/1',2,4)
INSERT INTO personas (apellido,nombre,sueldo,id_rol,id_pais)
VALUES ('Marquez','Roxana Elizabeth',434,4,1)

Sigamos realizando pruebas con las sentencia UPDATE


UPDATE personas SET nacimiento = '1985/11/2' WHERE id_persona = 14
UPDATE personas SET sexo = 'f' WHERE sexo = 'F'
UPDATE personas SET celular = ''

Por ultimo probaremos la sentencia DELETE


DELETE personas WHERE sueldo < 500

DELETE personas WHERE id_persona = 5


DELETE personas WHERE sexo = 'M'

Anexo 1.
CREATE DATABASE SCRUM
GO
USE SCRUM
GO
CREATE TABLE roles
(
id_rol int IDENTITY(1,1),
rol varchar(20) not null,
CONSTRAINT PK_roles PRIMARY KEY (id_rol)
)
INSERT
INSERT
INSERT
INSERT

INTO
INTO
INTO
INTO

roles
roles
roles
roles

VALUES
VALUES
VALUES
VALUES

('ScrumMaster')
('ProductOwner')
('Team')
('Steakholders')

CREATE TABLE pais


(
id_pais int IDENTITY(1,1),
pais varchar(25),
CONSTRAINT PK_pais PRIMARY KEY (id_pais)
)
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT

INTO
INTO
INTO
INTO
INTO
INTO
INTO

pais
pais
pais
pais
pais
pais
pais

VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES

('El Salvador')
('Guatemala')
('Costa Rica')
('Japon')
('Estados Unidos')
('Argentina')
('Mexico')

CREATE TABLE personas


(
id_persona int IDENTITY(1,1),
apellido varchar(40) not null,
nombre varchar(40) not null,
sueldo smallmoney,
direccion varchar(100),
celular varchar(8),
sexo varchar(1),
nacimiento date,
id_rol int not null,
id_pais int not null,
CONSTRAINT PK_persona PRIMARY KEY (id_persona),
CONSTRAINT FK_rol FOREIGN KEY (id_rol)
REFERENCES roles(id_rol),
CONSTRAINT FK2_pais FOREIGN KEY (id_pais)
REFERENCES pais(id_pais)
)
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT

INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO

personas
personas
personas
personas
personas
personas
personas
personas
personas
personas
personas
personas
personas
personas
personas
personas
personas
personas

VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES

('Romero Pea','Sandra Y',1200,'','34567564','F','1972/3/3',3,1)


('Arevalo','Maria Johana',950,'','32356787','F','1976/2/16',3,3)
('Hernandez Mancia','Marielos',958,'','67567555','F','1986/7/4',3,4)
('Perez Juarez','Joaquin',850,'','34567564','M','1969/9/2',3,1)
('Solis Castro','Eduardo',600,'','12327523','M','1972/3/11',3,1)
('Ramos Nieto','Jorge',550,'','34567174','M','1972/10/4',4,1)
('Hernandez Carias','Johanna',1800,'','34234809','F','1952/3/4',1,1)
('Romero Pea','Manuel Alberto',0,'','34567342','M','1969/12/4',2,1)
('Garcia Alvarado','Roxana',1600,'','34345564','F','1970/4/4',1,1)
('Torres Castro','Alfredo',450,'','34565674','M','1980/2/9',3,5)
('Romero Pea','Verenice',400,'','34567589','F','1978/3/17',3,1)
('Martinez','Evelyn Roxana',340,'','34556764','F','1972/8/14',3,5)
('Siguenza','Eduardo',1120,'','21467564','M','1975/10/9',3,1)
('Alas Duran','Martin',1200,'','34562364','M','1972/3/4',3,1)
('Jerez M.','Jose Carlos',589,'','34563352','M','1972/3/6',4,1)
('Bolaos Cea','Sandra',244,'','67557564','F','1968/3/4',3,1)
('Cuestas D.','Jenny Maria',1089,'','34567564','F','1972/9/14',3,4)
('Romero Pea','Alexandra',1000,'','34565455','F','1972/7/24',3,1)

INSERT
INSERT
INSERT
INSERT
INSERT
INSERT

INTO
INTO
INTO
INTO
INTO
INTO

personas
personas
personas
personas
personas
personas

VALUES
VALUES
VALUES
VALUES
VALUES
VALUES

('Molina Nuez','Mario',578,'','34567564','M','1962/3/7',3,3)
('Romero Pea','Jennifer',989,'','35657564','F','1977/10/21',3,3)
('Melendez A','Karla Maria',875,'','45656463','F','1956/12/1',4,1)
('Romero Pea','Andrea Lissette',0,'','34545343','F','1990/3/4',3,2)
('Melendez Torres','Wenceslado',270,'','34564563','M','1977/8/4',4,1)
('Vivas Rosales','Tere Maria',786,'','56345674','F','1964/2/7',3,1)

Das könnte Ihnen auch gefallen