SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases...

Post on 25-Jan-2016

243 views 0 download

Transcript of SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases...

SQLLenguaje Estructurado de Consultas

Structured Query Lenguaje (SQL).

• Lenguaje de acceso a bases de datos.

• Proyecto de Investigación de IBM.

• La mayoria de los sistemas de Bases de Datos lo soportan.

Componentes SQL

DDL(Lenguaje de Definición de Datos)

Encargado de las Modificaciones de la estructura de los Objetos de la bases de Datos.

(Create, ALter y Drop)

DML(Lenguaje de Manipulación de Datos)

Recuperación de Información.Inserción de nueva InformaciónEliminación (borrado) de información existente.Modificación de Información Almacenada.(Update, Insert, Delete)

Tipos de Dominios más comúnmente utilizados en SQL

CHAR(tamaño).Almacena datos de tipo caracterér de longitud fija(0 - 255).

VARCHAR(tamaño).Almacena datos de tipo caracterér de longitud variable.(0 - 255).

Tipos de Dominios más comúnmente utilizados en SQL

Int.Almacena Valores enteros (-2 ^ 31 y 2 ^ 31-1)

SmallInt.Almacena Valores enteros pequeños (-2 ^ 15 y 2 ^ 15-1)

Tipos de Dominios más comúnmente utilizados en SQL

Float.Es un número de coma flotante, de precisióndoble. (-1.79769313486232E308 y -4,94065645841247E-324 para negativos y 4,94065645841247E-324 y 1.79769313486232E308 para positivos)

Numeric(p,d)Es un número de coma flotante, con p digitos y dque es la parte decimal (-10 ^ 38 y 10 ^ 38-1).

Tipos de Dominios más comúnmente utilizados en SQL

Real.Es un número de coma flotante, de precisiónsimple. (-3,402823E38 y -1,401298E-45 para valores

negativos y 1,401298E-45 y 3,402823E38 para valores positivos

Instrucciones en SQL

Create Table

CREATE TABLE <nombre de tabla>

(<nombre de campo1> <tipo> [(<tamaño>)] <restricción>, ..., <nombre de campoN> <tipo> [(<tamaño>)] <restricción>)

<Tipo> Dominios (int, char, etc).

<tamaño> Es usado solo en ciertos tipos de datos (char).

Instrucciones en SQL

Create TableAlgunas Restricciones son

•NULL o Not NULL.•Unique, Indica que no pueden existir 2 fila con el mismo valor para este campo.•Primary Key, Indica que el campos es una llave primaria.•Foreing Key, Indica que el campo es clave Foránea.•Default, Inserta un valor por omisión cuando el registro se crea sin un valor para el campo.

Instrucciones en SQL

Create Table

nro_ped rut_prov

CREATE TABLE PEDIDO ( nro_ped int not null, rut_prov char(10) not null)

PEDIDO

Instrucciones en SQL

Create Index

CREATE [UNIQUE] [ASC[ENDING] | [DES[ENDING]INDEX <Nombre> ON <Tabla>(Columna [, Columna...])

Instrucciones en SQL

Create Index

nro_ped rut_prov

CREATE UNIQUE INDEX Idx_pedido ON PEDIDO (nro_ped)

PEDIDO

Instrucciones en SQL

ALTER TABLE

ALTER TABLE <nombre de tabla> ADD| DROP| MODIFY(especificación de campo(s) ....)

Las especificaciones de campos se hace igual que en el caso de CREATE TABLE.

Instrucciones en SQL

ALTER TABLE

nro_ped rut_prov

ALTER TABLE PEDIDO ADD(FECHA DATE NOT NULL)

PEDIDOfecha

Instrucciones en SQL

DROP TABLE

DROP TABLE <nombre de tabla>

nro_ped rut_prov fechaDROP TABLE pedido

PEDIDO

Instrucciones en SQL

INSERT

INSERT INTO <nombre de tabla> (columna1, columna2,...) VALUES

(valor1, valor2,...)

Instrucciones en SQL

INSERT

nro_ped rutprov

100 15.333.222-1

INSERT INTO PEDIDO(nro_ped,rut_prov,fec)VALUES(130,”50.155.842-K”)

PEDIDO

130 50.155.842-K

Instrucciones en SQL

UPDATE

UPDATE <nombre de tabla> SET <lista de asignaciones> WHERE <condiciones lógicas>

Instrucciones en SQL

UPDATE

nro_ped rut_prov

100 15.333.222-1

130 50.155.842-K

UPDATE PEDIDO SET rut_prov =“60.155.842-K” WHERE nro_ped = 130

PEDIDO

130 60.155.842-K

Instrucciones en SQL

DELETE

DELETE FROM <nombre de tabla> WHERE <condición lógica>

Instrucciones en SQL

DELETE

nro_ped rut_prov

100 15.333.222-1

130 60.155.842-K

DELETE FROM PEDIDO WHERE nro_ped =130

PEDIDO