Download comandos DDL y DML MySQL [Modo de compatibilidad]
Document related concepts
Transcript
23/03/2010 CONTENIDO: 1. Lenguaje SQL 1. Componentes 2. Comandos 3. Clausulas 4. Operadores lógicos 5. Operadores de comparación 6. Funciones de agregado 2. MYSQL 1. Como entrar a MySQL 2. Comandos generales 3. Sintaxis comandos DDL 4. Sintaxis comandos DML Versión original Desarrolla por IBM en 1974 basándose en un modelo matemático 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 después 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 estándar para SQL esto es en 1986. 1 23/03/2010 El lenguaje SQL está compuesto por: Comandos. Cláusulas. Operadores Funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos. DDL: lenguaje de definición de datos permiten crear y definir nuevas tablas, campos, índices, usuarios. Comando Descripción CREATE Utilizado para crear nuevas tablas, campos e índices DROP para eliminar tablas e índices ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos. 2 23/03/2010 DML: Lenguaje de manipulación de datos permiten crear consultas para ordenar, filtrar y extraer los datos de la base de datos. Comando SELECT INSERT UPDATE DELETE Descripción Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado Utilizado para cargar lotes de datos en la base de datos en una única operación. Utilizado para modificar los valores de los campos y registros especificados Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos. Son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular. Cláusula Descripción FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar GROUP BY Utilizada para separar los registros seleccionados en grupos específicos HAVING Utilizada para expresar la condición que debe satisfacer cada grupo ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico 3 23/03/2010 Son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular. Uso Operador AND Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas. OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta. NOT Negación lógica. Devuelve el valor contrario de la expresión. Operador Uso < Menor que > Mayor que <> Distinto de <= Menor ó Igual que >= Mayor ó Igual que = Igual que BETWEEN Utilizado para especificar un intervalo de valores. LIKE Utilizado en la comparación de un modelo IN Utilizado para especificar registros de una base de datos 4 23/03/2010 Se usan dentro de una cláusula SELECT en grupos de registros para devolver un único valor que se aplica a un grupo de registros. Función Descripción AVG Utilizada para calcular el promedio de los valores de un campo determinado COUNT Utilizada para devolver el número de registros de la selección SUM Utilizada para devolver la suma de todos los valores de un campo determinado MAX Utilizada para devolver el valor más alto de un campo especificado MIN Utilizada para devolver el valor más bajo de un campo especificado 1. Iniciamos el servidor WAMP. 2. Abrimos la consola de MySQL 5 23/03/2010 Obtener lista de opciones: mysql> help contents; Versión 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; 6 23/03/2010 Creación de BASES DE DATOS: CREATE DATABASE nombre_base_de_datos; Creación de Tablas Nuevas: CREATE TABLE nombre_tabla ( campo1 tipo (tamaño), campo2 tipo (tamaño), ..., PRIMARY KEY(campo) ); 7 23/03/2010 Cod_dep integer not null, Nombre varchar(20) not null, Ubicacion varchar(20) not null, Primary key(cod_dep)); Creación de Tablas Nuevas- EJEMPLO: DEPARTAMENTO COD_DEP NOMBRE 10 Ventas 20 sistemas 30 Comercial UBICACION Bogotá Cali Pereira Create table departamento( Cod_dep integer not null, Nombre varchar(20) not null, Ubicacion varchar(20) not null, Primary key(cod_dep)); Modificar el Diseño de una Tabla: Adicionar un campo: ALTER TABLE nombre_tabla ADD COLUMN campo tipo tamaño; Eliminar un campo: ALTER TABLE nombre_tabla DROP COLUMN campo; 8 23/03/2010 Modificar el Diseño de una Tabla: -ejemplos 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; Eliminar una base de datos: DROP DATABASE base de datos; Eliminar una tabla: DROP TABLE tabla; 9 23/03/2010 Comandos DML – MySQL INSERT Agrega un registro en una tabla. Se la conoce como una consulta de datos añadidos. 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); 10 23/03/2010 Comandos DML – MySQL INSERT Para insertar Registros de otra Tabla: 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 Si Tabla y TablaOrigen poseen la misma estructura podemos simplificar la sintaxis a: Recordar: Tabla debe tener todos los campos de TablaOrigen (igual nombre e igual tipo). Al insertar un valor en un campo autonumérico se escribe el valor que contenga su campo homólogo en la tabla origen, no incrementandose como le corresponde. Comandos DML – MySQL INSERT Insertar Datos 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 tabulación. Después 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 ; 11 23/03/2010 Comandos DML – MYSQL DELETE Elimina los registros de una o más de las tablas listadas en la cláusula FROM que satisfagan la cláusula WHERE. Una vez que se han eliminado los registros utilizando una consulta de borrado, no puede deshacer la operación. DELETE FROM Empleados WHERE Cargo = 'Vendedor'; Comandos DML – MYSQL UPDATE Crea una consulta de actualización que cambia los valores de los campos de una tabla especificada basándose en un criterio específico. UPDATE no genera ningún resultado. UPDATE Empleados SET Grado = 5 WHERE Grado = 2; UPDATE Productos SET Precio = Precio * 1.1 WHERE Proveedor = 8 AND Familia = 3; Si en una consulta de actualización suprimimos la cláusula WHERE todos los registros de la tabla señalada serán actualizados. UPDATE Empleados SET Salario = Salario * 1.1 ; 12