Transcript ejemplo

LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”

LENGUAJE DE CONTROL DE DATOS “DCL”

LENGUAJE DE DEFINICION DE DATOS “DDL”

LENGUAJE DE MANIPULACION DE DATOS “DML”

LENGUAJE DE CONTROL DE DATOS “DCL”

 CREAR EL USUARIO SINTAXIS Ejemplo: CREATE USER nombre_usuario CREATE USER abeltran IDENTIFIED BY contraseña IDENTIFIED BY abeltran;  GRANT SINTAXIS Ejemplo: GRANT privilegios TO usuario; GRANT connect, dba TO abeltran;

LENGUAJE DE DEFINICION DE DATOS “DDL”

 CREACION DE TABLAS SINTAXIS CREATE TABLE nombre_tabla (nombre_campo TIPO_DATO [CONSTRAINT nombre_const TIPO_CONST] … , [CONSTRAINT nombre_const TIPO_CONST] , … , );  PARAMETROS:

NOMBRE

 Debe iniciar en letras, máximo 30 caracteres, y solo acepta caracteres, letras y numeros.

 No pueden existir objetos con el mismo nombre. (Usuarios, Tablas y Constraints)

TIPO_DATO

Caracteres: VARCHAR(n): Longitud Variable.

CHAR(n): Longitud Fija LONG: Longitud variable máximo 2 Gigabytes Numérico: NUMBER(d,s): d indica el número de dígitos y s el numero de dígitos decimales.

Fecha/Hora: DATE

TIPO_CONSTRAINT

Campo: NOT NULL  nn Tabla: PRIMARY KEY  pk [FOREIGN KEY …] REFERENCES …  UNIQUE  CHECK  uk ck DEFAULT  df fk

EJEMPLO

CREATE TABLE empresa (nit VARCHAR(10) CONSTRAINT emp_nit_pk PRIMARY KEY, nombre VARCHAR(30) CONSTRAINT emp_nom_nn NOT NULL, direccion VARCHAR(40) CONSTRAINT emp_dir_nn NOT NULL, Telefono NUMBER(20) ); CREATE TABLE representante (cedula VARCHAR(20) CONSTRAINT rep_ced_pk PRIMARY KEY, nombre VARCHAR(30) CONSTRAINT rep_nom_nn NOT NULL, apellido VARCHAR(30) CONSTRAINT rep_ape_nn NOT NULL, direccion VARCHAR(40) CONSTRAINT rep_dir_nn NOT NULL, Telefono NUMBER(20), Nit_empresa VARCHAR(10) CONSTRAINT rep_nit_emp_nn NOT NULL CONSTRAINT rep_nit_emp_uk UNIQUE CONSTRAINT rep_nit_emp_fk REFERENCES empresa(nit) ); CREATE TABLE pedido (numero VARCHAR(20), Para indicar que Campo es Fecha DATE CONSTRAINT ped_num_nn NOT NULL, nit_empresa VARCHAR(10) CONSTRAINT ped_nit_emp_nn NOT NULL, CONSTRAINT ped_num_pk PRIMARY KEY (numero), CONSTRAINT ped_nit_emp_fk FOREIGN KEY (nit_empresa) REFERENCES empresa (nit));

LENGUAJE DE DEFINICION DE DATOS “DDL”

MODIFICACION DE TABLAS   Agregar campos  ALTER TABLE nombre_tabla ADD(nombre_campo tipo_dato [CONSTRAINT nombre_const tipo_const, … ]) Ejemplo: para empresa colocar fax v(30) obligatorio.

ALTER TABLE empresa ADD fax VARCHAR(30) CONSTRAINT emp_fax_nn NOT NULL ; Nota: Si la tabla tiene datos no se puede agregar con el constraint de not null, agregar el campo sin el constraint, luego llenar los datos y al final colocar el not null.

Modificar campos: tipo y tamaño o agregar NOT NULL  ALTER TABLE nombre_tabla MODIFY(nombre_campo [tipo_dato] [CONSTRAINT nombre_const tipo_const, … ]) Ejemplo: para empresa colocar nombre v(50) y teléfono colocarlo obligatorio.

ALTER TABLE empresa MODIFY (nombre VARCHAR(50), telefono CONSTRAINT emp_tel_nn NOT NULL);

Nota

: Integridad referencial: primary key debo modificar foreign key.

LENGUAJE DE DEFINICION DE DATOS “DDL”

 MODIFICACION DE TABLAS   Modificar el nombre del campo  ALTER TABLE nombre_tabla RENAME COLUMN nombre_campo TO nombre_campo_n Ejemplo: Cambiar el nombre de empresa a razón_social.

ALTER TABLE empresa RENAME COLUMN nombre TO razon_social; Agregar Constraint: Menos NOT NULL  ALTER TABLE nombre_tabla ADD CONSTRANT nombre_const tipo_cont(nombre_campo) Ejemplo: Colocar razón_social unico.

ALTER TABLE empresa ADD CONSTRAINT emp_raz_uk UNIQUE(razon_social); ALTER TABLE empresa ADD CONSTRAINT emp_val_ck CHECK (valor > 800000);

LENGUAJE DE DEFINICION DE DATOS “DDL”

MODIFICACION DE TABLAS   Eliminar constraint (todos)  ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_const; Ejemplo: colocar opcional la dirección de empresa.

ALTER TABLE empresa DROP CONSTRAINT emp_dir_nn; Eliminar una columna  ALTER TABLE nombre_tabla DROP COLUMN nombre_columna;  Consultar los constraints  SELECT CONTRAINT_NAME FROM USER_CONSTRANTS WHERE TABLE_NAME=‘NOMBRE_TABLA’;

NOTA:

NOMBRE_TABLA debe SIEMPRE escribirse en mayúscula.

LENGUAJE DE DEFINICION DE DATOS “DDL”

MODIFICACION DE TABLAS

 

Cambiar el nombre de una tabla

 RENAME nombre_tabla TO nombre_tabla_nuevo Ejemplo: cambiar el nombre de empresa por entidad.

RENAME empresa TO entidad;

Eliminar una tabla

 DROP TABLE nombre_tabla [CASCADE CONSTRAINT]; [CASCADE CONSTRAINT]: se utiliza cuando hay llaves fóraneas en otras tablas.

Ejemplo: eliminar empresa.

DROP TABLE empresa;  No deja eliminar la tabla.

DROP TABLE empresa CASCADE CONSTRAINT;

LENGUAJE DE MANIPULACION DE DATOS

 INCLUSION INSERT INTO nombre_tabla [(lista_columas)] VALUES (lista_datos); Lista_columna: Lista_datos: es opcional, se usa cuando se desea dar un orden en la entrada de datos.

Carácter: ‘texto’ Numérico: 99966.25

Fecha: TO_DATE(’12-30-2008’,’mm-dd-yyyy’) Valor nulo: Explicito: Null (Todos) o ‘’ (carácter o fecha) Implícito: Omitir la columna en la lista.

Ejemplo: INSERT INTO empresa VALUES (‘99949’,’pepe’,’Clla’,null); INSERT INTO empresa (nit,nombre,direccion) VALUES (‘99949’,’pepe’,’Clla’);  &variable: incluir un valor por pantalla.

INSERT INTO empresa VALUES (‘&nit’,’&nom’,’&dir’,&tele); incluya el valor del nit: 99949 incluya el valor del nom: pepe incluya el valor del dir : clla incluya el valor del tele: null Sql>/ /*Se usa para ejecutar nuevamente la sentencia anterior*/

Función TO_DATE

 Formato dd mm mon TO_DATE(‘valor’,’formato’) Número del día Número del mes Tres primeras letras del nombre del mes.

month yy yyyy hh mi ss Nombre del mes (usa 9 caracteres) Dos último dígitos del año.

Dígitos del año.

Hora Minutos Segundos am/pm Formato de 12 horas.

hh24 Formato de 24 hora Ejemplo: TO_DATE(’12-MAYO-2008’,’DD-MONTH-YYYY’)

LENGUAJE DE MANIPULACION DE DATOS

 Modificar los datos UPDATE nombre_tabla Ejemplo: Para los clientes que tengan apellido rojas colocar la dirección cll 21 #18-24 UPDATE cliente SET direccion=‘cll 21 #18-24’ WHERE apellido LIKE ‘rojas%’;  SET nombre_campo=valor, nombre_campo2=valor2 [WHERE condición] Eliminar los datos DELETE FROM nombre_tabla [WHERE condición] Ejemplo: Eliminar los registros de los pedidos de este año.

DELETE FROM pedido WHERE TO_CHAR(fecha,’yyyy’) =‘2008’;

Nota:

[WHERE condición], si se omite modifica o elimina todos los datos.

Operadores lógicos

 Básicos >Mayor = igual < Menor >= Mayor Igual != diferente <=Menor igual  Especiales BETWEEN valor_inicial AND valor_final  Este en el rango de valores NOT BETWEEN valor_inicial AND valor_final  IN (lista de valores)  No este en el rango de valores.

Que sea igual a cualquier valor de la lista.

NOT IN (lista de valores)  LIKE ‘patrón’  Que NO sea igual a cualquier valor de la lista.

se utilizan comodines % cualquier cantidad de caracteres y _ Un carácter cualquiera.

NOT LIKE ‘patrón’ IS NULL  Que el valor sea nulo.

IS NOT NULL  Que el valor no sea nulo.