comandos ddl y dml mysql [modo de compatibilidad] .23/03/2010 2 ellenguajesqlestácompuestopor:...

Download comandos DDL y DML MySQL [Modo de compatibilidad] .23/03/2010 2 EllenguajeSQLestácompuestopor: Comandos

Post on 13-Feb-2019

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

23/03/2010

1

CONTENIDO:

1. Lenguaje SQL1. Componentes2. Comandos3. Clausulas4. Operadores lgicos5. Operadores de comparacin6. Funciones de agregado

2. MYSQL1. Como entrar a MySQL2. Comandos generales3. Sintaxis comandos DDL4. Sintaxis comandos DML

Versin original Desarrolla por IBM en 1974 basndose en un modelo matemtico

del investigador Dr. E. F.Codd, que luego se convierte en el MODELO

RELACIONAL DE DATOS actual.

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado

SQUARE que despus se transform en SQL.

La empresa Relational Software Inc produce ORACLE, el primer sistema

comercial de BD que usa SQL como su lenguaje de consulta.

A mediados de los 80's el American National Standards Institute (ANSI) libera el

primer estndar para SQL esto es en 1986.

23/03/2010

2

El lenguaje SQL est compuesto por:

Comandos.

Clusulas.

Operadores

Funciones de agregado.

Estos elementos se combinan en las instrucciones para crear, actualizar y

manipular las bases de datos.

DDL: lenguaje de definicin de datos

permiten crear y definir nuevas tablas, campos, ndices, usuarios.

Comando Descripcin

CREATE Utilizado para crear nuevas tablas, campos e ndices

DROP para eliminar tablas e ndices

ALTER Utilizado para modificar las tablas agregando campos ocambiando la definicin de los campos.

23/03/2010

3

DML: Lenguaje de manipulacin de datos permiten crear consultas para ordenar, filtrar y extraer los datos de la base de datos.

Comando Descripcin

SELECTUtilizado para consultar registros de la base de datos quesatisfagan un criterio determinado

INSERTUtilizado para cargar lotes de datos en la base de datos en unanica operacin.

UPDATE Utilizado para modificar los valores de los campos y registrosespecificados

Utilizado para modificar las tablas agregando campos ocambiando la definicin de los campos.

DELETE

Son condiciones de modificacin utilizadas para definir los datos que desea

seleccionar o manipular.

Clusula Descripcin

FROMUtilizada para especificar la tabla de la cual se van a seleccionar losregistros

WHEREUtilizada para especificar las condiciones que deben reunir los registros quese van a seleccionar

GROUPBY

Utilizada para separar los registros seleccionados en grupos especficos

HAVING Utilizada para expresar la condicin que debe satisfacer cada grupo

ORDERBY

Utilizada para ordenar los registros seleccionados de acuerdo con un ordenespecfico

23/03/2010

4

Son condiciones de modificacin utilizadas para definir los datos que desea

seleccionar o manipular.

OperadorUso

ANDEs el "y" lgico. Evala dos condiciones y devuelve un valor deverdad slo si ambas son ciertas.

OREs el "o" lgico. Evala dos condiciones y devuelve un valor deverdad si alguna de las dos es cierta.

NOT Negacin lgica. Devuelve el valor contrario de la expresin.

Operador Uso

< Menor que

> Mayor que

Distinto de

= Mayor Igual que

= Igual que

BETWEEN Utilizado para especificar un intervalo de valores.

LIKE Utilizado en la comparacin de un modelo

IN Utilizado para especificar registros de una base de datos

23/03/2010

5

Se usan dentro de una clusula SELECT en grupos de registros paradevolver un nico valor que se aplica a un grupo de registros.

Funcin Descripcin

AVGUtilizada para calcular el promedio de los valores de un campodeterminado

COUNT Utilizada para devolver el nmero de registros de la seleccin

SUMUtilizada para devolver la suma de todos los valores de un campodeterminado

MAX Utilizada para devolver el valor ms alto de un campo especificado

MIN Utilizada para devolver el valor ms bajo de un campo especificado

1. Iniciamos el servidor WAMP.

2. Abrimos la consola de MySQL

23/03/2010

6

Obtener lista de opciones: mysql> help contents;

Versin del servidor de BD: mysql> select version();

Fecha actual: mysql>select current_date;

Usuario actual: mysql>select user();

Ver las bases de datos: mysql> show databases;

Acceder a una base de datos: mysql>use my_base;

Ver las tablas de una base de datos: mysql> show tables;

Ver los campos de una tabla: mysql> describe tabla;

Crear una base de datos: mysql> create database my_base;

23/03/2010

7

Creacin de BASES DE DATOS:

CREATE DATABASE nombre_base_de_datos;

Creacin de Tablas Nuevas:

CREATE TABLE nombre_tabla (campo1 tipo (tamao),campo2 tipo (tamao),...,PRIMARY KEY(campo));

23/03/2010

8

Creacin de Tablas Nuevas- EJEMPLO:

DEPARTAMENTO

COD_DEP NOMBRE UBICACION

10 Ventas Bogot

20 sistemas Cali

30 Comercial Pereira

Cod_dep integer not null,

Nombre varchar(20) not null,

Ubicacion varchar(20) not null,

Primary key(cod_dep));

Cod_dep integer not null,

Nombre varchar(20) not null,

Ubicacion varchar(20) not null,

Primary key(cod_dep));

Create table departamento(

Cod_dep integer not null,

Nombre varchar(20) not null,

Ubicacion varchar(20) not null,

Primary key(cod_dep));

Modificar el Diseo de una Tabla:

Adicionar un campo:

Eliminar un campo:

ALTER TABLE nombre_tabla ADD COLUMN campo tipo tamao;

ALTER TABLE nombre_tabla DROP COLUMN campo;

23/03/2010

9

Agrega un campo Salario de tipo Moneda a la tabla Empleados:

ALTER TABLE Empleados ADD COLUMN Salario CURRENCY;

Elimina el campo Salario de la tabla Empleados.

ALTER TABLE Empleados DROP COLUMN Salario;

Modificar el Diseo de una Tabla: -ejemplos-

Eliminar una base de datos:

DROP DATABASE base de datos;

Eliminar una tabla:

DROP TABLE tabla;

23/03/2010

10

Agrega un registro en una tabla.

Se la conoce como una consulta de datos aadidos.

Esta consulta puede ser de dos tipos:

Insertar un nico registro

Insertar en una tabla los registros contenidos en otra tabla.

Comandos DML MySQL

INSERT

Para insertar un nico Registro:

INSERT INTO nombre_Tabla (campo1, campo2, .., campoN)

VALUES

(valor1, valor2, ..., valorN);

Comandos DML MySQL

INSERT

23/03/2010

11

Para insertar Registros de otra Tabla:

Si Tabla y TablaOrigen poseen la misma estructura podemos simplificar la sintaxis a:

INSERT INTO Tabla [IN base_externa] (campo1, campo2, ...,campoN) SELECT TablaOrigen.campo1, TablaOrigen.campo2, ...,TablaOrigen.campoN FROM TablaOrigen

INSERT INTO Tabla SELECT TablaOrigen.* FROM TablaOrigen

Recordar: Tabla debe tener todos los campos de TablaOrigen (igual nombre e igual tipo).

Al insertar un valor en un campo autonumrico se escribe el valor que contenga su campohomlogo en la tabla origen, no incrementandose como le corresponde.

Comandos DML MySQL

INSERT

Otra forma de insertar datos en una tabla es cargarlos desde un archivo de

texto:

Crear un archivo texto en el BLOC DE NOTAS, conservando el orden de los

campos en la tabla y separados por una tabulacin.

Despus de crear el archivo se escribe el siguiente comando teniendo en cuenta la

ruta donde se guard el archivo:

LOAD DATA LOCAL INFILE 'c://archivo.txt' INTO TABLE nombre_tabla ;

Comandos DML MySQL

INSERT

Insertar Datos

23/03/2010

12

Elimina los registros de una o ms de las tablas listadas en la clusula FROM

que satisfagan la clusula WHERE.

Una vez que se han eliminado los registros utilizando una consulta de borrado,

no puede deshacer la operacin.

DELETE FROM Empleados WHERE Cargo = 'Vendedor';

Comandos DML MYSQL

DELETE

Crea una consulta de actualizacin que cambia los valores de los campos de una tabla

especificada basndose en un criterio especfico.

UPDATE no genera ningn resultado.

Si en una consulta de actualizacin suprimimos la clusula WHERE todos los registros de

la tabla sealada sern actualizados.

UPDATE Empleados SET Grado = 5 WHERE Grado = 2;

UPDATE Productos SET Precio = Precio * 1.1 WHERE Proveedor = 8 AND Familia = 3;

UPDATE Empleados SET Salario = Salario * 1.1 ;

Comandos DML MYSQL

UPDATE