Sei sulla pagina 1di 95

Manual de usuario

INSTITUTO TECNOLGICO SUPERIOR BOLVAR

Carrera: tecnlogo en informtica

Manual de SQL server

Nombre: Luis Benavides

Curso: 4

Ao lectivo: Marzo- Agosto del 2013

Introduccin SQL:Es un lenguaje estndar de programacin para el acceso a bases de datos. El lenguaje SQL se utiliza para acceder y manipular datos en cualquier base de datos delmercado, como por ejemplo, para las bases de datos MySQL, Oracle, DB2, SQL Server,Access. El SQL es un lenguaje estructurado y un estndar ANSI para el acceso y manipulacin delos datos de cualquier base de datos. El SQL se compone de sentencias SQL, cada una con una utilidad diferente, como porejemplo: Creacin de una base de datos (CREATE DATABASE) Creacin de una tabla (CREATE TABLE) Creacin de una vista (CREATE VIEW) Creacin de un ndice de una tabla (CREATE INDEX) Creacin de procedimientos almacenados (CREATE PROCEDURE) Creacin de disparadores (CREATE TRIGGER) Consultar los datos almacenados en una tabla (SELECT) Insertar datos en una tabla (INSERT) Modificar datos ya existentes en una tabla (UPDATE) Borrar datos almacenados en una tabla (DELETE) Dar permiso de acceso a los datos de una tabla (GRANT) Eliminar permisos de acceso a datos de una tabla (REVOKE) Finalizar la transaccin de una sentencia SQL (COMMIT) Retroceder la transaccin de una sentencia SQL (ROLLBACK).

Sintaxis Un sistema de base de datos suele contener varias bases de datos. Cada base de datos suele contener varias tablas. Las tablas almacenan los datos organizados por filas. Cada fila contiene varios campos. Cada campo tiene una serie de propiedades, como por ejemplo, el nombre del campo, sulongitud, tipo de dato que se va a almacenar, etc. Las sentencias SQL no son sensibles a maysculas y minsculas, es decir, 'SELECT' y'select' son dos palabras iguales para SQL. Algunos sistemas de bases de datos necesitan una coma despus de cada sentencia.

CREATE DATABASE. La sentencia CREATE DATABASE se utiliza para crear bases de datos. Sintaxiscreatedatabase: Ejemplo:
createdatabase [campeonatoecuatoriano] use [campeonatoecuatoriano]

CREATE TABLE. La sentencia CREATE TABLE se utiliza para crear una tabla en una base de datosexistente. Sintaxiscreatetable CONSTRAINTS. Las CONSTRAINTS son restricciones que se utilizan para limitar el tipo de dato que puede recibir una columna de una tabla. Las restricciones se puede definir cuando creamos la tabla (CREATE TABLE) o posteriormente con la sentencia ALTER TABLE. PRIMARY KEY. La clave primaria, PRIMARY KEY, identifica de manera nica cada fila de una tabla. La columna definida como clave primaria (PRIMARY KEY) debe ser UNIQUE (valor nico) y NOT NULL (no puede contener valores nulos). Cada tabla slo puede tener una clave primaria (PRIMARY KEY). FOREIGN KEY. La clave externa o FOREIGN KEY, es una columna o varias columnas, que sirven para sealar cual es la clave primaria de otra tabla. La columna o columnas sealadas como FOREIGN KEY, solo podrn tener valores que ya existan en la clave primaria PRIMARY KEY de la otra tabla. Tambien se utiliza la sentencia references para llamar a la tabla y al codigo primario (Primary key). Ejemplo:

createtable[equipos] ( [codigo_equ ] varchar(5)notnull, [nombre_equ] varchar(20)null, [serie_equ] varchar(1)null, [num_equ] intnull, [sede_cam] varchar(20)null, constraint PK_equipos Primarykey([codigo_equ]) ) createtable[personaljugadores] ( [codigo_per ] varchar(5)notnull, [codigo_equ ] varchar(5)notnull, [nombre_per] varchar(20)null, [apellido_per] varchar(20)null, [lugarnacimiento_per] varchar(20)null, [fechanacimiento_per] datetimenull, [direccion_per] varchar(25)null, [posicion_per] varchar(25)null, [serie_per] varchar(1)null, [nombreequipo_per] varchar(20)null, [numcamiseta_per] intnull, constraint PK_personaljugadores Primarykey([codigo_per]), constraint FK_personaljugadores foreignKey([codigo_equ])references [equipos] ([codigo_equ]) ) createtable[peradm] ( [codigo_pad ] varchar(5)notnull, [codigo_equ ] varchar(5)notnull, [nombre_pad] varchar(20)null, [apellido_pad] varchar(20)null, [lugarnacimiento_pad] varchar(20)null, [fechanacimiento_pad] datetimenull, [direccion_pad] varchar(25)null, [cargo_pad] varchar(25)null, [serie_pad] varchar(1)null, [nombreequipo_pad] varchar(20)null, constraint PK_peradm Primarykey([codigo_pad]), constraint FK_peradm foreignKey([codigo_equ])references [equipos] ([codigo_equ]) ) createtable[cuerpotec] ( [codigo_cue ] varchar(5)notnull, [codigo_equ ] varchar(5)notnull, [nombre_cue] varchar(20)null, [apellido_cue] varchar(20)null, [lugarnacimiento_cue] varchar(20)null, [fechanacimiento_cue] datetimenull, [direccion_cue] varchar(25)null, [cargo_cue] varchar(25)null, [serie_cue] varchar(1)null, [nombreequipo_cue] varchar(20)null, constraint PK_cuerpotec Primarykey([codigo_cue]),

constraint FK_cuerpotec [equipos] ([codigo_equ]) )

foreignKey([codigo_equ])references

DROP. La sentencia DROP se utiliza para borrar definitivamente un ndice, tabla o base de datos. Ejemplo: Si deseo borrar la tabla personaljugadores ingreso el siguiente cdigo;droptable[personaljugadores]y mando a ejecutar, e borrado la tabla personaljugadores. SELECT. Una de las sentencias SQL ms importantes es SELECT, ya que permite realizar consultassobre los datos almacenados en la base de datos. Sintaxisselect*esto ba acompaado de la palabra FROM.
select* from [nombre_de_la_tabla ]

INSERT. La sentencia INSERT INTO se utiliza para insertar nuevas filas en una tabla. Ejemplo:
insertinto[nombre_de_la_tabla] esto ba acompaado de la sentencia values

Ejemplo completo:
select* from[equipos] insertinto [equipos] values('001','Barselona','A','01','Guayaquil') insertinto [equipos] values('002','D_P_C','A','02','Cuenca') insertinto [equipos] values('003','D_P_L','A','03','Loja') insertinto [equipos] values('004','Nacional','A','04','Quito') insertinto [equipos] values('005','L_U_Q','A','05','Quito') insertinto [equipos] values('006','Emelec','A','06','Guayaquil') insertinto [equipos] values('007','Macara','A','07','Ambato') insertinto [equipos] values('008','Aucas','A','08','Quito')

DELETE. La sentencia DELETE sirve para borrar filas que deseo de una tabla. La sintaxis de SQL DELETE es:
delete from[nombre_de_la_tabla] where[codigo_de_la_tabla]='002'

WHERE. La clusula WHERE se utiliza para hacer filtros en las consultas, es decir, seleccionar solamente algunas filas de la tabla que cumplan una determinada condicin. El valor de la condicin debe ir entre comillas simples ''. Por ejemplo: Seleccionar los equipos cuyo nombre sea Barcelona SELECT * FROM equipos WHERE nombre = 'Barcelona' AND OR. Los operadores AND y OR se utilizan para filtrar resultados con 2 condiciones. El operador AND mostrar los resultados cuando se cumplan las 2 condiciones. Condicin1 AND condicin2 El operador OR mostrar los resultados cuando se cumpla alguna de las 2 condiciones. Condicion1 OR condicion2 Ejemplo con el operador AND. Tengo dos tablas la una se llama personaljugadores y la otra equipos y dentro de la tabla equipos tengo diferentes nombres, Macara, Barcelona, Emelec, etc... Y quiero que solo se visualice la del Macara con los siguientes datos. CODIGO, NOMBRE_APELLIDO, POSICIN, EQUIPO, SERIE, #DE-CAMISETA, entonces aplico la siguiente sintaxis
select[codigo_per]as[CODIGO:], [nombre_per]+'/'+[apellido_per]as[NOMBRE_APELLIDO],[posicion_per]as [POSICIN],[nombre_equ]as[EQUIPO],[serie_equ]as[SERIE], [numcamiseta_per] as[#DE-CAMISETA] from[personaljugadores],[equipos] where[personaljugadores].[codigo_equ]=[equipos].[codigo_equ

and [equipos].[nombre_equ]='Macara'

Ejercicio N1 Realizar una base de datos del campeonato ecuatoriano con su diagrama de clase respectivo

Variables: Equipos=equipos Jugadores=personaljugadores Personal administrativo=peradm Cuerpo tcnico=cuerpotc

DIAGRAMA DE CLASE
personaljugadores codigo_per codigo_equ nombre_per apellido_per lugarnacimiento_per fechanaciniento_per direccion_per posicion_per serie_per nombreequipos_per numcamiseta_per integer <pk> integer <fk> varchar(20) varchar(20) varchar(20) varchar(20) varchar(20) varchar(10) char(2) varchar(20) integer

FK_PERSONAL_RELATIONS_EQUIPOS

peradm equipos codigo_equ nombre_equ serie_equ num_equ sede_equ integer <pk> char(20) integer varchar(20) varchar(20) codigo_pad codigo_equ FK_PERADM_RELATIONS_EQUIPOS nombre_pad apellido_pad lugarnaciniento_pad direccion_pad cargo_pad serie_pad nombreequipopad integer <pk> integer <fk> char(20) char(20) varchar(10) varchar(20) char(15) char(2) varchar(20)

FK_CUERPOTC_RELATIONS_EQUIPOS cuerpotc codigo:cue codigo_equ nombre_cue apellido_cue lugarnacimiento_cue fechanacimiento_cue direccion_cue cargo_cue serie_cue nombreequipo_cue integer <pk> integer <fk> char(20) char(20) varchar(15) varchar(20) varchar(20) char(20) char(2) varchar(20)

SINTAXIS
createdatabase [campeonatoecuatoriano] use [campeonatoecuatoriano] droptable[equipos] createtable[equipos] ( [codigo_equ ] varchar(5)notnull, [nombre_equ] varchar(20)null, [serie_equ] varchar(1)null, [num_equ] intnull, [sede_cam] varchar(20)null, constraint PK_equipos Primarykey([codigo_equ]) ) droptable[personaljugadores] -- para borra la tabla createtable[personaljugadores] ( [codigo_per ] varchar(5)notnull, [codigo_equ ] varchar(5)notnull, [nombre_per] varchar(20)null, [apellido_per] varchar(20)null, [lugarnacimiento_per] varchar(20)null, [fechanacimiento_per] datetimenull, [direccion_per] varchar(25)null, [posicion_per] varchar(25)null, [serie_per] varchar(1)null, [nombreequipo_per] varchar(20)null, [numcamiseta_per] intnull, constraint PK_personaljugadores Primarykey([codigo_per]), constraint FK_personaljugadores foreignKey([codigo_equ])references [equipos] ([codigo_equ]) ) createtable[peradm] ( [codigo_pad ] varchar(5)notnull, [codigo_equ ] varchar(5)notnull, [nombre_pad] varchar(20)null, [apellido_pad] varchar(20)null, [lugarnacimiento_pad] varchar(20)null, [fechanacimiento_pad] datetimenull, [direccion_pad] varchar(25)null, [cargo_pad] varchar(25)null, [serie_pad] varchar(1)null, [nombreequipo_pad] varchar(20)null, constraint PK_peradm Primarykey([codigo_pad]), constraint FK_peradm foreignKey([codigo_equ]) references [equipos] ([codigo_equ]) ) createtable[cuerpotec] ( [codigo_cue ] varchar(5)notnull, [codigo_equ ] varchar(5)notnull, [nombre_cue] varchar(20)null, [apellido_cue] varchar(20)null, [lugarnacimiento_cue] varchar(20)null, [fechanacimiento_cue] datetimenull, [direccion_cue] varchar(25)null, [cargo_cue] varchar(25)null, [serie_cue] varchar(1)null, [nombreequipo_cue] varchar(20)null, constraint PK_cuerpotec Primarykey([codigo_cue]),

10

constraint FK_cuerpotec foreignKey([codigo_equ]) references [equipos] ([codigo_equ]) ) select* from[equipos] insertinto [equipos] values('001','Barselona','A','01','Guayaquil') insertinto [equipos] values('002','D_P_C','A','02','Cuenca') delete from[equipos] where[codigo_equ]='002'--para borrar solo la linea que deseo insertinto [equipos] values('003','D_P_L','A','03','Loja') insertinto [equipos] values('004','Nacional','A','04','Quito') insertinto [equipos] values('005','L_U_Q','A','05','Quito') insertinto [equipos] values('006','Emelec','A','06','Guayaquil') insertinto [equipos] values('007','Macara','A','07','Ambato') insertinto [equipos] values('008','Aucas','A','08','Quito') insertinto [equipos] values('009','Independiente','A','09','Quito') insertinto [equipos] values('010','D_Q','A','10','Quito') insertinto [equipos] values('01','T_U','B','1','Ambato') delete from[equipos] where[codigo_equ]='01' insertinto [equipos] values('011','T_U','B','1','Ambato') insertinto [equipos] values('012','Olmedo','B','2','Riobamba') insertinto [equipos] values('013','E_P','B','3','Esmeraldas') insertinto [equipos] values('014','Mushu Runa','B','4','Ambato') insertinto [equipos] values('015','Globo','B','5','Ambato') insertinto [equipos] values('016','D_P_P','B','6','Pelileo') insertinto [equipos] values('017','D_P_A','B','7','Cuenca') insertinto [equipos] values('018','U_D_L','B','8','Loja') insertinto [equipos] values('019','Manchester','B','9','Quito') insertinto [equipos] values('020','Quito E_C','B','10','Quito') ------------------------------------------------------------select* from[personaljugadores] insertinto [personaljugadores] values('101','001','Antonio','Valencia','Ivarra','12/02/1985', 'V..Del-Chota','Delantero','A','Barcelona','11')

11

insertinto [personaljugadores] values('102','001','Carlos','Sevilla','Argentina','12/02/1989', 'BuenosAires','Delantero','A','Barcelona','10') insertinto [personaljugadores] values('103','001','Dario','Cordova','Guayaquil','11/08/1982', 'Guayaquil','Medio_Campo','A','Barcelona','9') insertinto [personaljugadores] values('104','001','David','Ballejo','Guayaquil','18/09/1989', 'Daule','BacCentral','A','Barcelona','8') insertinto [personaljugadores] values('105','001','Paul','Calderon','Quito','20/09/1992','Quito','Pun tero_I','A','Barcelona','7') insertinto [personaljugadores] values('106','001','Raul','Galarza','Argentina','16/02/1989','Guayaqui l','Puntero_D','A','Barcelona','6') insertinto [personaljugadores] values('107','001','Braulio','Casares','Argentina','24/12/1992','Guaya quil','Carrilero','A','Barcelona','5') insertinto [personaljugadores] values('108','001','Antonio','Campos','Ivarra','12/02/1985','Guayaquil ','Defensa','A','Barcelona','4') insertinto [personaljugadores] values('109','001','Klever','Caseres','Quito','13/08/1989','Quito','De fensa','A','Barcelona','3') insertinto [personaljugadores] values('110','001','Rodrigo','Zalazar','Quito','23/12/1993','Guayaquil ','Defensa','A','Barcelona','2') insertinto [personaljugadores] values('111','001','Marlon','Segura','Guayaquil','12/02/1998','Guayaqu il','Arquero','A','Barcelona','1') ------insertinto [personaljugadores] values('112','002','Amdreus','Molina','Brasil','12/02/1996','Brasil',' Delantero','A','D_p_C','11') insertinto [personaljugadores] values('113','002','Pedro','Carrasco','Colombia','12/02/1998','Quito', 'Delantero','A','D_p_C','10') insertinto [personaljugadores] values('114','002','Rodrigo','Caseres','Quito','12/08/1996','Quito','M edio_Campo','A','D_p_C','9') insertinto [personaljugadores] values('115','002','Sandro','Palacios','Quito','12/08/1999','Quito','M edio_Campo','A','D_p_C','8') insertinto [personaljugadores] values('116','002','Fabian','Naranjo','Cuenca','11/08/1985','Quito','C arrilero_I','A','D_p_C','7') insertinto [personaljugadores] values('117','002','Fransisco','Carrillo','Guayaquil','25/04/1992','Qu ito','Carrilero','A','D_p_C','6') insertinto [personaljugadores] values('118','002','Xavier','Crespo','Quito','18/12/1996','Quito','Def ensa','A','D_p_C','5') insertinto [personaljugadores] values('119','002','Dany','Jacome','Uruguay','23/08/1999','Quito','Def ensa','A','D_p_C','4') insertinto [personaljugadores] values('120','002','Rodolfo','Lumaa','Uruguay','20/08/1996','Quito',' Defensa','A','D_p_C','3') insertinto [personaljugadores] values('121','002','Daniel','Caseres','Ambato','12/11/1990','Ambato',' Defensa','A','D_p_C','2')

12

insertinto [personaljugadores] values('122','002','Claudio','Curillo','Quito','12/10/1992','Quito','P ortero','A','D_p_C','1') ------------insertinto [personaljugadores] values('103','003','Enrique','Quiros','Quito','19/05/1988','sur de Quito','Delantero','A','D_P_L','11') insertinto [personaljugadores] values('123','003','Rolando','Frito','Quito','19/05/1989','Loja','Dela ntero','A','D_P_L','10') insertinto [personaljugadores] values('124','003','Sergio','Segura','Ambato','15/05/1999','Loja','Car rilero','A','D_P_L','9') insertinto [personaljugadores] values('125','003','Franklin','Cordoba','Quito','20/12/1999','Cuenca', 'Puntero_I','A','D_P_L','8') insertinto [personaljugadores] values('126','003','Davil','Davila','Guayaquil','19/05/1993','Loja','P untero_D','A','D_P_L','7') insertinto [personaljugadores] values('127','003','Bladimir','Brito','Ambato','19/05/1990','Loja','Me dio_Campo','A','D_P_L','6') insertinto [personaljugadores] values('128','003','Rolando','Quiros','Ivarra','20/08/1985','Loja','Me dio_Campo','A','D_P_L','5') insertinto [personaljugadores] values('129','003','Clementino','Ariaga','Argentina','26/05/1999','Loj a','Defensa','A','D_P_L','4') insertinto [personaljugadores] values('130','003','Carlos','Fuentes','Argentina','26/10/1993','Loja', 'Defensa','A','D_P_L','3') insertinto [personaljugadores] values('131','003','Silvio','Teran','Quito','10/05/1993','Loja','Defen sa','A','D_P_L','2') insertinto [personaljugadores] values('132','003','Antonio','Gerra','Argentina','20/05/1992','Loja',' Portero','A','D_P_L','1') ------------insertinto [personaljugadores] values('133','004','Daniel','Mendes','Guayaquil','20/09/1988','Quito', 'Delantero','A','Nacional','11') insertinto [personaljugadores] values('134','004','Claudio','Rendon','Guayaquil','10/10/1989','Quito' ,'Delantero','A','Nacional','10') insertinto [personaljugadores] values('135','004','Dario','Balensuela','Uruguay','20/11/1989','Quito' ,'Carrilero','A','Nacional','9') insertinto [personaljugadores] values('136','004','Hendri','Jacome','Guayaquil','20/09/1988','Quito', 'Puntero_I','A','Nacional','8') insertinto [personaljugadores] values('137','004','Erik','Melendes','Guayaquil','10/11/1996','Quito', 'Puntero_D','A','Nacional','7') insertinto [personaljugadores] values('138','004','Ronaldo','Mario','Guayaquil','18/09/1989','Quito' ,'Medio_Campo','A','Nacional','6') insertinto [personaljugadores] values('139','004','Franc','Brito','Quito','20/09/1992','Quito','Medio _Campo','A','Nacional','5') insertinto [personaljugadores]

13

values('140','004','Cristian','Mendes','Ivarra','12/05/1995','Quito',' Defensa','A','Nacional','4') insertinto [personaljugadores] values('141','004','Pablo','Hurtado','Ambato','04/09/1989','Ambato','D efensa','A','Nacional','3') insertinto [personaljugadores] values('142','004','Milton','Riofrio','Guayaquil','28/02/1993','Quito' ,'defensa','A','Nacional','2') insertinto [personaljugadores] values('143','004','Marlon','Mendes','Ivarra','28/09/1993','Quito','Po rtero','A','Nacional','1') -----------insertinto [personaljugadores] values('144','005','Enrique','Palacios','Ibarra','18/02/1986','Ambato' ,'Delantero','A','L_U_Q','11') insertinto [personaljugadores] values('145','005','Saul','Solorsano','Ibarra','15/08/1992','Ambato',' Delantero','A','L_U_Q','10') insertinto [personaljugadores] values('146','005','Kleber','Sambrano','Guayaquil','23/05/1993','Quito ','Carrilero','A','L_U_Q','9') insertinto [personaljugadores] values('147','005','Mario','Martines','Quito','25/12/1994','Quito','Pu ntero_I','A','L_U_Q','8') insertinto [personaljugadores] values('148','005','Javier','Mario','Quito','26/11/1993','Ambato','pu ntero_D','A','L_U_Q','7') insertinto [personaljugadores] values('149','005','Bairon','Patio','Ambato','18/02/1986','Quito','Me dio_Campo','A','L_U_Q','6') insertinto [personaljugadores] values('150','005','Nelson','Almeida','Riobamba','12/11/1996','Quito', 'Medio_Campo','A','L_U_Q','5') insertinto [personaljugadores] values('151','005','Pedro','Pilco','Ambato','22/02/1997','Ambato','Def ensa','A','L_U_Q','4') insertinto [personaljugadores] values('152','005','Juaquin','Olmedo','Guayaquil','23/05/1991','Quito' ,'Defensa','A','L_U_Q','3') insertinto [personaljugadores] values('153','005','Martin','Aguilar','Guaranda','15/12/1997','Quito', 'Defensa','A','L_U_Q','2') insertinto [personaljugadores] values('154','005','Teodoro','Barreno','Ambato','18/02/1999','Ambato', 'Portero','A','L_U_Q','1') -----------insertinto [personaljugadores] values('155','006','Paul','Bolaos','Ibarra','12/05/1992','Cuenca','De lantero','A','Emelec','11') insertinto [personaljugadores] values('156','006','Lenin','Brito','Guayaquil','16/05/1998','Guayaquil ','Delantero','A','Emelec','10') insertinto [personaljugadores] values('157','006','Sebastian','cordoba','Ibarra','12/12/1992','Guayaq uil','Carrilero','A','Emelec','9') insertinto [personaljugadores] values('158','006','Dario','Bolaos','Ibarra','18/05/1989','Guayaquil' ,'Medio_Campo','A','Emelec','8') insertinto [personaljugadores] values('159','006','Fredy','Baysu','Argentina','19/12/1989','Guayaquil ','Medio_Campo','A','Emelec','7')

14

insertinto [personaljugadores] values('160','006','Marlon','Allovi','Ibarra','18/05/1989','Guayaquil' ,'Medio_Campo','A','Emelec','6') insertinto [personaljugadores] values('161','006','visente','Solorsano','Guayaquil','29/05/1999','Gua yaquil','Defensa','A','Emelec','5') insertinto [personaljugadores] values('162','006','Rodolfo','Caisedo','Quito','30/01/1992','Guayaquil ','Defensa','A','Emelec','4') insertinto [personaljugadores] values('163','006','Ricardo','Galarsa','Quito','13/11/1988','Guayaquil ','Defensa','A','Emelec','3') insertinto [personaljugadores] values('164','006','Daniel','Montestioca','Ambato','12/01/1986','Guaya quil','Defensa','A','Emelec','2') insertinto [personaljugadores] values('165','006','Omar','Olmedo','Quito','30/10/1991','Guayaquil','P ortero','A','Emelec','1') -----------insertinto [personaljugadores] values('166','007','Darwin','Baos','Ambato','02/06/1993','Latacunga', 'Delantero','A','Macara','11') insertinto [personaljugadores] values('167','007','Andres','Pinto','Ambato','23/01/1999','Ambato','De lantero','A','Macara','10') insertinto [personaljugadores] values('168','007','Angel','Palacios','Ambato','02/06/1993','Ambato',' Carrilero','A','Macara','9') insertinto [personaljugadores] values('169','007','Sixto','Lima','Quito','02/06/1993','Ambato','Medio _Campo','A','Macara','8') insertinto [personaljugadores] values('170','007','Marlon','Quintana','Quito','02/06/1994','Ambato',' Medio_Campo','A','Macara','7') insertinto [personaljugadores] values('171','007','Edwin','Jurado','Quito','02/12/1993','Ambato','Med io_Campo','A','Macara','6') insertinto [personaljugadores] values('172','007','Jorge','Lima','Ambato','23/06/1996','Ambato','Defe nsa','A','Macara','5') insertinto [personaljugadores] values('173','007','Adrian','Bucheli','Ambato','15/11/1991','Ambato',' Defensa','A','Macara','4') insertinto [personaljugadores] values('174','007','Luis','Caisedo','Ivarra','28/06/1996','Ambato','De fensa','A','Macara','3') insertinto [personaljugadores] values('175','007','Edison','Urrutia','Ambato','22/11/1991','Ambato',' Defensa','A','Macara','2') insertinto [personaljugadores] values('176','007','Carlos','Paredes','Ambato','23/06/1996','Ambato',' Portero','A','Macara','1') -------------insertinto [personaljugadores] values('177','008','Antoo','Solorzano','Guayaquil','03/12/1990','Riob amba','Delantero','A','Aucas','11') insertinto [personaljugadores] values('178','008','Piter','Solis','Guayaquil','18/10/1990','Quito','D elantero','A','Aucas','10') insertinto [personaljugadores]

15

values('179','008','Fransisco','Cordoba','Quito','20/11/1998','Quito', 'Carrilero','A','Aucas','9') insertinto [personaljugadores] values('180','008','Jhon','Zamora','Guayaquil','13/04/1990','Quito','M edio_Campo','A','Aucas','8') insertinto [personaljugadores] values('181','008','Romulo','Narvaes','Quito','20/04/1989','Quito','Me dio_Campo','A','Aucas','7') insertinto [personaljugadores] values('182','008','Edwin','Crespo','Guayaquil','29/04/1980','Quito',' Medio_Campo','A','Aucas','6') insertinto [personaljugadores] values('183','008','Sevastian','Monroy','Guayaquil','17/06/1990','Quit o','Defensa','A','Aucas','5') insertinto [personaljugadores] values('184','008','Rolando','Cordova','Ambato','30/11/1989','Quito',' Defensa','A','Aucas','4') insertinto [personaljugadores] values('185','008','Rodrigo','Hurtado','Guayaquil','17/12/1990','Quito ','Defensa','A','Aucas','3') insertinto [personaljugadores] values('186','008','Richar','Pico','Ambato','17/06/1989','Quito','Defe nsa','A','Aucas','2') insertinto [personaljugadores] values('187','008','Agustin','Crespo','Quito','30/12/1985','Quito','Po rtero','A','Aucas','1') -----------insertinto [personaljugadores] values('188','009','Erik','Quiones','Tulcan','20/08/1989','Quito','De lantero','A','Independiente','11') insertinto [personaljugadores] values('189','009','daniel','Sanches','Tulcan','13/08/1984','Quito','D elantero','A','Independiente','10') insertinto [personaljugadores] values('190','009','Fabrisio','Quiones','Quito','12/06/1983','Quito', 'Carrilero','A','Independiente','9') insertinto [personaljugadores] values('191','009','Eduardo','Brito','Quito','27/09/1986','Quito','Med io_Campo','A','Independiente','8') insertinto [personaljugadores] values('192','009','Gonsalo','Paes','Quito','23/08/1987','Quito','Medi o_Campo','A','Independiente','7') insertinto [personaljugadores] values('193','009','Ector','Pia','Quito','12/06/1989','Quito','Medio_ Campo','A','Independiente','6') insertinto [personaljugadores] values('194','009','Lautaro','Chirivoga','Esmeraldas','28/11/1988','Qu ito','Defensa','A','Independiente','5') insertinto [personaljugadores] values('195','009','Fausto','Calapia','Esmeraldas','23/12/1985','Quit o','Defensa','A','Independiente','4') insertinto [personaljugadores] values('196','009','Tomas','Roldan','Quito','12/11/1989','Quito','Defe nsa','A','Independiente','3') insertinto [personaljugadores] values('197','009','Isdrael','Masias','Quito','24/10/1989','Quito','De fensa','A','Independiente','2') insertinto [personaljugadores] values('198','009','Rafael','Flores','Esmeraldas','28/11/1984','Quito' ,'Portero','A','Independiente','1') -------------

16

insertinto [personaljugadores] values('199','010','Jos','Cevallos','Quito','12/05/1995','Quito','Del antero','A','D_Q','11') insertinto [personaljugadores] values('200','010','Ector','Villaruel','Brasil','24/08/1988','Quito',' Delantero','A','D_Q','10') insertinto [personaljugadores] values('201','010','Jose','Ramires','Ambato','14/04/1989','Quito','Del antero','A','D_Q','9') insertinto [personaljugadores] values('202','010','Jordan','Montana','Brasil','17/12/1985','Quito','M edio_Campo','A','D_Q','8') insertinto [personaljugadores] values('203','010','Welinton','Sanches','Quito','15/09/1988 ','Quito','Medio_Campo','A','D_Q','7') insertinto [personaljugadores] values('204','010','Pablo','Mondaine','Brasil','19/06/1989','Quito','M edio_Campo','A','D_Q','6') insertinto [personaljugadores] values('205','010','Carlos','Bonilla','Guaranda','29/08/1988','Quito', 'Defensa','A','D_Q','5') insertinto [personaljugadores] values('206','010','Rodolfo','Quintana','Tulcan','23/08/1989','Quito', 'Defensa','A','D_Q','4') insertinto [personaljugadores] values('207','010','Patricio','Cobos','Guaranda','12/01/1980','Quito', 'Defensa','A','D_Q','3') insertinto [personaljugadores] values('208','010','Alex','Chiriboga','Ivarra','18/09/1984','Quito','D efensa','A','D_Q','2') insertinto [personaljugadores] values('209','010','Alverto','Purillo','Riobamba','10/01/1988','Quito' ,'Portero','A','D_Q','1') -----------insertinto [personaljugadores] values('210','011','Daniel','Ochoa','Quito','15/01/1995','Ambato','Del antero','B','T_U','11') insertinto [personaljugadores] values('211','011','Dioego','Errera','Quito','12/01/1988','Ambato','De lantero','B','T_U','10') insertinto [personaljugadores] values('212','011','Ector','Zalazar','Ambato','10/07/1989','Ambato','D elantero','B','T_U','9') insertinto [personaljugadores] values('213','011','Rafael','Palasios','Ambato','15/04/1984','Ambato', 'Medio_Campo','B','T_U','8') insertinto [personaljugadores] values('214','011','Darwin','Paredes','Ambato','26/11/1989','Ambato',' Medio_Campo','B','T_U','7') insertinto [personaljugadores] values('215','011','Hugo','Solorzano','Quito','29/09/1982','Ambato','M edio_Campo','B','T_U','6') insertinto [personaljugadores] values('216','011','Cristian','Aragon','Ambato','18/04/1989','Ambato', 'Defensa','B','T_U','5') insertinto [personaljugadores] values('217','011','Ramon','Borques','Chile','11/11/1981','Ambato','De fensa','B','T_U','4') insertinto [personaljugadores] values('218','011','Juli0','Samaego','Ambato','29/11/1988','Ambato',' Defensa','B','T_U','3')

17

insertinto [personaljugadores] values('219','011','Jonatan','Mendosa','Guayaquil','25/04/1985','Ambat o','Defensa','B','T_U','2') insertinto [personaljugadores] values('220','011','Patricio','Calderon','Ambato','26/12/1990','Ambato ','Portero','B','T_U','1') ----------------insertinto [personaljugadores] values('221','012','Omar','Ulloa','Quito','15/02/1995','Riobamba','Del antero','B','Olmedo','11') insertinto [personaljugadores] values('222','012','Olivo','Orellana','Quito','17/02/1988','Riobamba', 'Delantero','B','Olmedo','10') insertinto [personaljugadores] values('223','012','Pablo','Peres','Guayaqui','15/03/1990','Riobamba', 'Delantero','B','Olmedo','9') insertinto [personaljugadores] values('224','012','Ricardo','Palasios','Quito','12/02/1988','Riobamba ','Medio_Campo','B','Olmedo','8') insertinto [personaljugadores] values('225','012','Rodrigo','Caisedo','Riobamba','18/04/1990','Riobam ba','Medio_Campo','B','Olmedo','7') insertinto [personaljugadores] values('226','012','Alexander','Vaca','Riobamba','28/11/1991','Riobamb a','Medio_Campo','B','Olmedo','6') insertinto [personaljugadores] values('227','012','Olger','Quiones','Esmeraldas','29/04/1990','Rioba mba','Defensa','B','Olmedo','5') insertinto [personaljugadores] values('228','012','Anto0','Rojas','Quito','23/01/1990','Riobamba','D efensa','B','Olmedo','4') insertinto [personaljugadores] values('229','012','Ivan','Saltos','Ambato','12/04/1988','Riobamba','D efensa','B','Olmedo','3') insertinto [personaljugadores] values('230','012','David','Andrade','Quito','23/03/1990','Riobamba',' Defensa','B','Olmedo','2') insertinto [personaljugadores] values('231','012','Euclides','Freire','Riobamba','13/04/1990','Riobam ba','Portero','B','Olmedo','1') ------------insertinto [personaljugadores] values('232','013','Carlos','Ulloa','Quito','15/02/1995','Riobamba','D elantero','B','D_P_A','11') insertinto [personaljugadores] values('233','013','Hendri','Duran','Quito','11/01/1991','Riobamba','D elantero','B','D_P_A','10') insertinto [personaljugadores] values('234','013','Javier','Quiros','Quito','23/11/1990','Ambato','De lantero','B','D_P_A','9') insertinto [personaljugadores] values('235','013','Daniel.','Dias','Quito','11/12/1991','Ambato','Med io_Campo','B','D_P_A','8') insertinto [personaljugadores] values('236','013','Jose.','Bastidas','Quito','06/12/1990','Ambato','M edio_Campo','B','D_P_A','7') insertinto [personaljugadores] values('237','013','Carlos.','Gaibor','Quito','22/12/1989','Ambato','M edio_Campo','B','D_P_A','6') insertinto [personaljugadores]

18

values('238','013','Klever.','Dias','Ambato','16/10/1981','Ambato','De fensa','B','D_P_A','5') insertinto [personaljugadores] values('239','013','Sebastian.','Fito','Ambato','18/11/1990','Ambato', 'Defensa','B','D_P_A','4') insertinto [personaljugadores] values('240','013','Edgar.','Flores','Ambato','28/05/1990','Ambato','D efensa','B','D_P_A','3') insertinto [personaljugadores] values('241','013','Eric.','Sambrano','Babahoyo','19/03/1988','Ambato' ,'Defensa','B','D_P_A','2') insertinto [personaljugadores] values('242','013','Federico.','Herdoisa','Ambato','13/04/1991','Ambat o','Portero','B','D_P_A','1') ---------insertinto [personaljugadores] values('243','014','Pablo','Quiuones','Ivarra','15/03/1990','Riobamba ','Delantero','B','D_P_Q','11') insertinto [personaljugadores] values('244','014','Piter','Hidalgo','Ivarra','24/06/1991','Quito','De lantero','B','D_P_Q','10') insertinto [personaljugadores] values('245','014','Omar','Borja','Ambato','25/02/1990','Quito','Carri leo','B','D_P_Q','9') insertinto [personaljugadores] values('246','014','Bairon','Segura','Ivarra','29/06/1988','Quito','Me dio_Campo','B','D_P_Q','8') insertinto [personaljugadores] values('247','014','Sixto','Calero','Ambato','24/06/1990','Quito','Med io_Campo','B','D_P_Q','7') insertinto [personaljugadores] values('248','014','Carlos','Sedeo','Guayaquil','21/09/1988','Quito', 'Medio_Campo','B','D_P_Q','6') insertinto [personaljugadores] values('249','014','Andres','Cordoba','Ambato','16/08/1990','Quito','D efensa','B','D_P_Q','5') insertinto [personaljugadores] values('250','014','Ector','Solorsano','Tena','29/12/1988','Quito','De fensa','B','D_P_Q','4') insertinto [personaljugadores] values('251','014','Bladimir','Heraso','Cuenca','11/01/1991','Quito',' Defensa','B','D_P_Q','3') insertinto [personaljugadores] values('252','014','Ivan','Samorano','Quuito','16/12/1990','Quito','De fensa','B','D_P_Q','2') insertinto [personaljugadores] values('253','014','Charli','Garsia','Quito','10/07/1990','Quito','Por tero','B','D_P_Q','1') -----------insertinto [personaljugadores] values('254','015','Francisco','Velastegi','Guayaquil','20/02/1991','G uayaquil','Delantero','B','D_Saquisili','11') insertinto [personaljugadores] values('255','015','Edison','Cueva','Guayaquil','14/04/1988','Guayaqui l','Delantero','B','D_Saquisili','10') insertinto [personaljugadores] values('256','015','Edwin','Velastegi','Guaranda','27/04/1989','Riobam ba','Delantero','B','D_Saquisili','9') insertinto [personaljugadores] values('257','015','Ramiro','Galarza','Quito','25/12/1989','Riobamba', 'Medio_Campo','B','D_Saquisili','8')

19

insertinto [personaljugadores] values('258','015','Alsivar','Reyes','Riobamba','22/01/1987','Riobamba ','Medio_Campo','B','D_Saquisili','7') insertinto [personaljugadores] values('259','015','Patrcio','Rendo','Riobamba','15/12/1990','Riobamba ','Medio_Campo','B','D_Saquisili','6') insertinto [personaljugadores] values('260','015','Juan','Pinto','Quito','23/01/1989','Riobamba','Med io_Campo','B','D_Saquisili','5') insertinto [personaljugadores] values('261','015','Andres','Brito','Guayaquil','29/07/1988','Riobamba ','Defensa','B','D_Saquisili','4') insertinto [personaljugadores] values('262','015','Silvio','Paredes','Guayaquil','17/09/1990','Riobam ba','Defensa','B','D_Saquisili','3') insertinto [personaljugadores] values('263','015','Fabian','Urquisa','Ambato','21/09/1989','Riobamba' ,'Defensa','B','D_Saquisili','2') insertinto [personaljugadores] values('264','015','Eduardo','Carbajal','Cuenca','12/01/1984','Riobamb a','Portero','B','D_Saquisili','1') ------------insertinto [personaljugadores] values('265','016','Patricio','Pala','Quito','02/02/1995','Riobamba',' Delantero','B','Glovo','11') insertinto [personaljugadores] values('266','016','Angel','Poveda','Quito','01/02/1990','Riobamba','D elantero','B','Glovo','10') insertinto [personaljugadores] values('267','016','Calos','Asas','Ambato','05/02/1988','Riobamba','De lantero','B','Glovo','9') insertinto [personaljugadores] values('268','016','Julio','Caseres','Ivarra','07/12/1989','Riobamba', 'Medio_Campo','B','Glovo','8') insertinto [personaljugadores] values('269','016','Patricio','Jeres','Quito','28/11/1988','Riobamba', 'Medio_Campo','B','Glovo','7') insertinto [personaljugadores] values('270','016','Dario','Castro','Ambato','16/04/1989','Riobamba',' Medio_Campo','B','Glovo','6') insertinto [personaljugadores] values('271','016','Pablo','Solorsano','Riobamba','23/11/1988','Riobam ba','Defensa','B','Glovo','5') insertinto [personaljugadores] values('272','016','Julio','Caseres','Ivarra','07/12/1989','Riobamba', 'Defensa','B','Glovo','4') insertinto [personaljugadores] values('273','016','Carlos','Rincon','Guayaquil','21/11/1988','Riobamb a','Defensa','B','Glovo','3') insertinto [personaljugadores] values('274','016','Armando','Trugillo','Guayaquil','20/05/1985','Riob amba','Defensa','B','Glovo','2') insertinto [personaljugadores] values('275','016','Istrael','Martines','Riobamba','27/11/1982','Rioba mba','Portero','B','Glovo','1') -----------------insertinto [personaljugadores] values('276','017','Dario','Valenzuela','Ambato','08/02/1990','Ambato' ,'Delantero','B','D_Machala','11') insertinto [personaljugadores]

20

values('277','017','Patricio','Calderon','Ambato','24/02/1990','Ambato ','Delantero','B','D_Machala','10') insertinto [personaljugadores] values('278','017','Jorge','Carrillo','Ambato','12/06/1999','Machala', 'Delantero','B','D_Machala','9') insertinto [personaljugadores] values('279','017','Cezar','Lumaa','Tulcan','09/02/1991','Machala','M edio_Campo','B','D_Machala','8') insertinto [personaljugadores] values('280','017','Agusto','Anelo','Tulcan','23/02/1988','Machala','M edio_Campo','B','D_Machala','7') insertinto [personaljugadores] values('281','017','Armando','Patio','Machala','02/02/1991','Machala' ,'Medio_Campo','B','D_Machala','6') insertinto [personaljugadores] values('282','017','Maurisio','Almeida','Guayaquil','28/11/1990','Mach ala','Defensa','B','D_Machala','5') insertinto [personaljugadores] values('283','017','Mario','Quispe','Riobamba','23/12/1989','Machala', 'Defensa','B','D_Machala','4') insertinto [personaljugadores] values('284','017','Fran','Correa','Guayaquil','21/12/1991','Machala', 'Defensa','B','D_Machala','3') insertinto [personaljugadores] values('285','017','Alvaro','Teran','Quito','20/11/1991','Machala','De fensa','B','D_Machala','2') insertinto [personaljugadores] values('286','017','Marlon','Cordoba','Ambato','22/12/1989','Machala', 'Portero','B','D_Machala','1') -------------insertinto [personaljugadores] values('286','018','Damian','Freire','Quito','15/12/1995','Esmeraldas' ,'Delantero','B','E_Petrolero','11') insertinto [personaljugadores] values('287','018','Rafael','Frias','Quito','23/12/1995','Esmeraldas', 'Delantero','B','E_Petrolero','10') insertinto [personaljugadores] values('288','018','Enrique','Gonsalesw','Quito','21/12/1995','Esmeral das','Delantero','B','E_Petrolero','9') insertinto [personaljugadores] values('289','018','Wilson','Paucar','Cuenca','27/09/1988','Esmeraldas ','Carrilero','B','E_Petrolero','8') insertinto [personaljugadores] values('290','018','Visente','Urquiso','Esmeraldas','17/06/1990','Esme raldas','Medio_Campo','B','E_Petrolero','7') insertinto [personaljugadores] values('291','018','Edilso','Ordoes','Esmeraldas','21/06/1988','Esmer aldas','Medio_Campo','B','E_Petrolero','6') insertinto [personaljugadores] values('292','018','Ariel','Grasini','Argentina','23/06/1986','Esmeral das','Medio_Campo','B','E_Petrolero','5') insertinto [personaljugadores] values('293','018','Segundo','Paredes','Esmeraldas','17/05/1988','Esme raldas','Defensa','B','E_Petrolero','4') insertinto [personaljugadores] values('294','018','Marco','Palasios','Esmeraldas','23/09/1989','Esmer aldas','Defensa','B','E_Petrolero','3') insertinto [personaljugadores] values('295','018','Fransisco','Urea','Loja','27/04/1989','Esmeraldas ','Defensa','B','E_Petrolero','2') insertinto [personaljugadores]

21

values('296','018','osvaldo','Vausi','Espaa','14/02/1988','Esmeraldas ','Portero','B','E_Petrolero','1') -----------insertinto [personaljugadores] values('297','019','Cludio','Rojas','Quito','25/02/1997','Riobamba','D elantero','B','D_T_U','11') insertinto [personaljugadores] values('298','019','Patricio','Morejon','Quito','12/01/1988','Riobamba ','Delantero','B','D_T_U','10') insertinto [personaljugadores] values('299','019','Eduardo','Padilla','Ambato','18/02/1990','Riobamba ','Delantero','B','D_T_U','9') insertinto [personaljugadores] values('300','019','Paul','Herdoisa','Cuenca','19/05/1989','Riobamba', 'Medio_Campo','B','D_T_U','8') insertinto [personaljugadores] values('301','019','Teofilo','Almeida','Ambato','10/03/1984','Riobamba ','Medio_Campo','B','D_T_U','7') insertinto [personaljugadores] values('302','019','Franco','Ferreira','Quito','14/05/1989','Riobamba' ,'Medio_Campo','B','D_T_U','6') insertinto [personaljugadores] values('303','019','Rolando','Montoya','Cuenca','11/05/1985','Riobamba ','Medio_Campo','B','D_T_U','5') insertinto [personaljugadores] values('304','019','Rafael','Novoa','Guayaquil','19/05/1986','Riobamba ','Defensa','B','D_T_U','4') insertinto [personaljugadores] values('305','019','Manuel','Escobar','Ambato','28/09/1988','Riobamba' ,'Defensa','B','D_T_U','3') insertinto [personaljugadores] values('306','019','Amable','Benalcasar','Guayaquil','19/05/1990','Rio bamba','Defensa','B','D_T_U','2') insertinto [personaljugadores] values('307','019','Matias','Sanches','Loja','11/02/1986','Riobamba',' Portero','B','D_T_U','1') ------------insertinto [personaljugadores] values('308','020','Gonzalo','Prado','Guaranda','18/02/1995','Ambato', 'Delantero','B','MushuRuna','11') insertinto [personaljugadores] values('309','020','Fernando','Mondaine','Argentina','13/02/1989','Amb ato','Delantero','B','MushuRuna','10') insertinto [personaljugadores] values('310','020','Braulio','Bastidas','Guaranda','11/01/1990','Ambat o','Delantero','B','MushuRuna','9') insertinto [personaljugadores] values('311','020','Paulino','Pardo','Ambato','14/02/1990','Ambato','M edio_Campo','B','MushuRuna','8') insertinto [personaljugadores] values('312','020','Raul','Bonilla','Ambato','11/09/1991','Ambato','Me dio_Campo','B','MushuRuna','7') insertinto [personaljugadores] values('313','020','Sergio','Sacoto','Quito','19/02/1988','Ambato','Me dio_Campo','B','MushuRuna','6') insertinto [personaljugadores] values('314','020','Diego','Quiros','Esmeraldas','26/06/1984','Ambato' ,'Defensa','B','MushuRuna','5') insertinto [personaljugadores] values('315','020','Lorenso','Lamas','Uruguay','20/11/1986','Ambato',' Defensa','B','MushuRuna','4')

22

insertinto [personaljugadores] values('316','020','Eduardo','Ermosa','Quito','29/06/1989','Ambato','D efensa','B','MushuRuna','3') insertinto [personaljugadores] values('317','020','Cristian','Valencia','Ivarra','21/06/1988','Ambato ','Defensa','B','MushuRuna','2') insertinto [personaljugadores] values('318','020','Armando','Tapia','Ambato','26/12/1984','Ambato','P ortero','B','MushuRuna','1') -----------select[codigo_per]as[CODIGO:], [nombre_per]+'/ '+[apellido_per]as[NOMBRE_APELLIDO],[posicion_per]as[POSICIN],[nombre _equ]as [EQUIPO],[serie_equ]as[SERIE],[numcamiseta_per]as[#DECAMISETA] from[personaljugadores],[equipos] where[personaljugadores].[codigo_equ]=[equipos].[codigo_equ] --filtrar verificar si el nombre se repite con las 3 lineas and [equipos].[nombre_equ]='Macara' ---------------------------------------------delete from[peradm] select* from[peradm] insertinto[peradm] values('01','001','Enrique','Ordoes','Quito','25/05/1980','Quito','Ge rente','A','Barselona') insertinto[peradm] values('02','001','Xavier','Medina','Ambato','02/01/1983','Latacunga', 'Administrador','A','Barselona') insertinto[peradm] values('03','001','Joana','Almeida','Colombia','12/05/1980','Ambato',' Secretaria','A','Barselona') insertinto[peradm] values('04','002','Isdrael','Cordoba','Espaa','10/09/1988','Cuenca',' Gerente','A','D-P-C') insertinto[peradm] values('05','002','Carlos','Zalasar','Quito','15/12/1989','Cuenca','Ad ministrador','A','D-P_C') insertinto[peradm] values('06','002','Patricia','Lopes','Guayaquil','20/05/1989','Cuenca' ,'Secretaria','A','D-P-C') insertinto[peradm] values('07','004','Paul','Castillo','Ambato','20/01/1981','Loja','Gere nta','A','D-P-L') insertinto[peradm] values('08','004','Georje','Morejon','Quito','13/05/1989','Loja','Admi nistrador','A','D-P-L') insertinto[peradm] values('09','004','Joana','Viteri','Puyo','12/12/1988','Loja','Secreta ria','A','D.P-L') insertinto[peradm] values('10','005','Sebastian','Cordero','Guayaquil','25/01/1980','Quit o','Gerente','A','Nacional') insertinto[peradm] values('11','005','Ramiro','Bastidas','Quito','13/09/1995','Quito','Ad ministrador','A','Nacional') insertinto[peradm]

23

values('12','005','Valeria','Gomes','Ambato','20/08/1990','Ambato','Se cretaria','A','Nacional') insertinto[peradm] values('13','006','Rafael','Jordan','Quito','25/01/1989','Quito','Gere nte','A','L-U-Q') insertinto[peradm] values('14','006','Lenin','Caisedo','Quito','02/06/1980','Quito','Admi nistrador','A','L-U-Q') insertinto[peradm] values('15','006','Tania','Cordova','Quito','02/09/1990','Quito','Secr etaria','A','L-U-Q') insertinto[peradm] values('16','007','Daniel','Sambrano','Guayaquil','12/09/1998','Quito' ,'Gerente','A','Emelec') insertinto[peradm] values('17','007','Xavier','Calderon','Guayaquil','12/12/1999','Guayaq uil','Administrador','A','Emelec') insertinto[peradm] values('18','007','Sandy','Morejon','Guayaquil','12/09/1998','Quito',' Secretaria','A','Emelec') insertinto[peradm] values('19','008','Porfilio','Segura','Quito','11/06/1980','Quito','Ge rente','A','Macara') insertinto[peradm] values('20','008','Ector','Solorsano','Ambato','1/06/1980','Ambato','A dministrador','A','Macara') insertinto[peradm] values('21','008','Carmen','Solorsano','Quito','11/05/1985','Ambato',' Secretaria','A','Macara') insertinto[peradm] values('22','009','Claudio','Zambrano','Quito','11/05/1980','Ambato',' Gerente','A','Aucas') insertinto[peradm] values('23','009','Angela','Sevilla','Quito','16/06/1980','Quito','Adm inistradra','A','Independiente') insertinto[peradm] values('24','009','Jasmin','Castro','Ambato','20/06/1996','Quito','Sec rataria','A','Independiente') insertinto[peradm] values('25','010','Pato','Arias','Guayaquil','30/06/1999','Quito','Ger ente','A','D_Q') insertinto[peradm] values('26','010','Carlos','Tirado','Guayaquil','19/08/1980','Guayaqui l','Administrador','A','D_Q') insertinto[peradm] values('27','010','Silvia','Segura','Quito','11/06/1980','Quito','Secr ataria','A','D_Q') insertinto[peradm] values('28','011','Xavier','Saltos','Ambato','15/04/1990','Ambato','Ge rente','A','T_U') insertinto[peradm] values('29','011','Dario','Daes','Quito','15/08/1980','Quito','Adminis trador','A','T_U') insertinto[peradm]

24

values('30','011','Soy','Sedeo','Ambato','26/09/1989','Quito','Secret aria','A','T_U') insertinto[peradm] values('31','012','Paul','Segura','Quito','16/11/1980','Quito','Gerent e','B','Olmedo') insertinto[peradm] values('32','012','Pedro','Saltos','Riobamba','23/09/1988','Quito','Ad ministrador','B','Olmedo') insertinto[peradm] values('33','012','Daniela','Caisa','Riobamba','25/10/1980','Riobamba' ,'Secrataria','B','Olmedo') insertinto[peradm] values('34','013','Sixto','Caguano','Quito','25/03/1988','cuenca','Ger ente','B','E_P') insertinto[peradm] values('35','013','Rodrigo','Paredes','Quito','15/08/1980','Quito','Ad ministrador','B','E_P') insertinto[peradm] values('36','013','Sandra','Cordiva','Guayaquil','15/03/1990','Quito', 'Secrataria','B','E_P') insertinto[peradm] values('37','014','Fabian','Lopes','Cuenca','15/03/1996','Quito','Gere nte','B','M_R') insertinto[peradm] values('38','014','Fredy','Cueva','Quito','29/08/1980','Ambato','Admin istrador','B','M_R') insertinto[peradm] values('39','014','Aida','Gonzales','Ambato','04/09/1979','Ambato','Se crataria','B','M_R') insertinto[peradm] values('40','015','Nelson','Padilla','Ambato','11/12/1975','Ambato','G erente','B','Glovo') insertinto[peradm] values('41','015','mario','Merino','Ambato','15/08/1999','Quito','Admi nisttrador','B','Glovo') insertinto[peradm] values('42','015','Maryuri','Zamora','Puyo','15/10/1999','Puyo','Secre taria','B','Glovo') insertinto[peradm] values('43','016','Paulo','Quintana','Guayaquil','25/09/1986','Quito', 'Gerente','B','D_P_P') insertinto[peradm] values('44','016','Arturo','Urdaneta','Quito','22/06/1980','Quito','Ad ministrador','B','D_P_P') insertinto[peradm] values('45','016','Joselin','Patio','Ambato','11/06/1980','Machala',' Secretaria','B','D_P_P') insertinto[peradm] values('46','017','Piter','Parquer','Quito','30/01/1980','Quito','Gere nte','B','D_P_A') insertinto[peradm] values('47','017','armando','Prado','Manta','12/08/1996','Quito','Admi nistrador','B','D_P_A') insertinto[peradm]

25

values('48','017','Linda','Bleir','EEUU','12/11/1980','Quito','Secrata ria','B','D_P_A') insertinto[peradm] values('49','018','Eduardo','Mantilla','Quito','11/06/1975','Quito','G erente','B','U_D_L') insertinto[peradm] values('50','018','Cebastian','Pinos','Loja','15/02/1993','Quito','Adm inistrador','B','U_D_L') insertinto[peradm] values('51','018','Rocio','Medina','Ambato','11/05/1980','Ambato','Sec retyaria','B','U_D_L') insertinto[peradm] values('52','019','Marlon ','Naranjo','Guayaquil','26/06/1989','Quito','Gerente','B','Manchester ') insertinto[peradm] values('53','019','Mario','Santos','Quito','16/06/1980','Quito','Admin istrador','B','Manchester') insertinto[peradm] values('54','019','Luisa','Lascano','Ambato','19/06/1988','Quito','Sec rataria','B','Manchester') insertinto[peradm] values('55','020','Fredy','Paucar','Colombia','18/05/1989','Quito','Ge rente','B','Quito') insertinto[peradm] values('56','020','Hendry','Moreta','ambato','29/06/1980','Ambato','Ad nimisttrador','B','Quito') insertinto[peradm] values('57','020','Alizon','Benavides','Ambato','12/09/1992','Quito',' Secretaria','B','Quito') ------select* from[cuerpotec] insertinto[cuerpotec] values('0001','001','Benjamin','Carrion','Quito','12/02/1980','G uayaquil','Presidente','A','Barselona') insertinto[cuerpotec] values('0002','001','Enrique','Urrtado','Guayaquil','10/09/1984' ,'Guyaquil','Entrenador','A','Barselona') insertinto[cuerpotec] values('0003','002','Sebastian','Quijon','Cuenca','19/02/1980',' Quito','Presidente','A','D_P_C') insertinto[cuerpotec] values('0004','002','Ronaldo','Almeida','Brasil','30/11/1982','C uenca','Entrenador','A','D_P_C') insertinto[cuerpotec] values('0005','003','Ramiro','Carvo','Brasil','02/12/1980','Amba to','Presidente','A','D_P_L') insertinto[cuerpotec] values('0006','003','Rodolfo','Bravo','Ambato','20/12/1980','Cue nca','Entrenador','A','D_P_L') insertinto[cuerpotec] values('0007','004','Sebastian','Losano','Quito','12/12/1996','A mbato','Preidente','A','Nacional')

26

insertinto[cuerpotec] values('0008','004','Carlos','Prieto','Guayaquil','29/11/1988',' Ambato','Entrenador','A','Nacional') insertinto[cuerpotec] values('0009','005','Paul','Paucar','Ambato','15/10/1980','Quito ','Presidente','A','L_U_Q') insertinto[cuerpotec] values('0010','005','Braulio','Casas','Colombia','02/10/1980','Q uito','Entrenador','A','L_D_Q') insertinto[cuerpotec] values('0011','006','Reinaldo','Cordova','Espaa','26/11/1979',' Guayaquil','Presidente','A','Emelec') insertinto[cuerpotec] values('0012','006','Eduardo','Samaniego','Clombia','10/02/1980' ,'Guayaquil','Entrenador','A','Emelec') insertinto[cuerpotec] values('0013','007','Diego','Bonilla','Ambato','25/11/1979','Amb ato','Presidente','A','Macara') insertinto[cuerpotec] values('0014','007','Antonio','Lopez','Guayaquil','25/10/1989',' Quito','Entrenador','A','Macara') insertinto[cuerpotec] values('0015','008','Ricardo','Solorzano','Quito','02/12/1980',' Quito','Presidente','A','Aucas') insertinto[cuerpotec] values('0016','008','Andres','Calamardo','Ambato','12/06/1989',' Ambato','Entrenador','A','Aucas') insertinto[cuerpotec] values('0017','009','Alsivar','Roldan','Esmeraldas','28/11/1986' ,'Quito','Presidente','A','Independiente') insertinto[cuerpotec] values('0018','009','Fran','Segura','Argentina','28/11/1982','Qu ito','Entrenador','A','Independiente') insertinto[cuerpotec] values('0019','010','Isdrago','Calderon','Argentina','02/11/1980 ','Loja','Presidente','A','D_Q') insertinto[cuerpotec] values('0020','010','Sebastian','Salazar','Ambato','20/12/1980', 'Loja','Entrenador','A','D_Q') insertinto[cuerpotec] values('0021','011','Andres','Cueva','Ambato','20/12/1980','Ambato','P residente','B','T_U') insertinto[cuerpotec] values('0022','011','Bolivar','Zamora','Puyo','02/11/1988','Ambato','E ntrenador','B','T_U') insertinto[cuerpotec] values('0023','012','Pedro','Gerrero','Riobamba','22/12/1980','Ambato' ,'Presidente','B','Olmedo') insertinto[cuerpotec] values('0024','012','Sandrous','Perez','Ambato','20/12/1980','Riobamba ','Entrenador','B','Olmedo') insertinto[cuerpotec]

27

values('0025','013','Carlos','Caseres','Quito','12/10/1989','Quio','Pr esidente','B','E_P') insertinto[cuerpotec] values('0026','013','Dario','Casares','Ambato','02/12/1980','Ambato',' Entrenador','B','E_P') insertinto[cuerpotec] values('0027','014','Fredy','Losada','Quito','20/12/1980','Ambato','Pr esidente','B','MushuRuna') insertinto[cuerpotec] values('0028','014','Bolivar','Rojas','Ambato','20/12/1990','Ambato',' Entrenador','B','MushuRuna') insertinto[cuerpotec] values('0029','015','Fran','Zalazar','Ambato','20/11/1980','Quito','Pr esidente','B','Glovo') insertinto[cuerpotec] values('0030','015','Gabriel','Lima','Ambato','20/12/1980','Ambato','E ntrenador','B','Glovo') insertinto[cuerpotec] values('0031','016','Ramiro','Gomes','Quito','05/12/1989','Guayaquil', 'Presidente','B','D_P_P') insertinto[cuerpotec] values('0032','016','Sandro','Espinosa','Ambato','20/12/1980','Guayaqu il','Entrenador','B','D_P_P') insertinto[cuerpotec] values('0033','017','David','Prado','Guayaquil','06/12/1989','Guayaqui l','Presidente','B','D_P_A') insertinto[cuerpotec] values('0034','017','Silvio','Gerra','Guayaquil','03/10/1989','Guayaqu il','Entrenador','B','D_P_A') insertinto[cuerpotec] values('0035','018','Hendri','Salazar','Ambato','20/12/1980','Quito',' Presidente','B','U_D_L') insertinto[cuerpotec] values('0036','018','Darwin','Martines','Loja','05/10/1989','Loja','En trenador','B','U_D_L') insertinto[cuerpotec] values('0037','019','Claudio','Padilla','Riobamba','02/12/1996','Guara nda','Presidente','B','Manchester') insertinto[cuerpotec] values('0038','019','Ramiro','Mantilla','Guayaquil','12/11/1989','Riob amba','Entrenador','B','Manchester') insertinto[cuerpotec] values('0039','020','Armando','Casares','Cuenca','25/05/1980','Quito', 'Presidente','B','Quito') insertinto[cuerpotec] values('0040','020','Jorge','Ramires','Loja','05/10/1989','Quito','Ent renador','B','Quito')

28

Resultados select * from[equipos]

29

select * from[personaljugadores]

30

select* from[peradm]

31

select * from[cuerpotec]

32

OPERADOR AND.

33

TABLAS

Tipo de datos
Counter. 4 byte es un nmero incrementado automticamente Currency. 8 byte es un entero escalabre 922.337.203.685.477,5808 y - 922.337.203.685.477,5808 Datetime 8 byte es un valor de fecha u hora entre los aos100 y 9999 SINGLE 4 bytes valor en punto flotante de precisin simple con un rango de -3.402823*1023 a -1.401298-10-45 para valores negativos 1.401298-10-45 a 3.402823*1023 para valores positivos

DOBLE 8 bytes valor en punto flotante de precisin con un rango de -1797693138486232*10308 a -4.94065645841247*10-324 para valores negativos y 4.94065645841247*10-324 a 1797693138486232*10308 para valores positivos SHORT. 2bytes un entero corto enter -32.768 y 32.767 LONG. 4 bytes un entero largo entre -2.147.483.648 a 2.147.483.647 LONGTEXT. 1 byte por carcter. De cero a un mximo de 1.2 gigabytes LONGBYNARY. Seg se necesite. De cero 1 gigabyte. Utilizado para objetos OLE
34

TEXT 1 byte por carcter de cero a 255 caracteres.

Funcin getdate (). Permite visualizar la fecha y hora del sistema. Ejemplo: select getdate () 2013-05-30 19:25:26.373 CONVERT(). Permite convertir una expresin de un tipo de dato a otro. Y es ms utilizado para visualizacin (display) date/time (fecha y hora) en diferentes formatos

Sintaxis. Convert (date_type (length), expresin, style) Date_type - varchar(19), Expression getdate(), Style 106 valor 1 2 3 4 5 6 7 8 10 11 12 14 estilo 0 or 100 101 102 103 104 105 106 107 108 9 or 109 110 111 112 13 or 113 114 20 or 120 21 or 121 126 Input/output Mon dd yyyy hh:miAM(or PM) Mm/dd/yy yy.mm.dd Dd/mm/yy dd.mm.yy dd-mm-yy Dd mon yy Mon dd,yy Hh:mm:ss Mon dd yyyy hh:mi:ss:mm mm-dd-yy Yy/mm/dd Yymmdd Dd mon yyyy hh:mi:ss:mm Hh:mi:ss:mmm(24h) Yyyy-mm-dd hh:mi:ss(24h) Yyyy-mm-dd hh:mi:ss.mmm(24h) Yyyy-mmddThh:mi:ss.mmm (sin espacios) Dd mon yyy hh:mi:ss:mmmAM Dd/mm/yy hh:mi:ss:mmmAM

130 131

35

SELECT CONVERT(VARCHAR(4),getdate(),104) 30.05.2013

EJERCICIOS: (1). May 04 2011 11:45 PM (2). 30-05-13 (3). 30-04-2013 (4). 30 May 13 (5). 30 May 2013 (6). 04 May 2011 19:46:34:243

36

(1). May 04 2011 11:45 PM


SELECTCONVERT(VARCHAR(100),getdate(),0)

May 4 2011 11:45PM

(2). 30-05-13
SELECTCONVERT(VARCHAR(105),getdate(),5)

30-05-13

37

(3). 30-04-2013
SELECTCONVERT(VARCHAR(10),getdate(),105)

30-04-2013

(4). 30 May 13
SELECTCONVERT(VARCHAR(106),getdate(),6)

30May13

38

(5). 30 May 2013


SELECTCONVERT(VARCHAR(106),getdate(),106)

30 May 2013

(6). 04 May 2011 19:46:34:243


SELECTCONVERT(VARCHAR(30),getdate(),113)

04May201119:46:34:510

39

DECLARE. Permite declarar variables Sintaxis. Declare @<variable> as <tipo de dato>

Declare @i as int

SET. Permite asignar valor a una variable Sintaxis Set @<variable> = valor; Set @i = @i + 10; Nota. Toda variable ser antepuesta el carcter @

PRINT. Permite visualizar variables Print valor es:+ convert(varchar,@valor); Visualizar una cadena de caracteres del 1 al 10 Declare @valor as int; Set @valor = 0; While (@valor <=10) Begin Print valor es:+ convert(varchar,@valor); Set @valor=@valor + 1; end

40

Visualizacin de nmeros de la series de Fibonacci


Declare @valor asint,@valor1 asint,@C asint; Set @valor=0; set @valor1=1; While(@valor<8) Begin set @C=@valor+@valor1; Print'valor es:'+convert(varchar,@C); Set @valor1=@valor; set @valor=@C; end
valor valor valor valor valor valor es:1 es:1 es:2 es:3 es:5 es:8

41

Funciones de fecha y hora .NET Framework 4.5 Otras versiones Este tema an no ha recibido ninguna valoracin - Valorar este tema El Proveedor de datos .NET Framework para SQL Server (SqlClient) proporciona funciones de fecha y hora que realizan operaciones en un valor de entrada System.DateTime y devuelven un resultado string, numrico o System.DateTime. Estas funciones estn en el espacio de nombres SqlServer, que est disponible al utilizar SqlClient. La propiedad del espacio de nombres de un proveedor permite a Entity Framework detectar qu prefijo usa este proveedor para estructuras concretas, como los tipos y las funciones. La tabla siguiente muestra las funciones de fecha y hora de SqlClient. Funcin Descripcin

DATEADD( datepart, number, date) Devuelve un valor DateTime nuevo que resulta de sumar un intervalo a la fecha especificada. Argumentos datepart: valor de tipo String que representa qu parte de la fecha se devuelve como el valor nuevo. number: valor de tipo Int32, Int64, Decimal o Double que se usa para incrementar el valor de datepart. date: expresin que devuelve un valor de tipo DateTime, DateTimeOffset o Time con precisin = [0-7], o una cadena de caracteres en un formato de fecha. Valor devuelto Valor de tipo DateTime, DateTimeOffset o Time nuevo con precisin = [0-7]. Ejemplo SqlServer.DATEADD('day', 22, cast('6/9/2006' as DateTime)) DATEDIFF( datepart, startdate, enddate) Devuelve el nmero de lmites de fecha y hora entre dos fechas especificadas. Argumentos datepart: String que representa la parte de la fecha para calcular la diferencia.

42

startdate: la fecha de comienzo para el clculo es una expresin que devuelve un valor de tipo DateTime, DateTimeOffset o Time con precisin = [0-7], o una cadena de caracteres en formato de fecha. enddate: : la fecha de fin para el clculo es una expresin que devuelve un valor de tipo DateTime, DateTimeOffset o Time con precisin = [0-7], o una cadena de caracteres en formato de fecha. Valor devuelto Valor de tipo Int32. Ejemplo SqlServer.DATEDIFF('day', cast('6/9/2006' as DateTime), cast('6/20/2006' as DateTime)) DATENAME( datepart, date) Devuelve una cadena de caracteres que representa el datepart especificado de la fecha especificada. Argumentos datepart: valor de tipo String que representa qu parte de la fecha se devuelve como el valor nuevo. date: expresin que devuelve un valor de tipo DateTime,DateTimeOffset o Time con precisin = [0-7], o una cadena de caracteres en un formato de fecha. Valor devuelto La cadena de caracteres que representa el datepart especificado de la fecha especificada. Ejemplo SqlServer.DATENAME('year', cast('6/9/2006' as DateTime)) DATEPART( datepart, date) Devuelve un nmero entero que representa el datepart especificado de la fecha dada. Argumentos datepart: valor de tipo String que representa qu parte de la fecha se devuelve como el valor nuevo. date: expresin que devuelve un valor de tipo DateTime,DateTimeOffset, o Time con precisin = [0-7], o una cadena de caracteres en un formato de fecha. Valor devuelto El datepart especificado de la fecha especificada como un valor de tipo Int32.
43

Ejemplo SqlServer.DATEPART('year', cast('6/9/2006' as DateTime)) DAY( date ) Devuelve el da de la fecha especificada como un nmero entero. Argumentos date:expresin de tipo DateTime o DateTimeOffset con precisin = 0-7. Valor devuelto Da de la fecha especificada como un valor de tipo Int32. Ejemplo SqlServer.DAY(cast('6/9/2006' as DateTime)) GETDATE() Genera la fecha y hora actuales en el formato interno de SQL Server para los valores datetime. Valor devuelto La fecha y hora actuales del sistema como DateTime con una precisin de 3. Ejemplo SqlServer.GETDATE() GETUTCDATE() Devuelve el valor datetime en formato de hora universal coordinada (UTC) o del meridiano de Greenwich. Valor devuelto El valor DateTime con una precisin de 3 en formato UTC. Ejemplo SqlServer.GETUTCDATE() MONTH( date ) Argumentos date:expresin de tipo DateTime o DateTimeOffset con precisin = 0-7. Valor devuelto Mes de la fecha especificada como un Int32. Ejemplo SqlServer.MONTH(cast('6/9/2006' as DateTime))
44

Devuelve el mes de la fecha especificada como un nmero entero.

YEAR( date ) Devuelve el ao de la fecha especificada como un nmero entero. Argumentos date:expresin de tipo DateTime o DateTimeOffset con precisin = 0-7. Valor devuelto Ao de la fecha especificada como un valor de tipo Int32. Ejemplo SqlServer.YEAR(cast('6/9/2006' as DateTime)) SYSDATETIME() Devuelve un valor DateTime con una precisin de 7. Valor devuelto Valor DateTime con una precisin de 7. Ejemplo SqlServer.SYSDATETIME() SYSUTCDATE() Devuelve el valor datetime en formato de hora universal coordinada (UTC) o del meridiano de Greenwich. Valor devuelto Valor DateTime con una precisin = 7 en formato UTC. Ejemplo SqlServer.SYSUTCDATE() SYSDATETIMEOFFSET()Devuelve un valor DateTimeOffset con una precisin de 7. Valor devuelto Valor DateTimeOffset con una precisin de 7 en formato UTC. Ejemplo SqlServer.SYSDATETIMEOFFSET()

45

SELECTDATENAME(MONT,GETDATE())+ '/'+ DATENAME(YEAR,GETDATE()) Ejemplo SELECT'Hoy es '+DATENAME(weekday,GETDATE())+'/ '+ DATENAME(day,GETDATE())+' de '+ DATENAME(month,GETDATE())+'/'+DATENAME(year,GETDATE()) SELECTDATENAME(MONTH,GETDATE())+'/'+DATENAME(YEAR,GETDATE()) selectconvert(varchar(10),getdate(),103) selectsubstring(convert(varchar(10),getdate(),103),4,7) 1. Hoy es Jueves/ 6 de Junio/2013 1. Junio/2013 1. 06/06/2013 1. 06/2013

SELECTDATENAME(MONTH,GETDATE())+'/'+DATENAME(YEAR,GETDATE())
46

selectconvert(varchar(10), getdate(),103) Junio/2013 06/06/2013

SUBSTRING(). Permite visualizar determinados caracteres de una cadena. Sintaxis. Substring([tipo],cadena,carcter inicial, #caracteres) Visualizar el siguiente format de fecha y hora 06/Jun/2013 20:22:15 selectconvert(varchar(50),getdate(),113) 06 Jun 2013 10:01:56:087

Visualizar el siguiente formato de fecha


47

Mes y ao: 06/2013 selectsubstring(convert(varchar(10), getdate(),103),4,7) 06/2013

Tabla. Informacin de AlmacenesStore_Information


Store_name Quito Ambato Quito Guayaquil Ventas $1500 $250 $300 $700 Fecha 05-may-2013 07-may-2013 08-may-2013 08-may-2013

Comandos SQLDISTINCT Al realizar una consulta puede ocurrir que existan valores repetidos para algunas columnas. (Ayuda a que no redunden los nombres) Select DISTINCT NOMBRE_COLUMNAfromnombre_tabla Select store_name from store_information Select store_name from store_information Quito
48

Ambato Quito Guayaquil Select DISTINCT store_name from store_information Quito Ambato Guayaquil Comandos de SQL AND OR Los operadores AND y OR se utilizan para filtrar resultados con 2 condiciones. El operador AND mostrar los resultados cuando se cumplan las 2 condiciones. Condicin1 AND condicin2 El operador OR mostrar los resultados cuando se cumpla alguna de las 2 condiciones. Condicion1 OR condicion2 Select store_name,ventas from store_information Where ventas >1000 Quito 1500 Select store_name From store_information Where ventas>1000 (v)o(f ) Or(ventas<500and ventas>275)

Comando SQL IN

Store_name Quito Ambato Quito Guayaquil

Ventas $1500 $250 $300 $700

Fecha 05-may-2013 07-may-2013 08-may-2013 08-may-2013

El valor IN me permite buscar un valor predefinido por nosotros

Ejemplo

49

Select* From strore_information WHERE store_nameIN (Quito, Ambato) Store_name Quito Ambato Quito Guayaquil Ventas Fecha $1500 05-may-2013 $250 07-may-2013 $300 08-may-2013 $700 08-may-2013

Select nombre_columna Fromnombre_tabla Wherenombre_colomnaIN (valor1,valor2,valorn)

Ejemplo con el comando DISTINCT con primer ejercicio (campeonatecuatoriano) con la tabla [personaljugadores] Primero ejecutamos la tabla (personaljugadores) de la siguiente manera: Select * from[personaljugadores] Nos da el siguiente resultado:

50

Ahora ejecutemos el comando DISTINCT: Select DISTINCT nombre_per,apellido_per,nombreequipo_per from [personaljugadores] Las columnas que nos va a afectar son: nombre_per,apellido_per,nombreequipo_per De la tabla personaljugadores y nos queda de la siguiente manera

51

Ejemplo con los comandos AND y OR con la tabla equipos Ejecutamos la tabla equipos: select * from[equipos] Nos queda de la siguiente manera
52

Ahora ejecutamos en comando AND: Selectnombre_equ,codigo_equ from[equipos] Wherecodigo_equ>3 Aqu preguntamos si el cdigo_equ(como tenemos en el grafico) es mayor que3 se visualizara primero el nombre_equ que se encuentra en esas posicin, en este caso se visualiza el Nacional primero con su respectivo cdigo_equ

53

Veamos ahora con la ejecucin de los comandos AND y OR en la misma tabla (equipos) Selectnombre_equ,codigo_equ From [equipos] Wherecodigo_equ>1 --(v)o(f ) ----AND y OR Or(codigo_equ<9and codigo_equ>5)

54

Comparemos con el primer grafico de la tabla equipos para darnos cuenta como va funcionando estos comandos

55

En la misma tabla (equipos) vamos aplicar el valor predefinido IN. Seleccionamos el nombre de la columna y el nombre de la tabla: Selectnombre_pad From[peradm]

Escribimos el siguiente cdigo: Selectnombre_equ From[equipos] Wherenombre_equIN ('Nacional','Emelec','Olmedo') Y mandamos a ejecutar las tres lneas de cdigo y se nos visualiza el valor que queremos, en este caso el nombre de los equipos

56

En este grafico nos damos cuenta cmo funciona el valor predefinido IN Comando SQL BETWEEN El operador BETWEEN se utiliza en la clusula WHERE paraseleccionar valores entre un rango de datos. Sintaxis Selectnombre_columna Fromnombre:tabla Wherenombe_columna BETWEEN VALOR1 AND VALOR2

57

Se desea visualizar las fechas desde el 06 de junio hasta el 10 de junio del 2013 Store_name Los ngeles San Diego San Francisco Boston Select * From store_information Where date BETWEEN 06-jun-2013 and 10-jun-2013 Store_name San Diego San Francisco Boston Comandos SQL LIKE. El operador LIKE se utiliza en la clusula WHERE parabuscar por un patrn. Nos permite poner un patrn requerido por el usuario. Sintaxis Select nombre_columna Fromnombre_tabla Where nombre_columnalike (patrn) sales 250 300 700 Date 07-jun-2013 08-jun-2013 08-jun-2013 sales 1500 250 300 700 Date 05-jun-2013 07-jun-2013 08-jun-2013 08-jun-2013

(patrn). Consiste en comodines A_Z: toda lnea que empiece con A y la ltima termine con Z: ABC%: visualizara todas las lneas que empiecen con ABC %XYZ visualizan todas las lneas que terminan con XYZ %AN%. Se visualizaran todas las lneas que contengan AN

58

Select store_name From store_information Where store_name like %AN% Respuesta: Store_name Los ngeles San Diego San Francisco Comando SQL ORDER BY Este comando nos permite enumera el resultado en un orden particular puede ser en orden ascendente / descendente o podra basarse en valores numricos o de texto Por defecto, se ordena de forma ascendente (ASC) segn los valores de la columna. Si se quiere ordenar por orden descendente se utiliza la palabra DES Sintaxis Select nombre_colunma From nombre_tabla Where condicin ORDER BY nombre_columna [ASC, DESC] Loque est dentro [] Significa que la instruccin where es opcional ORDER BY ASC. Mostrar en orden ascendente ORDER BY DESD. Mostrara en orden descendente ORDER BY. Mostrar en orden ascendente Para ordenar ms de una columna ORDER BY nombre_columna [ASC, DESC], nombre2_columna [ASC, DESC] sales 1500 250 300 Date 05-jun-2013 07-jun-2013 08-jun-2013

59

Deseamos enumerar los contenidos de la tabla store_information Store_name Los ngeles San Diego San Francisco Boston sales 1500 250 300 700 Date 05-jun-2013 07-jun-2013 08-jun-2013 08-jun-2013

Ordenar por ventas en forma descendente Select * From store_information ORDER BY sales DESC Los ngeles Boston San Francisco San Diego 1500 700 300 250 05-jun-2013 08-jun-2013 08-jun-2013 07-jun-2013

Ordenar en forma alfabtica Select store_name, sales, date From store_information ORDER BY 2 DESC San Francisco San Diego Los ngeles Boston 300 250 1500 700 07-jun-2013 08-jun-2013 05-jun-2013 08-jun-2013

Ordenar las columnas 3, 1, 2 Select store_name, sales, date From store_information ORDER BY 3, 1,2 Store_name Los ngeles San Diego Boston San Francisco sales 1500 250 700 300 Date 05-jun-2013 07-jun-2013 08-jun-2013 08-jun-2013

60

Comandos SQL FUNCIONES, Sintaxis Select tipo_ funcin (nombre columna) From nombre_tabla Ejemplo: Deseamos obtener la sumatoria de todas las ventas de la siguiente tabla Tabla store_information Store_name Los ngeles San Diego Los ngeles Boston Select sum (sales) From store_information 2750sumatoria de todas las entradas de ventas [] 150+250+300+700.n sales 1500 250 300 700 date 05-jun-2013 07-jun-2013 08-jun-2013 08-jun-2013 AVG COUT MAX MIN SUM */+-

61

Deseamos encontrar el nmero de entrada de negocios de nuestra tabla Store_name Los ngeles San Diego Los ngeles Boston Select cout (store_name) From Store_information Respuesta: 5 sales 1500 250 300 700 date 05-jun-2013 07-jun-2013 08-jun-2013 08-jun-2013

Select cout (DISTINC store_name) From Store_information Respuesta: 4 Funcin SQL GROUP BY Nota: apalabra clave GROUP BY Se utiliza cuando estamos visualizando columnas mltiples desde una tabla o tablas y aparece almenos un operador aritmtico y si esto sucede necesitamos GROUP BY todas las otras columnas seleccionadas acepto las que ira con funcin aritmtico Sintaxis select nombre_columna1, operador Matematico(nombre_columna_numerico) from nombre_tabla [where condicion] GROUP BY nombre_columna Tabla store_information Store_name Los ngeles San Diego Los ngeles Boston sales 1500 250 300 700 date 05-jun-2013 07-jun-2013 08-jun-2013 08-jun-2013

62

Ejercicio: Necesitamos saber las ventas totales para cada negocio en orden alfabtico Select store_name, SUM (sales) From store_information Group by store_name Order by 1 Store_name Boston Los ngeles San Diego Los mayores de 500 sales 700 1800 250

Funcin SQL HAVING Este having es aparecido al where con la condicion que me permite La clusulahaving .. Se coloca general mente cerca del fin de la instruccinSQL puede o no incluir la clusulaGROUP BY Sintaxis Select nombre_columna, sum (nombre_columna2) From nombre_tabla [Group by nombre1_columna] Having (condicin de funcin aritmtica) Ejemplo: Se desea ver solo los negocios con ventas mayores a 500 dlares Tabla store_information Store_name Los ngeles San Diego Los ngeles Boston sales 1800 250 300 700 date 05-jun-2013 07-jun-2013 08-jun-2013 08-jun-2013

63

Select store_name, SUM (sales) From store_information Group by store_name Having sum (sales)>500 Order by 1 Store_name Boston Los ngeles Tabla store_information Store_name Los ngeles San Diego Los ngeles Boston sales 1500 250 300 700 date 05-jun-2013 07-jun-2013 08-jun-2013 08-jun-2013 sales 700 1800

Select estore_name, sum (sales) From store_information Los angeles2750 Sandiego2750 Los angeles2750 Boston 2750 ------------------------Select estore_name, sum (sales) From store_information Group by store_name Los angeles1800 Sandiego250 Boston 700 ------------------------------

64

Select estore_name, sum (sales) From store_information Group by store_name Order by1 Boston 700 Los angeles1800 Sandiego250

Comando SQL alias. Hay dos tipos de alias ALIAS DE COLUMNA Y ALIAS DE TABLA ALIAS DE COLUMNA:existen para ayudar en la organizacin en el resultado puede haber casos donde el ttulo de la columna puede complicarse especialmente si se incluye varias operaciones aritmticas el uso de alias de columna hara el resultado mucho ms legible el segundo tipo de alias es: EL ALIAS DE TABLA:esto se alcanza al colocar un alias directamente luego del nombre de tabla en la clusula from. Esto es conveniente cuando se desea tener informacin de 2 tablas separadas (el trmino tcnico es realizar uniones) la ventaja de utilizar un alias de tabla cuando realizamos uniones Sintaxis Select alias_tabla. nombre_columna1, alias_columna1 From nombre_tabla alias_tabla (Utilizado para lo que es alias de columnas si quiero espacio pongo alias tabla sin ) Tabla store_information Store_name Los ngeles San Diego Los ngeles Boston sales 1500 250 300 700 date 05-jun-2013 07-jun-2013 08-jun-2013 08-jun-2013

Se desea ver las ventas de todos los negocios


65

Select A1.store_name TIENDAS, SUM (A1.sales) VENTAS TOTALES From store_information A1 GROUP BY A1. store_name TIENDAS Los Angeles San Diego Boston Comandos SQL JOIN Sirve para unir 2 o ms tablas Queremos las ventas por ciudades Tabla store_information Store_name Los ngeles San Diego Los ngeles Boston Tabla: Geography Region_name East East West West Store_name Boston New York Loa ngeles San Diego sales 1500 250 300 700 date 05-jun-2013 07-jun-2013 08-jun-2013 08-jun-2013 VENTAS TOTALES 1500 250 700

Select A1.Store_name CIUDAD, SUM (A2.salas) ventas From Geography A1, Store_Information A2 Where A1.Store_name=A2.Store_name Group by A1.Stor_name (Si coloco A2 me produce un error?) CIUDAD Boston Los ngeles New York San Diego
66

VENTAS 700 1500 250

Queremos saber las ventas de los negocios por regin (zona geogrfica) Select A1.region_name REGION, SUM (A2.salas) ventas From Geography A1, Store_Information A2 Where A1.Store_name=A2.Store_name Group by A1.region_name Region_name East West TRIM ("cadena") "cadena" elimina tos los espacios en blanco de la cadena LTRIM("cadena") Todos los espacios en blanco antes de la cadena izquierdo RTRIM("cadena") Para borrar espacios en blanco derecho Store_name 700 2050

ComandoCREATE VIEW. Tablas virtuales Las vistas pueden considerarse como tablas virtuales una tabla tiene un conjunto de definiciones y almacena datos fsicamente una vista tambin tiene un conjunto de definiciones que se construyen en la parte superior de las tablas y no almacenan datos fsicamente Sintaxis CREATE VIEW Nombre_vistaAS INSTRUCCIONE SQL TABLA Coustumer (firs_name char (50), Last_Name char(50), Andress char(50), City char(50),

67

Country char(25), Birth_date date) Deseamos crear una vista denominada v_customer, que contiene solo las columnas First_name, last_name y city. CREATE VIWE v_customer (firs_name char (50), Last_Name char(50), Country char(25),) Select*fromV_Customer firs_name Last_Name Country

Podemos utilizar una vista para aplicar unin a dos tablas Tabla store_information Store_name Los ngeles San Diego Losngeles Boston Tabla Geography Region_name East East West West Store_name Boston New York Los ngeles San Diego Sales 1500 250 300 700 Date 05-jun-2013 07-jun-2013 08-jun-2013 08-jun-2013

Deseamos crear una vista que tenga ventas organizadas segn la regin CREATE VIWE V_REGION_SALES AS SELECT A1.region_name REGION, SUM(A2.SALES)SALES FROM Geography A1, Store_information A2 WHERE A1.strore_name=A2.store_name
68

GROUP BY region_name Select*from V_REGION_SALES REGION East West SALES 700 2050

FUNCIONES ARITMETICAS Trabajan con datos de tipo numrico (incluye los dgitos del 0 al 9). Los literales numricos no se encierran entre comillas. Trabajan con tres clases de nmeros: valores simples, grupo de valores y lista de valores. FUNCIONES DE GRUPO DE VALORES FUNCIONESPROPOSITO AVG (N) COUNT (*EXPRESIN) MAX(EXPRESIN) MIN(EXPRESIN) SUM(EXPRESIN) Calcula el valor numero n ignorando los valores nulos (saca la media).

Cuenta el nmero de veces que la expresin evala un dato con valor no nulo, la opcin *cuenta todas las filas seleccionadas. Calcula el valor mximo de la expresin ms alto. Calcula el mnimo valor de la expresin ms bajo. Suma los valores de las expresiones seleccionadas.

FUNCIONES DE VALORES SIMPLES Son funciones sencillas que trabajan con valores simple entendiendo por valor simple un nmero, variable, una columna de la tabla.

69

Para probar una de estas funciones se suele utilizar la tabla DUAL cuya descripcin es la Siguiente. SQL> desc dual Nombre Nulo? Tipo Funcin ABS(N).- Devuelve el valor absoluto de N. 1. 2. 3. Obtener el valor absoluto de -20. SQL> select ABS(-20) from dual; ABS(-20)

4.

20

Funcin CEIL(N).- Obtiene el valor entero inmediatamente superior o igual al N. Para numero positivos el valor superior de un numero decimal es el siguiente entero y el valor. Superior de un valor entero es el mismo. Ejemplo: CEIL (20.7) 20.2 16 SQL> select ceil (20.7), ceil (20.2), ceil (16) from dual; CEIL (20.7) CEIL (20.2) CEIL(16) 21 21 16

Funcin FLOOR(N).- Es lo contrario de CEIL(N), devuelve el valor entero inmediatamente Inferior o igual a N. SQL> select floor (20.7), floor (20.2), floor (16) from dual; FLOOR (20.7) FLOOR (20.2) FLOOR (16) 20 20 16

Funcin MOD (M, N).- Devuelve el resto resultante de dividir m entre n. 11,4 11,0 10,15 -10,3 10,-3 10.4, 4.5

SQL> select mod(11,4),mod(11,0),mod(10,15),mod(-10,3),mod(10,-3),mod(10.4,4.5) from dual; MOD (11,4) MOD (11,0) MOD (10,15) MOD (-10,3) MOD (10,-3) MOD (10.4,4.5)
70

3 11 10 -1 1 1,4 Funcin NVL (Valor, Expresin).- Esta funcin se utiliza para sustituir un valor nulo por otro valor. Si valor es null es sustituido Expresin si no lo es la funcin devuelve valor. NVL se puede usar con cualquier tipo de datos numrico, carcter, Alfa numricos, etc. valor, Expresin debe ser del mismo tipo, Admiten valor diferente (en determinadas versiones). Con esta funcin se evita los valores nulos en expresiones aritmticas, ya que en ellas siempre daran siempre un resultado nulo. SQL> select salario, comisin, salario + comisin from emple; Funcin POWER (m, exponente).- Esta funcin calcula la potencia de un numero, devuelve el valor de m, elevado a un Exponente 3,4 3,-4 -3,4 4.5,2.4 4.5,2 SQL> select power(3,4),power(3,-4),power(-3,4),power(4.5,2.4),power(4.5,2) from dual; POWER (3,4) POWER (3,-4) POWER (-3,4) POWER (4.5, 2.4) POWER (4.5,2) 81 ,012345679 81 36,9581338 20,25 Funcin ROUND (numero [, m]).- Esta funcin redondea los nmeros con la cantidad indicada de dgitos de precisin. Devuelve el valor de numero redondeado m decimales. Si m es negativo el redondeo de dgitos se lleva a cabo a la izquierda del punto decimal. Si se omite m devuelve numero con cero decimales y redondeados. 1.5634,1 1.5634 1.2234 1.2234,2 1.2676,3 SQL> select round(1.5634,1),round(1.5634),round(1.2234),round(1.2234,2),round(1.2676,3) from dual; ROUND(1.5634,1) ROUND(1.5634) ROUND(1.2234) ROUND(1.2234,2) ROUND(1.2676,3) 1,6 2 1 1,22 1,268 Funcin SIGN (Valor).- Esta funcin indica el signo Valor. Si valor es menor que cero la funcin devuelve -1, y si valor es mayor que cero devuelve 0. SQL> select sign (5) from dual; SIGN (5) 1

71

Funcin TRUNC (numero [, m]).- Trunca los numero para que tengan una cierta cantidad de dgitos de precisin. Devuelve numero Truncado m decimales. m pude ser negativo si lo es trunca por la izquierda del punto decimal. Si se omite m devuelve entre numero con cero decimales. 1.5634,1 1.1684,2 1.662

SQL> select trunc (1.5634,1),trunc(1.1684,2),trunc(1.662) from dual; TRUNC (1.5634,1) TRUNC(1.1684,2) TRUNC(1.662) FUNCIONES DE LISTA Trabajan sobre un grupo de columnas dentro de una misma fila. Comparan los valores de cada una de las columnas en el interior de una fila para obtener el mayor o menor valor de la lista. Funcin GREATEST (valor1, valor2,..).-Obtiene el mayor valor de la lista. Funcin LEAST (valor1, valor2, ).-Obtiene el menor valor de la lista. 1. Obtener por cada alumno la mayor nota y menor nota de cada alumnos.

SQL> select nombre_alumno, 2 greatest (nota1, nota2, nota3)"Mayor_nota" 3, least (nota1, nota2, nota3)"Menor_nota" 4 from notas_alumnos; FUNCIONES DE CADENAS DE CARACTERES. Estas funciones trabajan con datos tipo (CHAR) o (VARCHAR2). Estos datos incluyen cualquier dato alfanumrico: letra, numrico y caracteres especiales. Los literales se deben encerrar entre apostrofe. Funciones que devuelves valores carcter Funciones que devuelven valores carcter. Estas funciones devuelve un carcter o un conjunto de caracteres: una cadena en mayscula, una cadena en minscula y parte de una cadena, etc. Funcin CHR(N).- Devuelve el carcter cuyo valor binario es equivalente a . 1. Devolver las letras cuyo valor ASCII es 75 y 65.

SQL> select CHR (75), CHR (65) from dual;

72

Funcin CONCAT (cad1, cad2).- Es la funcin que concatena cadenas. Devuelve cad1 concatenada con cad2. Esta funcin es equivalente al ||. 2. Obtener el apellido de la siguiente manera: El apellido es:.. apellido. SQL> select concat ('El apellido es:..',apellido) from emple; CONCAT ('ELAPELLIDOES:..',AP Funcin LOWER (CAD).- Devuelve toda la cadena a minscula. 1. TARDE

SQL> select lower ('TARDE') from dual; LOWER Tarde Funcin UPPER (cad).- Devuelve toda la cadena convertida a mayscula. 3. Tarde SQL> select upper ('tarde') from dual; UPPER TARDE Funcin INITCAP (cad).- Convierte la primera letra de cada palabra a mayscula y el resto a minscula. Administracin De Sistemas Informticos SQL> select initcap (nombre_alumno) From notas_alumnos; Funcin LPAD (cad1, n[,cad2]).- Esta funcin aade caracteres a la izquierda de cad1, hasta que alcance una cierta longitud. Devuelve cad1 en longitud de N y ajustado a la derecha. Cad2 es la cadena con la que se rellena por la izquierda, cad1 puede una columna de una tabla o cualquier literal si cad2 se suprime asume como carcter de relleno el blanco. Funcin LTRIM (cad [, set]).- Suprime un conjunto de caracteres a la izquierda de la cadena. El nombre de la cadena puede ser el nombre de una columna o de una tabla o una cadena literal, y SET es la coleccin de caracteres que se van a suprimir. Devuelve entre cad con el grupo e caracteres SET omitidos por la cadena de caracteres. Es el segundo parmetro se omite devuelve la misma cadena. Por defecto si la cadena
73

contiene blanco a la izquierda y se omite el segundo parmetro la funcin devuelve la cadena sin blanco a la izquierda. 5. Utilizar la funcin ltrim sin el segundo parmetro y con una cadena con blanco a la izquierda. SQL> select ltrim (' hola') from dual; LTRI Hola SQL> select ltrim (' hola') || ltrim (' adis') from dual; LTRIM ('HO Holaadios Funcin RTRIM (cad [, set]).- Suprime un conjunto de caracteres a la derecha de la cadena. El nombre de la cadena puede ser el nombre de una columna o de una tabla o una cadena literal, y SET es la coleccin de caracteres que se van a suprimir. Devuelve entre cad con el grupo e caracteres SET omitidos por la cadena de caracteres. Es el segundo parmetro se omite devuelve la misma cadena. Por defecto si la cadena contiene blanco a la derecha y se omite el segundo parmetro la funcin devuelve la cadena sin blanco a la derecha. Funcin REPLACE (cad, cadena_busqueda [, cadena_sustitucion]).- Sustituye un carcter o varios caracteres de una cadena con 0 o ms caracteres. Devuelve cad con cada ocurrencia de encadena de bsqueda sustituida por cadena sustitucin. Sustituir la letra o * a en la cadena blanco y negro. SQL> select replace('blanco y negro','o','a') from dual; REPLACE ('BLANC Blanca y negra Funcin SUBSTR (cad, inicio[,n]).- Extrae una parte de la cadena. Devuelve la subcadena de cad que abarca desde la posicin indicada en inicio hasta tantos caracteres como indique el nmero n. si se omite n devuelve la cadena desde la primera posicin indicada en inicio. El valor de n no puede ser inferior a 1. El valor de inicio puede ser negativo cuyo caso devuelve la cadena empezando por el final yendo de derecha hacia izquierda. Funcin TRANSLATE (cad1, cad2, cad3).- Esta funcin convierte caracteres de una cadena en caracteres diferentes de acuerdo con un plan de substitucin que marca el usuario. Devuelve cad1 con los caracteres encontrado en cad2 y substituido por los caracteres de cad3.
74

Cualquier carcter que no est en cad2 permanece como estaba. 15. SQL PLUS,SQL,123 SQL> select translate ('SQL PLUS','SQL',123) from dual; TRANSLAT 123 P3U1 TABLAS Las tablas con particiones admiten todas las propiedades y caractersticas asociadas con el diseo y consulta de tablas estndar, incluidas las restricciones, los valores predeterminados, los valores de identidad y marca de tiempo, los desencadenadores y los ndices. COMANDOS: ALTER | MODIFICAR

Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar ndices a una tabla, modificar un trigger, etc. Ejemplo (agregar columna a una tabla)

ALTER TABLE 'NOMBRE_TABLA' ADD NUEVO_CAMPO INT UNSIGNED; DROP | ELIMINAR Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, ndice, trigger, funcin, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER. Ejemplo DROP TABLE 'NOMBRE_TABLA';. TRUNCATE | BORRAR TABLA

Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DROP, es que si se quiere borrar todo el contenido de la tabla, es mucho ms rpido, especialmente si la tabla es muy grande

75

Ejemplo

TRUNCATE TABLE 'NOMBRE_TABLA';

Lenguaje de manipulacin de datos DML(Data Manipulation Language) Definicin

Un lenguaje de manipulacin de datos Es un lenguaje proporcionado por el sistema de gestin de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulacin de los datos, organizados por el modelo de datos adecuado. El lenguaje de manipulacin de datos ms popular hoy da es SQL, usado para recuperar y manipular datos en una base de datos relacional. INSERT | INSERTAR

Una sentencia INSERT de SQL agrega uno o ms registros a una (y slo una) tabla en una base de datos relacional. Forma bsica

INSERT INTO 'tabla' ('columna1',['columna2,... ']) VALUES ('valor1', ['valor2,...'])

Las cantidades de columnas y valores deben ser iguales. Si una columna no se especifica, le ser asignado el valor por omisin. Los valores especificados (o implcitos) por la sentencia INSERT debern satisfacer todas las restricciones aplicables. Si ocurre un error de sintaxis o si alguna de las restricciones es violada, no se agrega la fila y se devuelve un error.

76

Ejemplo

INSERT INTO agenda_telefonica (nombre, numero) VALUES ('Roberto Jeldrez', 4886850);

Cuando se especifican todos los valores de una tabla, se puede utilizar la sentencia acortada:

INSERT INTO nombreTabla VALUES ('valor1', ['valor2,...'])

Ejemplo (asumiendo que 'nombre' y 'nmero' son las nicas columnas de la tabla 'agenda_telefonica'):

INSERT INTO agenda_telefonica VALUES ('Jhonny Aguiar', 080473968);

Formas avanzadas

Una caracterstica de SQL (desde SQL-92) es el uso de constructores de filas para insertar mltiples filas a la vez, con una sola sentencia SQL:

INSERT INTO ''tabla'' (''columna1'', [''columna2,... '']) VALUES (''valor1a'', [''valor1b,...'']), (''value2a'', [''value2b,...'']),...; Tipos de Tablas Adems de la funcin estndar de las tablas bsicas definidas por el usuario, SQL Server proporciona los siguientes tipos de tabla, que permiten llevar a cabo objetivos especiales en una base de datos: que se utiliza para acomodar los datos.

77

Tablas con particiones Las tablas con particiones son tablas cuyos datos se han dividido horizontalmente entre unidades que pueden repartirse por ms de un grupo de archivos de una base de datos. Las particiones facilitan la administracin de las tablas y los ndices grandes porque permiten obtener acceso y administrar subconjuntos de datos con rapidez y eficacia al mismo tiempo que mantienen la integridad del conjunto Tiene sentido crear una tabla con particiones si la tabla es muy grande o se espera que crezca mucho Tablas temporales Hay dos tipos de tablas temporales: locales y globales. Las tablas temporales locales son visibles slo para sus creadores durante la misma conexin a una instancia de SQL Server como cuando se crearon o cuando se hizo referencia a ellas por primera vez.

Las tablas temporales locales se eliminan cuando el usuario se desconecta de la instancia de SQL Server. Las tablas temporales globales estn visibles para cualquier usuario y conexin una vez creadas, y se eliminan cuando todos los usuarios que hacen referencia a la tabla se desconectan de la instancia de SQL Server. Tablas del sistema SQL Server almacena los datos que definen la configuracin del servidor y de todas sus tablas en un conjunto de tablas especial, conocido como tablas del sistema. Los usuarios no pueden consultar ni actualizar directamente las tablas del sistema si no es a travs de una conexin de administrador dedicada (DAC) que slo debera utilizarse bajo la supervisin de los servicios de atencin al cliente de Microsoft. Tablas persistentes Son aquellas que permiten que los registros sean eliminados o borrados manualmente y tenemos de tres tipos: Base.- Es en donde se encuentra toda la informacin de todos los registros sin que se haga ninguna validacin adicional. Vistas.- Es una vista o relacin que se hace en referencia a una fila o columna especfica. Instantneos.- Son aquellos registros que se los pueden ver de manera inmediata con solo una referencia.

78

Tablas de datos Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja de clculo. Las tablas se componen de dos estructuras: Campo: Corresponde al nombre de la columna. Debe ser nico y adems de tener un tipo de dato asociado. Registro: Corresponde a cada fila que compone la tabla. All se componen los datos y los registros. CICLOS CONDICIONALES EN SQL SERVER IF... ELSE Testean una condicin; se emplean cuando un bloque de sentencias debe ser ejecutado si una condicin se cumple y si no se cumple, se debe ejecutar otro bloque de sentencias diferente. IF (<expresion>) BEGIN ... END ELSEIF (<expresion>) BEGIN ... END ELSE BEGIN ... END En el ejemplo siguiente se muestra cmo se puede anidar una instruccin IF ELSE dentro de otra. Establezca la variable @Number en 5, 50 y 500 para probar cada instruccin. DECLARE @Number int SET @Number = 50
79

IF @Number > 100 PRINT'El nmero es grande.' ELSE BEGIN IF @Number < 51 PRINT'El nmero es pequeo.' ELSE PRINT'El nmero es elemento.' END;

Begin Y End Se Utiliza Para Colocar Un Segmento O Bloque de codigo En El cuerpo Del If O ElseDonde Usted lo Crea Conveniente Para El Ejemplo Con El Bloque De Codigo . break" y "continue Controlan la operacin de las instrucciones incluidas en el bucle "while". Subconsulta Es posible incorporar una instruccin SQL dentro de otra. Cuando esto se hace en las instrucciones WHERE o HAVING, tenemos una construccin de subconsulta. ESTRUCTURA CONDICIONAL CASE La Sentencia Case Compara Un valor Con Una Lista De Valores Y Ejecuta Una o Ms Sentencias Que Corresponde al Valor que se cumple. Y En Caso De No Cumplirse Devolver Un Valor Por Defecto. CASE CASE <expresion> WHEN <valor_expresion> THEN <valor_devuelto> WHEN <valor_expresion> THEN <valor_devuelto> ELSE <valor_devuelto> END

80

Ejemplo DECLARE @PAIS NVARCHAR(20) SELECT @PAIS = CASE'pe' WHEN'PE'THEN'PERU' WHEN'ME'THEN'MEXICO' WHEN'PI'THEN'PISCO' ElSE'No Existe Registro' END PRINT @PAIS RETURN Es Muy Simple Le Pone fin la instruccin que se ejecuta. AND & OR Para incluir dos o ms condiciones a una consulta. Bucle WHILE Definicion: Un bucle "while" (mientras) en SQL Server 2005 te permite iterar a travs de varios comandos hasta que una condicin de terminacin se cumpla. El bucle "while" puede continuar durante miles de operaciones para incluir varias sentencias de actualizacin, insercin o eliminacin. El bucle WHILE se repite mientras expresin se evalu como verdadero. Es el nico tipo de bucle del que dispone Transact SQL.

Sintaxis: WHILE<expresin> BEGIN ... END

81

Ejemplo: Declare @Contador int set @Contador = 10 while (@Contador > 0) begin print '@Contador = '+CONVERT(NVARCHAR,@Contador) set @Contador = @Contador -1 end Tambin podemos utilizar el bucle WHILE conuntamente con subconsultas. Ejemplo: DECLARE @coRecibo int WHILE EXISTS (SELECT * FROM RECIBOS WHERE PENDIENTE = 'S') -- Ojo, la subconsulta se ejecuta -- una vez por cada iteracion -- del bucle! BEGIN SET @coRecibo = (SELECTTOP 1 CO_RECIBO FROM RECIBOS WHERE PENDIENTE = 'S') UPDATE RECIBOS SET PENDIENTE = 'N' WHERE CO_RECIBO = @coRecibo END Estructura GOTO Definicion: La sentencia goto nos permite desviar el flujo de ejecucin hacia una etiqueta. Fue muy utilizada en versiones anteriores de SQL Server conjuntamente con la variable de sistema @@ERROR para el control de errores.
82

Actualmente, se desaconseja el uso GOTO, recomendndose el uso de TRY - CATCH para la gestin de errores. Ejemplo: DECLARE @divisor int, @dividendo int, @resultado int SET @divisor = 0 SET @resultado = @dividendo/@divisor SET @dividendo = 100

IF @@ERROR > 0 GOTO error

PRINT 'No hay error' RETURN error: PRINT 'Se ha producido una division por cero' DECLARE @divisor int, @dividendo int, @resultado int SET @divisor = 0 SET @resultado = @dividendo/@divisor SET @dividendo = 100

IF @@ERROR > 0 GOTO error PRINT 'No hay error' RETURN error:

83

PRINT 'Se ha producido una division por cero' En el ejemplo siguiente se muestra cmo usar GOTO como mecanismo de bifurcacin. Ejemplo: DECLARE @Counter int; SET @Counter = 1; WHILE @Counter < 10 BEGIN SELECT @Counter SET @Counter = @Counter + 1 IF @Counter = 4 GOTO Branch_One --Jumps to the first branch. IF @Counter = 5 GOTO Branch_Two --This will never execute. END Branch_One: SELECT 'Jumping To Branch One.' GOTO Branch_Three; --This will prevent Branch_Two from executing. Branch_Two: SELECT 'Jumping To Branch Two.' Branch_Three: SELECT 'Jumping To Branch Three.'

STORE PROCEDURES Definicin Un procedimiento almacenado (Storey procedure en ingls) es un programa (o procedimiento) el cual es almacenado fsicamente en una base de datos. Su implementacin vara de un gestor de bases de datos a otro. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una peticin de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y slo necesita enviar sus resultados de regreso al usuario, deshacindose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes. Uso
84

Los usos 'tpicos' de los procedimientos almacenados se aplican en la validacin de datos, integrados dentro de la estructura del banco de datos. Los procedimientos almacenados usados con tal propsito se llaman comnmente disparadores, o triggers. Otro uso comn es la 'encapsulacin' de un API para un proceso complejo o grande que podra requerir la 'ejecucin' de varias consultas SQL, tales como la manipulacin de un 'dataset' enorme para producir un resultado resumido. Ventajas La ventaja de un procedimiento almacenado, en respuesta a una peticin de usuario, est directamente bajo el control del motor del gestor de bases de datos, que corre generalmente en un servidor distinto del gestor de bases de datos aumentando con ello la rapidez de procesamiento de las peticiones del gestor de bases de datos. El servidor de la base de datos tiene acceso directo a los datos necesarios para manipular y slo necesita enviar el resultado final al usuario. Los procedimientos almacenados pueden permitir que la lgica del negocio se encuentre como un API en la base de datos, que pueden simplificar la gestin de datos y reducir la necesidad de codificar la lgica en el resto de los programas cliente. Esto puede reducir la probabilidad de que los datos se corrompan por el uso de programas clientes defectuosos o errneos. Procedimientos almacenados en MySQL Desde MySQL 5 los procedimientos almacenados empezaron a ser soportados, como suele suceder en MySQL las sentencias se ejecutan luego de escribir el signo punto y coma (;), por esta razn antes de escribir el procedimiento almacenado la funcin del punto y coma se asigna a otros caracteres usando la sentencia DELIMITER seguida de un carcter tal como |, de esta manera el procedimiento puede ser escrito usando los punto y comas sin que se ejecute mientras se escribe; despus de escrito el procedimiento, se escribe nuevamente la sentencia DELIMITER ; para asignar al punto y coma su funcin habitual.

STORE PROCEDURES Un store procedure o procedimiento almacenado es un programa dentro de la base de datos que ejecuta una accin o conjunto de acciones especficas. Un procedimiento tiene un nombre, un conjunto de parmetros (opcional) y un bloque de cdigo. Los procedimientos almacenados pueden devolver valores (numrico entero) o conjuntos de resultados. Algunas ventajas de usar procedimientos almacenados Compilacin
85

La primera vez que se invoca un procedimiento almacenado, el motor lo compila y a partirde ah, se sigue usando la versin compilada del mismo, hasta que se modifique o sereinicie el servicio de SQL. Administracin Si hacemos buen uso de los procedimientos almacenados, muchas veces algn cambio ennuestra aplicacin, solo implica modificar un stored procedure y no toda laaplicacin. Seguridad Otra ventaja que tienen es que permiten aplicar un esquema de seguridad ms potente,haciendo que los usuarios que usen nuestra aplicacin, solo tengan permisos para ejecutarprocedimientos almacenados y no a todos los objetos de la base. Trafico de Red Pueden reducir el trfico de la red, debido a que se trabaja sobre el motor (en el servidor),y si una operacin incluye hacer un trabajo de lectura primero y en base a eso realizaralgunas operaciones, esos datos que se obtienen no viajan por la red. Para crear un procedimiento almacenado debemos emplear la sentencia CREATE PROCEDURE. Voy a trabajar con una tabla que se llame clientes, entonces en mi crate procedure debo poner clientes seguido de otra variable para no tener error de objeto tabla.

Ejemplo: CREATE PROCEDURE Clientes_Todo AS() SELECT Id, Nombre (permite realizar consultassobre los datos almacenados en la base de datos.) FROM Clientes Si el procedimiento almacenado ya existe se debe usar la instruccin ALTER PROCEDURE, de lamisma manera que si se estuviera creando. ALTER PROCEDURE: Se utiliza para modificar un procedimiento almacenado Para ejecutar un procedimiento almacenado debemos utilizar la sentencia EXEC. Cuando la ejecucin del procedimiento almacenado es la primera instruccin del lote, podemos omitir el uso de EXEC. CREATE PROCEDURE Clientes_Todo
86

AS() SELECT Id, Nombre FROM Clientes EXEC Clientes_Todo Ejercicio Visualizar la columna Nombre_equ y la columna Serie_equ de la siguiente tabla utilizando el stored procedure Tabla_equipos Cdigo_equ 001 002 003 004 005 006 Nombre_equ Serie_equ Barcelona Emelec Liga UQ Tcnico U Aucas B A A A B Quito Ambato Sede_equ

Guayaquil Guayaquil Quito Ambato

Mushuc Runa B

CREATE PROCEDURE equipos_A_B AS SELECT Nombre_equ,Serie_equ FROM equipos EXEC equipos_A_B Resultado Nombre_equ Serie_equ Barcelona A

87

Emelec Liga UQ Tcnico U Aucas

A A B B

Mushuc Runa B

Argumentos en procedimientos almacenados Los procedimientos almacenados pueden recibir y devolver datos a quien lo llame. Supongamos que ahora necesitamos obtener una sola categora y no todas como el ejemploanterior. Con el siguiente cdigo vamos a visualizar el nombre y una de las dos series de mi Tabla_equipos CREATE PROCEDURE equipos_A_B AS SELECT Nombre_equ, Serie_equ FROM equipos WHERE Serie_equ = 'A' (seleccionarsolamente algunas filas de la tabla que cumplan una determinada condicin.) Para llamar a este stored procedure se usa la misma sintaxis EXEC equipos_A_B Resultado Nombre_equ Serie_equ Barcelona Emelec Liga UQ A A A

Codificacin para SQL SERVER TABLA EQUIPOS createtable[equipos]


88

( [codigo_equ ] varchar(5)notnull, [nombre_equ] varchar(20)null, [serie_equ] varchar(1)null, [num_equ] intnull, [sede_cam] varchar(20)null, constraint PK_equipos Primarykey([codigo_equ]) ) delete from[equipos] where[codigo_equ]='002' ---------------------------select* from[equipos] insertinto [equipos] values('001','Barselona','A','1','Guayaquil') insertinto [equipos] values('002','Emelec','A','2','Guayaquil') insertinto [equipos] values('003','Liga_U','A','3','Quito') -------------------------------------------insertinto [equipos] values('004','Tecnico_U','B','1','Ambato') insertinto [equipos] values('005','Aucas','B','2','Quito') insertinto [equipos] values('006','Mushuc_Runa','B','3','Ambato')
89

CREATED PROCEDURE, Codificacin CREATEPROCEDURE equipos_A_B AS SELECT nombre_equ,codigo_equ FROM equipos EXEC equipos_A_B Cursor en SQL SERVER Un cursor es la forma de procesar los datos fila a fila en lugar de hacerlo por conjunto de resultados. Esta tcnica data desde hace varios aos ya, donde muchos desarrolladores de base de datos como Acces, FoxPro, etc. Lo utilizan de forma muy habitual. Por ejemplo: Podramos tener una consulta que nos retorna a todos los clientes y luego un proceso que recorre cliente por cliente (fila por fila) para poder realizar en cada uno de ellos una actualizacin de algn dato.

3.

Sintaxis

declare variables Declare cursor cursor for select Id, Nombre, Apellido from Estudiantes Open cursor Fetch next from cursor into @ID ,@Nom ,@Ape WHILE @@FETCH_STATUS = 0 BEGIN

90

update Estudiantes set eMail LOWER(SUBSTRING(@Nom,1,3)+@Ape+'@itsbolivar.edu.ec') where id = @Id Fetch next from MyCursor into @ID ,@Nom ,@Ape END Close cursor Deallocate cursor =

Ejercicio Se desea crear correos electrnicos para el colegio Bolivar.

-- Creamos la Base de Datos Create Database debercursor -- Seleccionamos la Base de Datos use debercursor

drop table [Estudiantes] -- Creamos la Tabla Estudiantes create table Estudiantes( Id int identity(1,1) primary key ,Nombre varchar(20) not null ,Apellido varchar(20) not null ,NombreCompleto as Apellido+' '+Nombre ,eMail varchar(40) null

91

-- Insertamos los Registros a la tabla Estudiantes insert into Estudiantes(Nombre, Apellido) values ('Henry','Bucheli') insert into Estudiantes(Nombre, Apellido) values ('Lisette','Cartagena') insert into Estudiantes(Nombre, Apellido) values ('Oscar','Remache') insert into Estudiantes(Nombre, Apellido) values ('Nelson','Hernandez') insert into Estudiantes(Nombre, Apellido) values ('Daysi','Aldaz') insert into Estudiantes(Nombre, Apellido) values ('Dario','Espin')

-- Consultamos todos los registros de la Tabla Estudiantes

select [Id]as [NUMERO], [Nombre] as [NOMBRE], [Apellido] as [APELLIDO], [NombreCompleto] as [NOMBRE COMPLETO], [eMail] as [BOLOMATICO] from [Estudiantes]

-- Creamos y Ejecutamos el Cursor

92

declare @ID int declare @Nom varchar(20) declare @Ape varchar(20)

Declare MyCursor scroll cursor for select Id, Nombre, Apellido from Estudiantes

Open MyCursor Fetch next from MyCursor into @ID ,@Nom ,@Ape WHILE @@FETCH_STATUS = 0 BEGIN update Estudiantes set eMail LOWER(SUBSTRING(@Nom,1,3)+@Ape+'@itsbolivar.edu.ec') where id = @Id =

Fetch next from MyCursor into @ID ,@Nom ,@Ape END

Close MyCursor Deallocate MyCursor

93

select [Id]as [NUMERO], [Nombre] as [NOMBRE], [Apellido] as [APELLIDO], [NombreCompleto] as [NOMBRE COMPLETO], [eMail] as [BOLOMATICO] from [Estudiantes]

Trigger

*Crear un trigger para Ingresar en cargo estados, el estado e00001, esto se va dar cuando ingreso en cargo Create trigger trigger01 on cargo

for insert as begin//comenzar Set nocount on: Insert into cargoestados (nrocargo,idestado,fecha) Select nrocargo 'e00001',getdate() from inserted end

******////// Set nocount on: esto nos va evitar que nos devuelva el mensaje que muestra el recuadro de nmero de filas afectadas por una instruccin o un procedimiento almacenado. /////******

trigger01cargo nrocargo Ca00001 idEstado e00001 fecha 2010-05-12 00.00.00.000

select* fromcargo estados nrocargo


94

idEstado

fecha

Ca00001 Ca00002

e00001 e00002

2010-05-12 00.00.00.000 2010-06-15 00.00.00.000

select* from cargo nrocargo Ca00001 Ca00002 idCliente C00001 C0002 idUsuario U00001 U00002 nroplaca PEL-123 TAZ-935 Id distrito D00001 D00002 total 124.000 540.000

95

Potrebbero piacerti anche