Sie sind auf Seite 1von 6

Biblioteca SQL

Marcelo Fernndez-Pacheco Lpez

DESARROLLO DE LA PROGRAMACIN SQL

-- >>> Creacin de la Bade de Datos <<< -use master; if exists (select name from sys.databases where name = 'biblioteca') begin alter database[biblioteca] set single_user with rollback immediate drop database biblioteca end go create database biblioteca; go use biblioteca; create table libros ( codigo int not null, asignatura char(10) not null, titulo varchar(40), autor varchar(40), disponible char(1), constraint pk_libros primary key (codigo) ); create table socios ( nif char(9) not null, nombre varchar(15) not null, apellidos varchar(30) not null, direccion varchar(30), cp char(5), alta datetime not null, constraint pk_socios primary key (nif) ); create table prestamos ( id int not null, nif char(9) not null, codigo int not null, prestamo datetime not null, constraint pk_prestamos primary key (id) );

-2Marcelo Fernndez-Pacheco Lpez

insert into libros values(1, 'I PIL cap', 'El capitn calzoncillos', 'Pilkey, Dav', 'S'); insert into libros values(2, 'I MAS mis', 'El misterio del perro secuestrado', 'Masters, M.', 'S'); insert into libros values(3, 'I LI sec', 'El secreto de los piratas', 'Li', 'S'); insert into libros values(4, 'I DIE mia', 'Mi amigo agapito', 'Dez Barrio, Germn', 'N'); insert into libros values(5, 'I FAR unt', 'Un tiesto lleno de lpices', 'Farias, Juan', 'S'); insert into libros values(6, 'T CHA sse', 'SQL Server 2000', 'Charte, Francisco', 'S'); insert into libros values(7, 'T CHA php', 'Proyectos con PHP 5', 'Charte, Francisco', 'N'); insert into libros values(8, 'T CHA htm', 'La biblia de HTML', 'Charte, Francisco', 'S'); insert into libros values(9, 'G ESL uni', 'En busca del unicornio', 'Eslava Galn, Juan', 'S'); insert into libros values(10, 'G MUN ven', 'Ventanas de Nueva York', 'Muoz Molina, Antonio', 'N'); insert into libros(codigo,asignatura,titulo,autor) values(11, 'G BAL cli', 'Cuentos libertinos', 'Balzak, H.'); insert into socios values('62877137F', 'Alejandro', 'Charte Luque', 'Las Flores, 12', '23021', '2002-04-10'); insert into socios values('23727319S', 'Beln', 'Arcos Trera', 'Betania, 7', '23001', '2003-08-02'); insert into socios values('43229482E', 'Antonio', 'Moreno Pardo', 'Juan Rincn, 2', '23008', '2003-10-01'); insert into socios values('74381725T', 'Francisco', 'Charte Ojeda', 'Las Flores, 12', '23021', '2005-09-06'); insert into prestamos values(1, '62877137F', 4, '2005-02-07'); insert into prestamos values(2, '23727319S', 7, '2005-03-07'); insert into prestamos values(3, '74381725T', 10, '2005-05-07');

-- >>> Consultas en la Base de Datos<<< ---> CONSULTA 01 select * from libros --> CONSULTA 02 select titulo, autor, disponible from libros --> CONSULTA 03 select apellidos, nombre, direccion, cp as 'Codigo Postal' from socios --> CONSULTA 04 select soc.nif, soc.apellidos, soc.nombre, pre.codigo, pre.prestamo from socios soc, prestamos pre --> CONSULTA 05 select distinct autor from libros --> CONSULTA 06 select codigo, autor, titulo from libros where disponible='s'

-3Marcelo Fernndez-Pacheco Lpez

--> CONSULTA 07 select codigo, autor, titulo from libros where disponible='s' and autor='Li' --> CONSULTA 08 select codigo, autor, titulo from libros where disponible='s'and not autor='Masters, M.' --> CONSULTA 09 select asignatura, autor, titulo from libros where asignatura like'T Cha%' --> CONSULTA 10 select asignatura, autor, titulo from libros where asignatura like'% de %' --> CONSULTA 11 select apellidos, nombre, direccion, cp from socios where cp like'230_1' --> CONSULTA 12 select apellidos, nombre from socios where alta between '01-01-2003' and '31-12-2003' --> CONSULTA 13 select apellidos, nombre, direccion, cp from socios where cp in('23001', '23005', '23008') --> CONSULTA 14 select titulo, autor, asignatura from libros where disponible is null or autor is null or asignatura is null --> CONSULTA 15 select asignatura, titulo from libros where codigo in (select codigo from prestamos) --> CONSULTA 16 select titulo as 'Disponible', autor from libros where disponible='s' --> CONSULTA 17 select nif, prestamo, current_timestamp from prestamos --> CONSULTA 18 select apellidos, nombre, cast(current_timestamp - alta as integer) as antiguedad from socios --> CONSULTA 19 select asignatura, titulo, case disponible when 's' then 'SI' when 'n' then 'NO' end as 'Disponibilidad' from libros --> CONSULTA 20 select titulo, autor, asignatura from libros order by titulo asc --> CONSULTA 21 select titulo, autor, asignatura from libros order by --> CONSULTA 22 select titulo, autor from libros order by titulo, autor autor desc

-4Marcelo Fernndez-Pacheco Lpez

--> CONSULTA 23 select titulo, autor from libros order by titulo desc, autor asc --> CONSULTA 24 select autor from libros group by autor --> CONSULTA 25 select current_timestamp --> CONSULTA 26 select current_user --> CONSULTA 27 select session_user --> CONSULTA 28 select system_user --> CONSULTA 29 select power(2,8) select sqrt(256) select power(64.0,1.0/3.0) select power(64, cast(1 as decimal)/ cast(3 as decimal)) --> CONSULTA 30 select 17 % 2 --> CONSULTA 31 select titulo, autor, coalesce(disponible,'Inderteminado') as 'Disponibilidad' from libros --> CONSULTA 32 insert into libros values(12,'G SHA inc','La Incognita de Newton','Shaw, Catherine','S'); --> CONSULTA 33 select * from libros --> CONSULTA 34 insert into socios(nif, nombre, apellidos, alta) Values ('77889911K','Armando','Casas de Bareque',current_timestamp); --> CONSULTA 35 select * from information_schema.columns where table_name='libros' --> CONSULTA 36 insert into socios(nif, nombre, apellidos, alta) Values ('77119911K','Armando','Casas de Bareque',current_timestamp); --> CONSULTA 37 insert into socios values('66378899H','Pedro','Leon Madrid', default, default, current_timestamp); --> CONSULTA 38 select codigo, titulo, disponible from libros update libros set disponible='S' where codigo=10 --> CONSULTA 39 select * from socios update socios set direccion = 'Las Margaritas, 27', cp='23021' where nif='63267827G'

-5Marcelo Fernndez-Pacheco Lpez

--> CONSULTA 40 select nombre, apellidos, direccion from socios where direccion=null update socios set direccion='Desconocido'; select nombre, apellidos, direccion, nif from socios --> CONSULTA 41 select * from prestamos; update libros set disponible='N' where codigo in(select codigo from prestamos); --> CONSULTA 42 select * from socios delete from socios where direccion is null --> CONSULTA 43 begin transaction; delete from prestamos; select * from prestamos; rollback select * from prestamos --> CONSULTA 44 create table libros2 ( codigo int primary key, asignatura char(10) unique not null, titulo varchar(40), autor varchar(40), disponible char(1), constraint sn_disponible check (disponible in ('S', 'N')) ); --> CONSULTA 45 select codigo, asignatura, titulo, autor into tablanueva from libros --> CONSULTA 46 drop table tablanueva --> CONSULTA 47 alter table libros add disponibilidad char(1) default 'S' not null --> CONSULTA 48 create table #tabla_temp ( nombre varchar (40), apellido varchar (50) ); --> CONSULTA 49 begin transaction; update libros set disponible='N' where codigo=1 insert into prestamos values (21, '5324218H', 1, current_timestamp) commit; --> CONSULTA 50 create view consulta_vista as select nombre + ', ' + apellidos as 'Nombre' from socios Nota: Los datos utilizados para este ejemplo, no existen, ni corresponden con nadie.

-6Marcelo Fernndez-Pacheco Lpez

Das könnte Ihnen auch gefallen