0% encontró este documento útil (0 votos)
30 vistas3 páginas

Comando BD

Este documento describe diferentes tipos de datos y operadores en Oracle como CHAR, VARCHAR2, NUMBER, DATE y operadores aritméticos. También explica cómo crear, modificar y eliminar tablas así como restricciones como PRIMARY KEY, UNIQUE, NOT NULL y FOREIGN KEY.

Cargado por

Huber Ag Li
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas3 páginas

Comando BD

Este documento describe diferentes tipos de datos y operadores en Oracle como CHAR, VARCHAR2, NUMBER, DATE y operadores aritméticos. También explica cómo crear, modificar y eliminar tablas así como restricciones como PRIMARY KEY, UNIQUE, NOT NULL y FOREIGN KEY.

Cargado por

Huber Ag Li
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

TIPOS DE DATOS DE ORACLE

􀂉 carácter.- CHAR, NCHAR, VARCHAR2, NVARCHAR2


􀂉 Numérico.- NUMBER
􀂉 Long y raw.- LONG, LONG RAW, RAW
􀂉 Fecha y hora.-DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH,INTERVAL DAY TO SECOND
􀂉 Objetos Largos.- CLOB, NCLOB, BCLOB, BFILE
􀂉 identificador de Filas.- ROWID, UROWID
CHAR(<tamaño>)VARCHAR2(<tamaño>)NUMBER(<p>,<s>)DATE
OPERADORES ARITMETICOS
􀂉 + - .-Operador unario: usado para la representación positiva o negativa de un número.
􀂉 + .-Suma: usado para sumar dos valores o expresiones
􀂉 - .-Resta: usado para encontrar la diferencia entre dos valores o expresiones.
􀂉 *.-Multiplicación: Usado para multiplicar dos valores o expresiones.
􀂉 /.-División: Usado para dividir un dato o expresión con otro numero.
OPERADOR DE CONCATENACION Eliminando columnas
(||) son usados como operador de concatenación. #Para este ejemplo eliminamos la columna "fe_nac"
􀂉 'Hola me llamo'||'Juan' el resultado es 'hola me llamo Juan' SQL>alter table alumno column fe_nac;
􀂉 'Hola me llamo '||'Juan' el resultado es 'hola me llamo Juan' #Eliminar un conjunto de columnas
MANEJANDO TABLAS Y CONTRAINTS SQL>alter table alumno drop (fe_nac, telf);

CREANDO TABLAS.- ELIMINANDO TABLAS


SQL> create table alumno( #Este ejemplo elimina la tabla "alumno".
ru varchar(10) not null, SQL>drop table alumno;
nombre varchar(30), #Si es que existen tablas que hacen referencia a la tabla "Alumno", y si
queremos eliminar la tabla alumno, la consulta seria :
ap varchar(30),
SQL>drop table alumno cascade contraints;
f_nac date,
primary key(ru) RENOMBRANDO TABLAS
); #Para este ejemplo, existe la tabla "alumno" y se quiere modificar el nombre
#Con DESCRIBE se puede visualizar la estructura de una tabla. por "estudiantes".
SQL>describe alumno SQL>rename alumno to estudiante;
SQL>desc alumno //o de esta forma MANEJANDO RESTRICCIONES
#Listar Tablas
SQL>select * from tab; (CONSTRAINTS)
Valores por defecto para las columnas NOT NULL, CHECK, UNIQUE, PRIMARY KEY, FOREIGN KEY
SQL>create table alumno( Restricción NOT NULL.
ru varchar(10) not null primary key, #En el ejemplo se crea una tabla con dos columnas que tienen la restricción
nombre varchar(30), NOT NULL.
ap varchar(30), create table alumno(
am varchar(30) default '-', ci integer CONSTRAINT cedulas NOT NULL,
estado integer default 1 nombre varchar(40) NOT NULL,
); ap varchar(40) NOT NULL,
#Ahora insertamos datos en la tabla alumno, pero no insertamos datos “am“ primary key(ci)
los y "estado" );
SQL>insert into alumno(ru,nombre,ap) values(111,'Juan','Paez');
#Listamos la tabla "alumno", y veremos que por defecto se inserto un guion
Restricción CHECK
“-“ en la columna “am“ y "1" en la columna"estado" #En este ejemplo se crea una tabla "sueldo", con la restriccinque el atributo
SQL>select * from alumno; "salario" sea mayor a 100 y menor a 100000.
SQL>create table salario(
Creando una Tabla desde otra tabla ci integer not null,
#El ejemplo supone que se necesita duplicar la estructura y datos de la tabla fecha date not null,
alumno y se crea una tabla llamada"estudiantes". salario float not null,
SQL> create table estudiante as select * from alumno; primary key(ci,fecha),
SQL> desc estudiante; constraint mi_sal check(salario > 100 and salario < 100000)
MODIFICANDO TABLAS );
#Este ejemplo adiciona la restriccin "mi_ci" donde se verifica que "ci" sea
Adicionando Columnas mayor a 100.
#En este ejemplo se Adiciona la columna "fecha_nac" a la tabla "alumno" SQL>alter table sueldo add constraint mi_ci check(ci > 100);
SQL>alter table alumno add fecha_nac date; #también se puede eliminar restricciones
SQL>desc alumno SQL> alter table alex drop constraint mi_sal;
#También se pueden adicionar mas de una columna en una sola consulta, para
tal efecto se deber encerrar entre paréntesis los atributos que se adiciona. Restricción UNIQUE
SQL>alter table alumno La restricción UNIQUE asegura que los atributos definidos con UNIQUE no se
add(telf integer default 0 not null, dupliquen
fe_nac date default sysdate, #En este ejemplo se crea la tabla "Datos" donde el atributo "ci" es único en
dir varchar(30) toda la columna.
); SQL>create table bdatos(
SQL>desc alumno ru integer not null primary key,
ci varchar(10) UNIQUE
Modificando Columnas );
#Para este ejemplo Modificamos el atributo "ap" a varchar(50) #La otra forma seria:
SQL>alter table alumno modify ap varchar(50); SQL>create table datos(
#Este ejemplo modifica un grupo de atributos. ru integer not null primary key,
SQL>alter table xalumno modify (nombre varchar(50), ap varchar(50) ); ci varchar(10) CONSTRAINT cedulas UNIQUE
);
#En caso de tener ya creado la tabla "datos" se adiciona de esta forma:
SQL>alter table datos add cedula integer UNIQUE;
Restricción PRIMARY KEY MODIFICANDO DATOS
#Ejemplo a nivel columna INSERT Adiciona datos a una tabla.
SQL>create table balumno( UPDATE Cambia los valores almacenados en una tabla
ci integer not null primary key, DELETE Elimina filas de una tabla.
nombre varchar(30), #En estos ejemplos insertan datos en la tabla alumno.
ap varchar(30) SQL>insert into alumno(ci,nombre,ap) values(111,'Raul','Peralta');
); SQL>insert into alumno(ci,nombre,ap) select * from bbbbalumno;
#Ejemplo a nivel tabla SQL>insert into alumno select * from estudiante;
SQL>create table balumno( SQL>insert into alumno(ci,nombre,ap,am) values(111,'Raul','Peralta',NULL);
ci integer not null, SQL>insert into aaaalumno(ci,nombre,ap,am) values(111,'Raul','Peralta','');
nombre varchar(30) not null, Insertando en Múltiples tablas
ap varchar(30), La sentencia INSERT puede ser usada para adicionar filas a mas de una tabla.
PRIMARY KEY(ci, nombre) #Ejemplo si tenemos una tabla personas(ci,nombre,ap,genero) y deseamos
); dividir los datos en la tabla hombres(ci, nombre, ap) y mujeres(ci, nombre,
#Lo mismo del anterior definiendo el nombre de la restricción ap).
SQL>create table balumno( SQL>insert all when genero='F' then
ci integer not null, into hombres(ci,nombre,ap) values(ci,nombre,ap)
nombre varchar(30) not null, when genero='M' then
ap varchar(30), into mujeres(ci,nombre,ap) values(ci,nombre,ap)
CONSTRAINT alumnos_cons PRIMARY KEY(ci,nombre) select genero,ci,nombre,ap from personas;
);
Actualizando filas en una tabla
Restricción FOREIGN KEY #Este ejemplo modifica la cantidad de materia y promedio de notas del
La restricción FOREIGN KEY, permite definir a los estudiante con CI=111.
SQL>update
atributos foráneos, aquellos atributos que fueron alumno set(cantmateria,promedio)=(selectcount(*),
herede dados de otra tabla, gracias a esta definición avg((p1+p2+p3)/3)
from nota where (gestion=2005)and(ru=111)
podremos controlar que los datos existentes en la )
columna foránea verifique que también exista en la y de otra forma where ru=111;
tabla a la que se hace referencia. La referencia es al SQL>update alumno set (nombre='Jose Luis', ap='Paez')
where ci=111;
PRIMARY KEY o a la restricción UNIQUE de la
tabla padre. Eliminando Filas de una Tabla.
#Para iniciar con los ejemplos crearemos una tabla padre. La sentencia DELETE es usada para eliminar filas de una tabla.
SQL>create table alumno( #este ejemplo elimina a los estudiantes que no tienen telfonos.
SQL>delete from alumno
ci integer not null PRIMARY KEY,
where ci not in (select ci from telefono );
ru integer UNIQUE,
SQL>delete from alumno
nombre varchar(30)
where ru=111;
);
#Ahora crearemos la tabla telfono que hace referencia a la tabla alumno, a Escribiendo Consultas Simples.
nivel columna. Para realizar ejemplos de las sentencias que se consideran eneste punto,
SQL>create table telefono ( utilizaremos las siguientes tablas :
ci integer not null CONSTRAINT cedulas references alumno(ru, nombre, ap, am, estado)
alumno(ci), materia(sigla, nombre, nivel)
nombre varchar(30) nota(sigla, ru, gestion, pa1, pa2, pa3)
); telefono(ru, numtelf)
#ejemplo es similar al anterior, a nivel tabla.
SQL>create table telefono(
Usando la sentencia SELECT
ci integer not null primary key, La sentencia SELECT es una de las sentencias ms usadas del SQL. Esta
sentencia permite recuperar información almacenada en la base de datos.
numero integer,
#Listar a todos los estudiantes
foreign key(ci) references alumno(ci)
SQL>select ru, nombre, ap, am, estado from alumno;
);
de otra forma:
#Es otra forma de definición.
SQL>select * from alumno;
SQL>create table telefono(
ci integer not null primary key, Alias para las columnas
ru integer, El alias de una columna es definido después del nombre de la columna usando
constraint nombre_cons foreign key(ru) references alumno(ru) la palabra AS o simplemente un espacio en blanco.
); #En este ejemplo se lista el RU y la SIGLA de la tabla nota, con encabezados
#Este ejemplo asume que la tabla "telefono" ya existe y adiciona la restricción que describan a la columna.
FOREIGN KEY al atributo "ci" SQL>select ru as registro_univ, sigla as sigla_materia from nota;
SQL>alter table teléfono add constraint cedulas foreign key(ci) de otra forma:
references alumno(ci); SQL>select registro_univ, sigla sigla_materia from nota;
SQL>alter table telefono add foreign key(ci) references alumno(ci); Asegurando filas únicas
#Este ejemplo asume que la tabla "telefono" ya existe y adiciona la restricción #Listar los registros universitarios de la tabla "nota".
FOREIGN KEY, esta vez la referencia es a un atributo con definición SQL>select ru from nota;
UNIQUE. El resultado de esta consulta son registros universitarios(ru) repetidos por que
SQL>alter table telefono add foreign key(ru) references alumno(ru); un "ru" puede estar relacionado con varias materias(sigla)
#Este ejemplo elimina en cascada los datos de la tabla "telefono" cuando una #Eliminando filas repetidas en la anterior consulta.
fila es eliminada en la tabla "alumno" SQL>select DISTINCT ru from nota;
SQL>alter table telefono add foreign key(ru) De otra forma:
references alumno(ru) ON DELETE CASCADE; SQL>select UNIQUE ru from nota;
#Este ejemplo anula las filas de la tabla "telfono" cuando una fila es eliminada
en la tabla "alumno"
SQL>alter table telefono add foreign key(ru)
references alumno(ru) ON DELETE SET NULL;
Limitando Filas
#Listar las materias que curso el estudiante con ru=111;
SQL>select ru, sigla, gestion from nota where (ru=111);
#Listar las materias(sigla) y notas finales del estudiante Juan Paez con ru=111
en la gestión 2005
SQL>select ru, sigla,((pa1+pa2+pa3)/3)
from nota where (ru=111)and(gestion=2005);
IS NULL y IS NOT NULL
#Listar los apellidos maternos(am) con datos NULL
SQL>select ru, nombre, ap from alumno where (am is null);
#Listar a los estudiantes que no tengan nulos en su primerparcial(pa1), gestión
2005 y materia
INF-121.
SQL>select ru, sigla from nota where (pa1 not is null)and(sigla='INF-121');
LIKE
Este operador compara caracteres. Para las comparaciones se Utilizan los
símbolos :
% = cero o ms caracteres. _ = Un carácter.
#Listar a todos los estudiantes que su apellido paterno(ap) comience con la
vocal 'A'.
SQL>select ru, nombre, ap, am from alumno where (ap LIKE 'A%');
#Para este ejercicio se utiliza el carácter '%' para indicar que puede continuar
cualquier carácter.
#Listar a todos los estudiantes que su apellido paterno solo tenga 4 caracteres.
SQL>select ru, nombre, ap, am from alumno where (ap LIKE '____')
#Esta consulta se utiliza 4 veces '_', para indicar que el apellido puede tener a
lo sumo 4 caracteres.
#Lista a todos los estudiantes que su nombre tenga mínimamente 3 vocales 'a'.
SQL>select * from alumno where (nombre LIKE '%a%a%a%');
Esta consulta inserta en la condición 3 caracteres 'a', luego se utiliza el '%'
para indicar que el nombre puede iniciar con cualquier carácter y lo mismo
para finalizar.
BETWEEN
El operador BETWEEN es usado para comparar un rango de valores.
#Seleccionar a todos los estudiantes(ru) que en su parcial 1(pa1) tenga desde
40 hasta 50, en la materia INF-111, gestión 2005.
SQL>select ru from nota where (gestion=2005)and(pa1 BETWEEN 40 AND 50);
#Seleccionar a todos los estudiantes que en su nota final haya obtenido entre
90 a 100, en la materia INF-111, gestin 2005.
SQL>select ru,((pa1+pa2+pa3)/3) from alumno
where (sigla='INF-111')and(gestion=2005)
and(((pa1+pa2+pa3)/3) BETWEEN 90 AND 100);
En este ejemplo como no se tiene la nota final, lo que se hace es calcular la
nota final, en base a los parciales.
IN y NOT IN
Los operadores IN y NOT IN son usados para comparar un valor con cada
valor de la lista o subconsulta. Con el operador IN se Lic. Octavio Aguilar M.
44 verifica si un valor esta incluido en la lista o subconsulta, y con NOT IN se
niega lo anterior.
#Listar a los estudiantes que no tienen telefonos.
SQL>select nombre, ap, am from alumno
where ru NOT IN ( select ru from telefono)
En la consulta se compara el ru generado por la tabla alumno con los ru's de
estudiantes con teléfonos.
#Listar las materias que fueron programadas en la gestión 2005.
SQL>select sigla, nombre from materia
where sigla IN (select sigla from nota where gestion=2005);

También podría gustarte