Curso de sql 2005 creacion de bases

Solo disponible en BuenasTareas
  • Páginas : 6 (1257 palabras )
  • Descarga(s) : 0
  • Publicado : 28 de febrero de 2011
Leer documento completo
Vista previa del texto
* crear una BD

create database censo
use censo
create table Testados(
est_id tinyint not null,
est_nombre varchar(21))

create table Tmunicipios(
Mun_id_est tinyint not null,
Mun_id smallint not null,
Mun_nombre varchar(456))

alter table Testados add
constraint pkTestados primary key(est_id)

alter table Tmunicipios add
constraint pk_Tmunicipios primary key
(Mun_id_est,Mun_id)

* CREAR TABLAS(7 de octubre CAP 8)
* constraint restricciones a nivel tabla unique
create database prueba
use prueba
create table dept(
deptno numeric(2),
dname varchar(14),
loc varchar(13),
constraint dept_dname_uk unique(dname),
constraint dept_deptno_pk primary key(deptno))

* restricciones llave primaria y foranea

create table emp(
empno numeric(4),
enamevarchar(10) not null,
job varchar(9),
mgr numeric (4,0),
hiredate datetime,
sal numeric(7,2),
deptno numeric(7,2),
constraint emp_empno_pk primary key (empno),
constraint emp_deptno_fk foreign key (deptno)
references dept (deptno),
constraint emp_deptno_ck check (deptno between 10 and 99))
*alteras tabla agregando llave foranea
alter table emp
add constraint emp_mgr_fk foreign key (mgr)references emp (empno)
*alteras la tabla agregando una columna
alter table emp
add comm numeric(7,2)
*alteras tabla eliminando restricciones
alter table emp
drop constraint emp_mgr_fk

* INSERTAR ACTUALIZAR Y BORRAR DATOS(CAP 9)
* insertar 1 registro nuevo
development desarrollo detroit durango miss miguel
finance finanzas

insert into dept (deptno, dname, loc)values (50, 'development', 'detroit');

insert into dept (deptno, dname)
values (60, 'Miss');

* insertar registros con valor NULL
insert into dept
values (70, 'finance', null)

update dept
set dname='finanzas'
where deptno=70

* cap 9(8 de octubre)
* insertando valores especiales
getdate() registra fecha y hora actual
insert into emp(empno, ename, job,mgr, hiredate,sal, comm,deptno)
values (7196,'green','saleman',7782,getdate(),
2000, null,10)

select empno, ename, job, hiredate,comm
from emp
where empno=7196

update emp
set depno=20
where ename='clark'

se afectan todos los reg si omites el where
update emp
set depno=20


* Ejercicios del curso (4 octubre)
use curso
* muestra todo el contenido tabla dept
select *
fromdept
* solo nuetsra 2 atributos
select loc, deptno
from dept
* uso operadores aritmeticos
select ename, sal, sal +300
from emp
* precedencia * / + - se despediran emp
y daran 1 año de sueldo mas 100 de bono
select ename, sal, 12*sal+100
from emp
* se despediran emp y daran 1 año de
sueldo y bono anual de 100
select ename, sal, 12*(sal+100)
from emp
* valor null
selectename, job, comm
from emp
* operación con null da null
select ename, 12*sal+comm
from emp
* alias para columnas
select ename as nombre, sal salario
from emp

select ename "Nombre",
sal*12 "Salario Anual"
from emp
* concatenación.cuando lo usas borra encabezados
select ename + job as "Puestos"
from emp
* concatenación usando literales

select ename + ' ' + 'es' + ' ' +job as
"Detalle de Puestos"
from emp
* eliminacion de renglones duplicados
select distinct deptno
from emp
* afecta a todas las columnas seleccionadas
haciendo una combinacion diferente
select distinct deptno,job
from emp

* terminacion(Cap 9)
*actualizando reg basados en otra tabla
select *
from emp*

update emp
set deptno=(select deptno
from emp
whereempno =7788) /*o 7876 7934 lo cambia a 20*/
where job=(select job
from emp
where empno=7788)

/*update emp
set deptno=10
where job='analyst' a todos los analistas les
ponga depto=10
select *
from emp*/

- - - - -NO HACERLOS-------
* error de integridad no exsite depto 55
* en dept
update emp
set deptno=55
where deptno=10
* borra reg de un tabla
delete...
tracking img