13
LENGUAJE ESTRUCTURADO DE LENGUAJE ESTRUCTURADO DE CONSULTA “SQL” CONSULTA “SQL” LENGUAJE DE CONTROL DE DATOS “DCL” LENGUAJE DE CONTROL DE DATOS “DCL” LENGUAJE DE DEFINICION DE DATOS “DDL” LENGUAJE DE DEFINICION DE DATOS “DDL” LENGUAJE DE MANIPULACION DE DATOS “DML” LENGUAJE DE MANIPULACION DE DATOS “DML”

LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

Embed Size (px)

Citation preview

Page 1: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

LENGUAJE ESTRUCTURADO LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”DE CONSULTA “SQL”

LENGUAJE DE CONTROL DE DATOS “DCL”LENGUAJE DE CONTROL DE DATOS “DCL” LENGUAJE DE DEFINICION DE DATOS “DDL”LENGUAJE DE DEFINICION DE DATOS “DDL”LENGUAJE DE MANIPULACION DE DATOS “DML”LENGUAJE DE MANIPULACION DE DATOS “DML”

Page 2: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

LENGUAJE DE CONTROL DE LENGUAJE DE CONTROL DE DATOS “DCL”DATOS “DCL” CREAR EL USUARIOCREAR EL USUARIO

SINTAXISSINTAXIS Ejemplo: Ejemplo:

CREATE USER nombre_usuario CREATE USER abeltranCREATE USER nombre_usuario CREATE USER abeltran

IDENTIFIED BY contraseña IDENTIFIED BY contraseña IDENTIFIED BY abeltran; IDENTIFIED BY abeltran;GRANTGRANT

SINTAXISSINTAXIS Ejemplo:Ejemplo:

GRANT privilegios TO usuario;GRANT privilegios TO usuario; GRANT connect, dba TO abeltran;GRANT connect, dba TO abeltran;

Page 3: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

LENGUAJE DE DEFINICION DE LENGUAJE DE DEFINICION DE DATOS “DDL”DATOS “DDL” CREACION DE TABLASSINTAXISCREATE 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)

Page 4: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

TIPO_DATOCaracteres:

VARCHAR(n): Longitud Variable.CHAR(n): Longitud FijaLONG: 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:

DATETIPO_CONSTRAINTCampo:

NOT NULL nnTabla:

PRIMARY KEY pk[FOREIGN KEY …] REFERENCES … fkUNIQUE ukCHECK ckDEFAULT df

Page 5: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

EJEMPLOEJEMPLOCREATE 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),

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));

Para indicar queCampo es

Page 6: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

LENGUAJE DE DEFINICION DE LENGUAJE DE DEFINICION DE DATOS “DDL”DATOS “DDL”

MODIFICACION DE TABLAS Agregar campos

ALTER TABLE nombre_tablaADD(nombre_campo tipo_dato [CONSTRAINT nombre_const tipo_const, … ])

Ejemplo: para empresa colocar fax v(30) obligatorio.ALTER TABLE empresaADD 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_tablaMODIFY(nombre_campo [tipo_dato] [CONSTRAINT nombre_const tipo_const, … ])

Ejemplo: para empresa colocar nombre v(50) y teléfono colocarlo obligatorio.ALTER TABLE empresaMODIFY (nombre VARCHAR(50), telefono CONSTRAINT emp_tel_nn NOT NULL);Nota: Integridad referencial: primary key debo modificar foreign key.

Page 7: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

LENGUAJE DE DEFINICION DE LENGUAJE DE DEFINICION DE DATOS “DDL”DATOS “DDL” MODIFICACION DE TABLAS

Modificar el nombre del campo ALTER TABLE nombre_tabla

RENAME COLUMN nombre_campo TO nombre_campo_nEjemplo: Cambiar el nombre de empresa a razón_social.ALTER TABLE empresaRENAME 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 empresaADD CONSTRAINT emp_raz_uk UNIQUE(razon_social);

ALTER TABLE empresaADD CONSTRAINT emp_val_ck CHECK (valor > 800000);

Page 8: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

LENGUAJE DE DEFINICION DE LENGUAJE DE DEFINICION DE DATOS “DDL”DATOS “DDL”

MODIFICACION DE TABLAS Eliminar constraint (todos)

ALTER TABLE nombre_tablaDROP CONSTRAINT nombre_const;

Ejemplo: colocar opcional la dirección de empresa.ALTER TABLE empresaDROP 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.

Page 9: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

LENGUAJE DE DEFINICION DE LENGUAJE DE DEFINICION DE DATOS “DDL”DATOS “DDL”

MODIFICACION DE TABLAS Cambiar el nombre de una tabla

RENAME nombre_tabla TO nombre_tabla_nuevoEjemplo: 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;

Page 10: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

LENGUAJE DE MANIPULACION DE DATOS

INCLUSIONINSERT INTO nombre_tabla [(lista_columas)]VALUES (lista_datos);Lista_columna: es opcional, se usa cuando se desea dar un orden en la entrada de datos.Lista_datos: Carácter: ‘texto’

Numérico: 99966.25Fecha: 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 empresaVALUES (‘99949’,’pepe’,’Clla’,null);

INSERT INTO empresa (nit,nombre,direccion)VALUES (‘99949’,’pepe’,’Clla’);

&variable: incluir un valor por pantalla.INSERT INTO empresaVALUES (‘&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: nullSql>/ /*Se usa para ejecutar nuevamente la sentencia anterior*/

Page 11: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

Función TO_DATE TO_DATE(‘valor’,’formato’)Formatodd Número del díamm Número del mesmon Tres primeras letras del nombre del mes.month Nombre del mes (usa 9 caracteres)yy Dos último dígitos del año.yyyy Dígitos del año.hh Horami Minutosss Segundosam/pm Formato de 12 horas.hh24 Formato de 24 horaEjemplo:TO_DATE(’12-MAYO-2008’,’DD-MONTH-YYYY’)

Page 12: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

LENGUAJE DE MANIPULACION DE DATOS

Modificar los datosUPDATE nombre_tablaSET nombre_campo=valor, nombre_campo2=valor2[WHERE condición]

Ejemplo:Para los clientes que tengan apellido rojas colocar la dirección cll 21 #18-24

UPDATE clienteSET direccion=‘cll 21 #18-24’WHERE apellido LIKE ‘rojas%’;

Eliminar los datosDELETE FROM nombre_tabla[WHERE condición]

Ejemplo:Eliminar los registros de los pedidos de este año.

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

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

Page 13: LENGUAJE ESTRUCTURADO DE CONSULTA SQL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE CONTROL DE DATOS DCL LENGUAJE DE DEFINICION DE DATOS DDL LENGUAJE DE

Operadores lógicos Básicos>Mayor < Menor >= Mayor Igual <=Menor igual= igual != diferente EspecialesBETWEEN valor_inicial AND valor_final Este en el rango de valoresNOT BETWEEN valor_inicial AND valor_final No este en el rango de valores.IN (lista de valores) Que sea igual a cualquier valor de la lista.NOT IN (lista de valores) Que NO sea igual a cualquier valor de la lista.LIKE ‘patrón’ 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.