Taller Evaluativo SQL Ya - Ar

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

TALLER EVALUATIVO DE REFUERZO SEGUNDO PARCIAL 1.

Mostrar las bases de datos existentes en el servidor de base de datos del sitio mysqlya.com.ar 2. Mostrar las tablas existentes en la Base de datos encontrada. 3. Queremos almacenar los datos de nuestros amigos. a.- Elimine la tabla "agenda" si existe: b.- Cree una tabla llamada "agenda", debe tener los siguientes campos: nombre varchar(20) domicilio varchar(30) y telefono varchar(11) c- Intente crearla nuevamente. Aparece mensaje de error. Cual? d- Visualice las tablas existentes e- Visualice la estructura de la tabla "agenda" f- Elimine la tabla, si existe g- Intente eliminar la tabla sin la clausula if exists Debe aparecer un mensaje de error cuando no existe la tabla. Cual? 4. Trabaje con la tabla "basecurso". a- Elimine la tabla "basecurso", si existe: b- Cree una tabla llamada "basecurso". Debe tener los siguientes campos: nombre (cadena de 30), correo (cadena de 30) y celular (cadena de 12): c- Visualice las tablas existentes para verificar la creacion de "basecurso". d- Visualice la estructura de la tabla "basecurso". e- Ingrese los siguientes registros: Alberto Mores - [email protected] 3164234567 Maria Perdomo - [email protected] 3101256321 Jaime Cuartas - [email protected] 3123455432 f- Seleccione y mustre todos los registros de la tabla: 5. Problema: Un videoclub que alquila peliculas en video almacena la informacion de sus peliculas en una tabla llamada "peliculas"; para cada pelicula necesita los siguientes datos: -nombre -actor -duracion -cantidad de copias a- Elimine la tabla, si existe:

b- Cree la tabla eligiendo el tipo de dato adecuado para cada campo: c- Vea la estructura de la tabla: d- Ingrese cinco registros e- Muestre todos los registros: f- Seleccione el nombre de todos los registros de la tabla. g- Seleccione el registro cuyo numero de copias sea mayor de tres h- Seleccione el registro cuyo actor sea Bruce Willis i- Muestre los datos de quienes tengan druacion de 2 horas 6. Problema: Un comercio que vende articulos de computacion registra los datos de sus articulos en una tabla con ese nombre. a- Elimine "articulos", si existe: b- Cree la tabla, con la estructura que almacene el Ingreso de los siguientes registros: codigo, nombre, descripcion, precio,cantidad 1,'impresora','Epson Stylus C45',400000.80 2,'impresora','Epson Stylus C85',500000,30 3,'monitor','Samsung 14',800000,10 4,'teclado','ingles Biswal',100000,50 5,'teclado','espaol Biswal',90000,50 e- Seleccione todos los registros de la tabla. (select). f- Muestre los datos de las impresoras. g- Seleccione los articulos cuyo precio sea mayor o igual a 500000: h Seleccione los art culos cuya cantidad sea menor a 30: i- Selecciones el nombre y descripcion de los articulos que no cuesten $100000 j- Visualice la estructura de la tabla "articulos" k- Elimine el registro cuyo nombre sea monitor l- Elimine los registros cuyo codigo sea menor de 4 7.Problema: Trabaje con la tabla "libros" de una librer a. a- Elimine la tabla si existe. b- Creala con los siguientes campos y clave: codigo (integer), titulo (cadena de 20 caracteres de longitud), autor (cadena de 30), editorial (cadena de 15), codigo ser clave primaria:

c- Visualice la estructura de la tabla "libros", compruebe la clave primaria. d- Ingrese los siguientes registros: 1,El aleph,Borges,Planeta; 2,Martin Fierro,Jose Hernandez,Emece; 3,Aprenda PHP,Mario Molina,Emece; 4,Cervantes y el quijote,Borges,Paidos; 5,Matematica estas ahi, Paenza, Paidos; e- Seleccione todos los registros. f- Ingrese un registro con cdigo no repetido y nombre de autor repetido. h- Ingrese un registro con cdigo no repetido y t tulo y editorial repetidos. i- Intente ingresar un registro que repita el campo clave (aparece mensaje de error por clave repetida).

PASOS DEL 1 AL 11 PUNTO. MySQL YA.AR


1SQL, Structure Query Language (Lenguaje de Consulta Estructurado) es un lenguaje de programacion para trabajar con base de datos relacionales como MySQL, Oracle, etc. MySQL es un interpretador de SQL, es un servidor de base de datos. MySQL permite crear base de datos y tablas, insertar datos, modificarlos, eliminarlos, ordenarlos, hacer consultas y realizar muchas operaciones, etc., resumiendo: administrar bases de datos. Ingresando instrucciones en la linea de comandos o embebidas en un lenguaje como PHP nos comunicamos con el servidor. Cada sentencia debe acabar con punto y coma (;). La sensibilidad a maysculas y minsculas, es decir, si hace diferencia entre ellas, depende del sistema operativo, Windows no es sensible, pero Linux si. Por ejemplo Windows interpreta igualmente las siguientes sentencias: PROBLEMA RESUELTO create database administracion; Create DataBase administracion; Pero Linux interpretar como un error la segunda. Se recomienda usar siempre minsculas. Es ms el sitio mysqlya.com.ar est instalado sobre un servidor Linux por lo que todos los ejercicios debern respetarse maysculas y minsculas. 2Una base de datos es un conjunto de tablas. Una base de datos tiene un nombre con el cual accederemos a ella. Vamos a trabajar en una base de datos ya creada en el sitio mysqlya.com.ar, llamada "administracion". Para que el servidor nos muestre las bases de datos existentes, se lo solicitamos enviando la instruccin: PROBLEMA RESUELTO show databases; Nos mostrar los nombres de las bases de datos, debe aparecer en este sitio "administracin". 3Una base de datos almacena sus datos en tablas. Una tabla es una estructura de datos que organiza los datos en columnas y filas; cada columna es un campo (o atributo) y cada fila, un registro. La interseccin de una columna con una fila, contiene un dato especfico, un solo valor. Cada registro contiene un dato por cada columna de la tabla. Cada campo (columna) debe tener un nombre. El nombre del campo hace referencia a la informacin que almacenar. Cada campo (columna) tambin debe definir el tipo de dato que almacenar. nombre clave MarioPerez Marito

MariaGarcia Mary DiegoRodriguez z8080 Grficamente ac tenemos la tabla usuarios, que contiene dos campos llamados:nombre y clave. Luego tenemos tres registros almacenados en esta tabla, el primero almacena en el campo nombre el valor "MarioPerez" y en el campo clave "Marito", y as sucesivamente con los otros dos registros. Las tablas forman parte de una base de datos. Nosotros trabajaremos con la base de datos llamada "administracion", que ya hemos creado en el servidor mysqlya.com.ar. Para ver las tablas existentes en una base de datos tipeamos: show tables; Deben aparecer todas las tablas que han creado los visitantes al sitio mysqlya.com.ar Al crear una tabla debemos resolver qu campos (columnas) tendr y que tipo de datos almacenarn cada uno de ellos, es decir, su estructura. La tabla debe ser definida con un nombre que la identifique y con el cual accederemos a ella. Creamos una tabla llamada "usuarios", tipeamos: create table usuarios ( nombre varchar(30), clave varchar(10) ); Si intentamos crear una tabla con un nombre ya existente (existe otra tabla con ese nombre), mostrar un mensaje de error indicando que la accin no se realiz porque ya existe una tabla con el mismo nombre. Para ver las tablas existentes en una base de datos tipeamos nuevamente: show tables; Ahora aparece "usuarios" entre otras que ya pueden estar creadas. Cuando se crea una tabla debemos indicar su nombre y definir sus campos con su tipo de dato. En esta tabla "usuarios" definimos 2 campos: - nombre: que contendr una cadena de hasta 30 caracteres de longitud, que almacenar el nombre de usuario y - clave: otra cadena de caracteres de 10 de longitud, que guardar la clave de cada usuario. Cada usuario ocupar un registro de esta tabla, con su respectivo nombre y clave. Para ver la estructura de una tabla usamos el comando "describe" junto al nombre de la tabla: describe usuarios; Aparece lo siguiente: Field Type Null _________________________ nombre varchar(30) YES clave varchar(10) YES Esta es la estructura de la tabla "usuarios"; nos muestra cada campo, su tipo, lo que ocupa en bytes y otros datos como la aceptacin de valores nulos etc, que veremos ms adelante en detalle. Para eliminar una tabla usamos "drop table". Tipeamos: drop table usuarios; Si tipeamos nuevamente: drop table usuarios; Aparece un mensaje de error, indicando que no existe, ya que intentamos borrar una tabla inexistente. Para evitar este mensaje podemos tipear: drop table if exists usuarios; En la sentencia precedente especificamos que elimine la tabla "usuarios" si existe PROBLEMA RESUELTO drop table if exists usuarios; create table usuarios ( nombre varchar(30), clave varchar(10) );

describe usuarios; 4Un registro es una fila de la tabla que contiene los datos propiamente dichos. Cada registro tiene un dato por cada columna. Recordemos como crear la tabla "usuarios": create table usuarios ( nombre varchar(30), clave varchar(10) ); Al ingresar los datos de cada registro debe tenerse en cuenta la cantidad y el orden de los campos. Ahora vamos a agregar un registro a la tabla: insert into usuarios (nombre, clave) values ('MarioPerez','Marito'); Usamos "insert into". Especificamos los nombres de los campos entre parntesis y separados por comas y luego los valores para cada campo, tambin entre parntesis y separados por comas. La tabla usuarios ahora la podemos graficar de la siguiente forma: nombre clave MarioPerez Marito Es importante ingresar los valores en el mismo orden en que se nombran los campos, si ingresamos los datos en otro orden, no aparece un mensaje de error y los datos se guardan de modo incorrecto. Note que los datos ingresados, como corresponden a campos de cadenas de caracteres se colocan entre comillas simples. Las comillas simples son OBLIGATORIAS. Para ver los registros de una tabla usamos "select": select nombre,clave from usuarios; Aparece un registro. El comando "select" recupera los registros de una tabla. Luego del comando select indicamos los nombres de los campos a rescatar PROBLEMA RESUELTO drop table if exists usuarios; create table usuarios ( nombre varchar(30), clave varchar(10) ); insert into usuarios(nombre,clave) values ('MarioPerez','Marito'); insert into usuarios(nombre,clave) values ('MariaGarcia','Mary'); insert into usuarios(nombre,clave) values ('DiegoRodriguez','z8080'); select nombre,clave from usuarios; 5Ya explicamos que al crear una tabla debemos resolver qu campos (columnas) tendr y que tipo de datos almacenar cada uno de ellos, es decir, su estructura. Estos son algunos tipos de datos bsicos: - varchar: se usa para almacenar cadenas de caracteres. Una cadena es una secuencia de caracteres. Se coloca entre comillas (simples): 'Hola'. El tipo "varchar" define una cadena de longitud variable en la cual determinamos el mximo de caracteres. Puede guardar hasta 255 caracteres. Para almacenar cadenas de hasta 30 caracteres, definimos un campo de tipo varchar(30). Si asignamos una cadena de caracteres de mayor longitud que la definida, la cadena se corta. Por ejemplo, si definimos un campo de tipo varchar(10) y le asignamos la cadena 'Buenas tardes', se almacenar 'Buenas tar' ajustndose a la longitud de 10 caracteres. - integer: se usa para guardar valores numricos enteros, de -2000000000 a 2000000000 aprox. Definimos campos de este tipo cuando queremos representar, por ejemplo, cantidades. - float: se usa para almacenar valores numricos decimales. Se utiliza como separador el punto (.). Definimos campos de este tipo para precios, por ejemplo. Antes de crear una tabla debemos pensar en sus campos y optar por el tipo de dato adecuado para cada uno de ellos. Por ejemplo, si en un campo almacenaremos nmeros enteros, el tipo

"float" sera una mala eleccin; si vamos a guardar precios, el tipo "float" es correcto, no as "integer" que no tiene decimales. PROBLEMA RESUELTO drop table if exists libros; create table libros ( codigo integer, titulo varchar (20), autor varchar (30), precio float ); insert into libros(codigo,titulo,autor,precio) values (1,'MySQL a fondo','Rodriguez Pablo',70.52); insert into libros(codigo,titulo,autor,precio) values (2,'PHP 5','Rios Juan',20); insert into libros(codigo,titulo,autor,precio) values (3,'JSP 1.1','Rosales Ana',27.75); select * from libros; 6. Hemos aprendido cmo ver todos los registros de una tabla: select * from libros; El comando "select" recupera los registros de una tabla. Con el asterisco (*) indicamos que seleccione todos los campos de la tabla que nombramos. Podemos especificar el nombre de los campos que queremos ver separndolos por comas: select titulo,autor,editorial from libros; En la sentencia anterior la consulta mostrar slo los campos "titulo", "autor" y "editorial". En la siguiente sentencia, veremos los campos correspondientes al ttulo y precio de todos los libros: select titulo,precio from libros; Para ver solamente la editorial y la cantidad de libros tipeamos: select editorial,cantidad from libros; PROBLEMA RESUELTO drop table if exists libros; create table libros( titulo varchar(20), autor varchar(30), editorial varchar(15), precio float, cantidad integer ); insert into libros (titulo,autor,editorial,precio,cantidad) values ('El aleph','Borges','Emece',45.50,100); insert into libros (titulo,autor,editorial,precio,cantidad) values ('Alicia en el pais de las maravillas','Lewis Carroll','Planeta',25,200); insert into libros (titulo,autor,editorial,precio,cantidad) values ('Matematica estas ahi','Paenza','Planeta',15.8,200); select * from libros; select titulo,autor,editorial from libros; select titulo,precio from libros; select editorial,cantidad from libros; 7Hemos aprendido cmo ver todos los registros de una tabla: select nombre, clave from usuarios;

El comando "select" recupera los registros de una tabla. Detallando los nombres de los campos separados por comas, indicamos que seleccione todos los campos de la tabla que nombramos. Existe una clusula, "where" que es opcional, con ella podemos especificar condiciones para la consulta "select". Es decir, podemos recuperar algunos registros, slo los que cumplan con ciertas condiciones indicadas con la clusula "where". Por ejemplo, queremos ver el usuario cuyo nombre es "MarioPerez", para ello utilizamos "where" y luego de ella, la condicin: select nombre, clave from usuarios where nombre='MarioPerez'; Para las condiciones se utilizan operadores relacionales (tema que trataremos ms adelante en detalle). El signo igual(=) es un operador relacional. Para la siguiente seleccin de registros especificamos una condicin que solicita los usuarios cuya clave es igual a 'bocajunior': select nombre, clave from usuarios where clave='bocajunior'; Si ningn registro cumple la condicin establecida con el "where", no aparecer ningn registro. PROBLEMA RESUELTO drop table if exists libros; create table libros( titulo varchar(20), autor varchar(30), editorial varchar(15), precio float ); insert into libros (titulo,autor,editorial,precio) values ('El aleph','Borges','Planeta',12.50); insert into libros (titulo,autor,editorial,precio) values ('Martin Fierro','Jose Hernandez','Emece',16.00); insert into libros (titulo,autor,editorial,precio) values ('Aprenda PHP','Mario Molina','Emece',35.40); insert into libros (titulo,autor,editorial,precio) values ('Cervantes','Borges','Paidos',50.90); select titulo, autor,editorial,precio from libros; select titulo, autor,editorial,precio from libros where autor<>'Borges'; select titulo, autor,editorial,precio from libros where precio>20; select titulo,autor,editorial,precio from libros where precio<=30; 8Hemos aprendido a especificar condiciones de igualdad para seleccionar registros de una tabla; por ejemplo: select titulo,autor,editorial from libros where autor='Borges'; Utilizamos el operador relacional de igualdad. Los operadores relacionales vinculan un campo con un valor para que MySQL compare cada registro (el campo especificado) con el valor dado. Los operadores relacionales son los siguientes: = igual <> distinto > mayor < menor >= mayor o igual <= menor o igual Podemos seleccionar los registros cuyo autor sea diferente de 'Borges', para ello usamos la condicin: select titulo,autor,editorial from libros where autor<>'Borges'; Podemos comparar valores numricos. Por ejemplo, queremos mostrar los libros cuyos precios sean mayores a 20 pesos: select titulo,autor,editorial,precio from libros where precio>20; Tambin, los libros cuyo precio sea menor o igual a 30: select titulo,autor,editorial,precio from libros where precio<=30;

PROBLEMA RESUELTO drop table if exists usuarios; create table usuarios ( nombre varchar(30), clave varchar(10) ); insert into usuarios (nombre, clave) values ('Leonardo','payaso'); insert into usuarios (nombre, clave) values ('MarioPerez','Marito'); insert into usuarios (nombre, clave) values ('Marcelo','River'); insert into usuarios (nombre, clave) values ('Gustavo','River'); delete from usuarios where nombre='Leonardo'; select nombre,clave from usuarios; delete from usuarios where clave='River'; select nombre,clave from usuarios; delete from usuarios; select nombre,clave from usuarios;

9Para eliminar los registros de una tabla usamos el comando "delete": delete from usuarios; La ejecucin del comando indicado en la lnea anterior borra TODOS los registros de la tabla. Si queremos eliminar uno o varios registros debemos indicar cul o cules, para ello utilizamos el comando "delete" junto con la clausula "where" con la cual establecemos la condicin que deben cumplir los registros a borrar. Por ejemplo, queremos eliminar aquel registro cuyo nombre de usuario es 'Leonardo': delete from usuarios where nombre='Leonardo'; Si solicitamos el borrado de un registro que no existe, es decir, ningn registro cumple con la condicin especificada, no se borrarn registros, pues no encontr registros con ese dato. PROBLEMA RESUELTO drop table if exists usuarios; create table usuarios ( nombre varchar(30), clave varchar(10) ); insert into usuarios (nombre, clave) values ('Leonardo','payaso'); insert into usuarios (nombre, clave) values ('MarioPerez','Marito'); insert into usuarios (nombre, clave) values ('Marcelo','River'); insert into usuarios (nombre, clave) values ('Gustavo','River'); delete from usuarios where nombre='Leonardo'; select nombre,clave from usuarios; delete from usuarios where clave='River'; select nombre,clave from usuarios; delete from usuarios;

select nombre,clave from usuarios; 10Para modificar uno o varios datos de uno o varios registros utilizamos "update" (actualizar). Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de todas las claves, por "RealMadrid": update usuarios set clave='RealMadrid'; Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar y su nuevo valor. El cambio afectar a todos los registros. Podemos modificar algunos registros, para ello debemos establecer condiciones de seleccin con "where". Por ejemplo, queremos cambiar el valor correspondiente a la clave de nuestro usuario llamado 'MarioPerez', queremos como nueva clave 'Boca', necesitamos una condicin "where" que afecte solamente a este registro: update usuarios set clave='Boca' where nombre='MarioPerez'; Si no encuentra registros que cumplan con la condicin del "where", ningn registro es afectado. Las condiciones no son obligatorias, pero si omitimos la clusula "where", la actualizacin afectar a todos los registros. Tambin se puede actualizar varios campos en una sola instruccin: update usuarios set nombre='MarceloDuarte', clave='Marce' where nombre='Marcelo'; Para ello colocamos "update", el nombre de la tabla, "set" junto al nombre del campo y el nuevo valor y separado por coma, el otro nombre del campo con su nuevo valor. PROBLEMA RESUELTO drop table if exists usuarios; create table usuarios ( nombre varchar(30), clave varchar(10) ); insert into usuarios (nombre, clave) values ('Leonardo','payaso'); insert into usuarios (nombre, clave) values ('MarioPerez','Marito'); insert into usuarios (nombre, clave) values ('Marcelo','River'); insert into usuarios (nombre, clave) values ('Gustavo','River'); select * from usuarios; update usuarios set clave='RealMadrid'; select nombre,clave from usuarios; update usuarios set nombre='GustavoGarcia' where nombre='Gustavo'; update usuarios set nombre='MarceloDuarte', clave='Marce' where nombre='Marcelo'; select nombre,clave from usuarios; 11Una clave primaria es un campo (o varios) que identifica 1 solo registro (fila) en una tabla. Para un valor del campo clave existe solamente 1 registro. Los valores no se repiten ni pueden ser nulos.

Veamos un ejemplo, si tenemos una tabla con datos de personas, el nmero de documento puede establecerse como clave primaria, es un valor que no se repite; puede haber personas con igual apellido y nombre, incluso el mismo domicilio (padre e hijo por ejemplo), pero su documento ser siempre distinto. Si tenemos la tabla "usuarios", el nombre de cada usuario puede establecerse como clave primaria, es un valor que no se repite; puede haber usuarios con igual clave, pero su nombre de usuario ser siempre distinto. Establecemos que un campo sea clave primaria al momento de creacin de la tabla: create table usuarios ( nombre varchar(20), clave varchar(10), primary key(nombre) ); Para definir un campo como clave primaria agregamos "primary key" luego de la definicin de todos los campos y entre parntesis colocamos el nombre del campo que queremos como clave. Si visualizamos la estructura de la tabla con "describe" vemos que el campo "nombre" es clave primaria y no acepta valores nulos(ms adelante explicaremos esto detalladamente). Ingresamos algunos registros: insert into usuarios (nombre, clave) values ('Leonardo','payaso'); insert into usuarios (nombre, clave) values ('MarioPerez','Marito'); insert into usuarios (nombre, clave) values ('Marcelo','River'); insert into usuarios (nombre, clave) values ('Gustavo','River'); Si intentamos ingresar un valor para el campo clave que ya existe, aparece un mensaje de error indicando que el registro no se carg pues el dato clave existe. Esto sucede porque los campos definidos como clave primaria no pueden repetirse. Ingresamos un registro con un nombre de usuario repetido, por ejemplo: insert into usuarios (nombre, clave) values ('Gustavo','Boca'); Una tabla slo puede tener una clave primaria. Cualquier campo (de cualquier tipo) puede ser clave primaria, debe cumplir como requisito, que sus valores no se repitan. Al establecer una clave primaria estamos indexando la tabla, es decir, creando un ndice para dicha tabla; a este tema lo veremos ms adelante. PROBLEMA RESUELTO drop table if exists usuarios; create table usuarios ( nombre varchar(20), clave varchar(10), primary key (nombre) ); describe usuarios; insert into usuarios (nombre, clave) values ('Leonardo','payaso'); insert into usuarios (nombre, clave) values ('MarioPerez','Marito'); insert into usuarios (nombre, clave) values ('Marcelo','River'); insert into usuarios (nombre, clave) values ('Gustavo','River'); insert into usuarios (nombre, clave) values ('Gustavo','Boca');

También podría gustarte