PROGRAMACIÓN AVANZADA II

Conceptos introductorios de SQL
Creando una base de datos
create database admondb

Seleccionar la base de datos creada
use admondb

Vamos a crear la siguiente tabla
Tbempleados
CREATE TABLE IF NOT EXISTS `tbempleados` (
`DocumentoEmpleado` int(11) NOT NULL,
`Nombres` varchar(30) NOT NULL,
`Apellidos` varchar(30) NOT NULL,
`FechaNacimiento` date NOT NULL,
`Sexo` varchar(1) NOT NULL,
`Cargo` varchar(30) NOT NULL,
`Salario` double NOT NULL,
PRIMARY KEY (`DocumentoEmpleado`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Insertando Registros
INSERT INTO tbempleados VALUES ('52235164', 'Yenny Paola', 'Cantor Bernante', '1982-02-08',
'F', 'Secretaria', '1500000');
INSERT INTO tbempleados VALUES ('28271456', 'Diana', 'Luna Ducuara', '1986-11-15', 'F',
'Asistente Gerencia', '2300000');
INSERT INTO tbempleados VALUES ('78742035', 'Franco', 'Simanca Herrera','1999-1207', 'M', 'Mensajero', '950000');

Modificar un registro
UPDATE `admondb`.`tbempleados` SET `Nombres` = 'Franco
Adrian' WHERE `tbempleados`.`DocumentoEmpleado` = 78742035;

Eliminar un registro
DELETE FROM tbempleados WHERE DocumentoEmpleado = 28271456

Backup de la base de datos
El método más utilizado para crear copias de seguridad de MySQL se basa en
el uso del comando mysqldump. Este comando se incluye dentro de las
utilidades del propio servidor MySQL, por lo que ya se instaló cuando instalaste
MySQL. Para comprobar que dispones de mysqldump, abre una consola de
comandos y ejecuta lo siguiente:

lenguaje de consulta estructurado. . Al hacerlo. desde sistemas para ordenadores personales. el comando que debes ejecutar es el siguiente: mysqldump --user=root --password=root acme > copia_seguridad.sql Si por motivos de seguridad no quieres escribir la contraseña como parte del comando.sql Enter password: ********* Restore de la base de datos mysql --user=TU_USUARIO --password=TU_CONTRASEÑA < copia_seguridad. es un lenguaje surgido de un proyecto de investigación de IBM para el acceso a bases de datos relacionales. MySQL te pedirá que escribas la contraseña a mano cada vez que realices una copia de seguridad: mysqldump --user=root -p acme > copia_seguridad. y la mayoría de los sistemas de bases de datos lo soportan. No olvides reemplazar TU_USUARIO y TU_CONTRASEÑA por las credenciales que utilizas para acceder al servidor de base de datos: mysqldump --user=TU_USUARIO --password=TU_CONTRASEÑA NOMBRE_BASE_DE_DATOS > copia_seguridad. Actualmente se ha convertido en un estándar de lenguaje de bases de datos.sql Las consultas en SQL Ingresemos varios registros para poder trabajar un poco mejor las consultas en SQL Qué es SQL? El SQL (Structured Query Language). hasta grandes ordenadores. la contraseña también es root y la base de datos se llama acme.sql Si por ejemplo el usuario es root.mysqldump --version Ejecuta el siguiente comando para realizar una copia de seguridad completa de la base de datos llamada NOMBRE_BASE_DE_DATOS. puedes reemplazar la opción --password=XX por -p.

`MetaVentas` double NOT NULL. TbClientes CREATE TABLE IF NOT EXISTS `tbclientes` ( `CodigoCliente` int(11) NOT NULL. TbProductos CREATE TABLE IF NOT EXISTS `tbproductos` ( `CodigoProducto` int(11) NOT NULL. Las sentencias SQL se clasifican según su finalidad dando origen a tres ‘lenguajes’ o mejor dicho sublenguajes: DDL (Data Description Language). `AsesorAsignado` int(11) NOT NULL. DML (Data Manipulation Language). el SQL nos permite realizar consultas a la base de datos. `NombreProducto` varchar(60) NOT NULL. `Ventas` double NOT NULL. contiene elementos útiles para trabajar en un entorno multiusuario.Como su nombre indica. Pero el nombre se queda corto ya que SQL además realiza funciones de definición. control y gestión de la base de datos. PRIMARY KEY (`CodigoCliente`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1. lenguaje de control de datos. modificar o borrar las tablas en las que se almacenan los datos y de las relaciones entre estas. `Direccion` varchar(80) NOT NULL. TbOficinas CREATE TABLE IF NOT EXISTS `tboficinas` ( `Oficina` int(11) NOT NULL AUTO_INCREMENT. `CodigoFabricante` int(11) NOT NULL. suprimiendo datos antiguos o modificando datos previamente almacenados. la seguridad de las tablas y el establecimiento de restricciones en el acceso. `Region` varchar(30) NOT NULL. lenguaje de definición de datos. PRIMARY KEY (`Oficina`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 . PRIMARY KEY (`CodigoProducto`) . `Existencias` int(11) NOT NULL. en el que es importante la protección de los datos. `LimiteCredito` double NOT NULL. nos permite recuperar los datos almacenados en la base de datos y también incluye órdenes para permitir al usuario actualizar la base de datos añadiendo nuevos datos. (Es el que más varia de un sistema a otro) DCL (Data Control Language). incluye órdenes para definir. `Nombres` varchar(60) NOT NULL. `PrecioUnitario` double NOT NULL. lenguaje de manipulación de datos. asegurando que no interfieren unos con otros. así como elementos para coordinar la compartición de datos por parte de usuarios concurrentes. `Ciudad` varchar(30) NOT NULL. Vamos a crear otras tablas más para trabajarlas a lo largo de los ejemplos.

Consultas Simples select * from tbempleados Select DocumentoEmpleado.AsesorAsignado AS 'Asesor Asignado'.CodigoFabricante. LimiteCredito AS 'Limite de Crédito' FROM `tbclientes` Columnas Calculadas Select CodigoProducto. Apellidos.NombreProducto. Ingrese los suficientes registros en las diferentes tablas para que las consultas que usaremos nos arrojen resultados coherentes.) ENGINE=InnoDB DEFAULT CHARSET=latin1.Existencias.PrecioUnitario. MONTH(FechaNacimiento) AS 'Mes de Nacimiento'.Nombres. (Existencias * PrecioUnitario) AS 'Costo Total' FROM tbproductos SELECT DocumentoEmpleado. Nombres AS 'Nombre o Razón Social'. Nombres.Salario ASC La cláusula DISTINCT y ALL La cláusula TOP .Apellidos FROM tbempleados Alias de Columnas SELECT CodigoCliente. DAY(FechaNacimiento) AS 'Dia de Nacimiento' FROM `tbempleados` Ordenación de filas SELECT SELECT SELECT SELECT SELECT * * * * * FROM FROM FROM FROM FROM tbempleados ORDER BY DocumentoEmpleado ASC tbempleados ORDER BY DocumentoEmpleado DESC tbempleados ORDER BY Nombres ASC tbclientes ORDER BY LimiteCredito DESC tbempleados ORDER BY DocumentoEmpleado.