viernes, 10 de mayo de 2013

Vistas en MySQL y comandos


Vistas en MySQL y comandos
La manera más simple de crear una vista usando el MySQL Query Browser es con el uso del boton CREAR VISTA.
CREANDO UNA VISTA: Se  emplea  la  sentencia  CREATE  VIEW,  que  incluye  una  subconsulta  (subquery)  para determinar los datos a ser mostrados a través de la vista.
 Sintaxis:
   CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW <vista>
  [(<alias>[, <alias>] … )]
  AS <subconsulta>
  [WITH CHECK OPTION [CONSTRAINT <restricción>]]
  [WITH READ ONLY [CONSTRAINT <restricción>]];
OR REPLACE  Se utiliza por si la vista ya estuviera creada anteriormente.
FORCE  Crea la vista sin comprobar si las tablas base existen.
NO FORCE  Crea la vista sólo si las tablas base de donde se extraen los datos
existen realmente (es la opción por defecto).
<vista>  Es el nombre de la vista.
<alias>  Especifica alias para las expresiones/columnas seleccionadas por la
subconsulta. El número de alias debe coincidir con el número de
expresiones seleccionadas por la vista.
<subconsulta>  Es una sentencia SELECT completa. Se pueden emplear alias para
las columnas en la lista que sigue al SELECT.
WITH CHECK
Ejemplo: Crear  una  vista  que  contiene  los  apellidos  y  nombre  de  los  empleados  del  departamento “Ventas”. Asegurarse que a través de ella sólo pueden modificarse, eliminarse o añadirse los empleados de dicho departamento.
  CREATE VIEW EmpDepVentas
  AS SELECT apellidos, nombre
    FROM Empleados
    WHERE dep=”Ventas”
  WITH CHECK OPTION;
VISUALIZAR LA ESTRUCTURA DE UNA VISTA:
DESCRIBE <vista>;
 donde: <vista>  Es el nombre de la vista.
 Listar las vistas existentes: SELECT * FROM USER_VIEWS;
MODIFICANDO LA DEFINICIÓN DE UNA VISTA
Para modificar la definición de una vista no es necesario eliminarla previamente, basta con ejecutar una nueva sentencia CREATE VIEW que incluya la opción “OR REPLACE” y la subconsulta modificada.
 Ejemplo: Cambiar la vista EmpDepVentas creada en el apartado 3 para que incluya también el salario
CREATE OR REPLACE VIEW EmpDepVentas
  AS SELECT apellidos, nombre, salario
    FROM Empleados
    WHERE dep=”Ventas”
  WITH CHECK OPTION;
ELIMINANDO UNA VISTA
Cuando ya no se va a emplear más, una vista puede ser eliminada del esquema de la base de datos mediante la siguiente orden:
DROP VIEW <vista>;
 donde: <vista>  Es el nombre de la vista.
 Ejemplo:
 DROP VIEW EmpDepVentas
COMANDOS DE MySQL
Para obtener una lista de comandos, se escribe help o \h en el prompt mysql>:
mysql> help

MySQL commands:
?         (\h)    Synonym for `help'.
clear     (\c)    Clear command.
connect   (\r)    Reconnect to the server.
                  Optional arguments are db and host.
delimiter (\d)    Set query delimiter.
edit      (\e)    Edit command with $EDITOR.
ego       (\G)    Send command to mysql server,
                  display result vertically.
exit      (\q)    Exit mysql. Same as quit.
go        (\g)    Send command to mysql server.
help      (\h)    Display this help.
nopager   (\n)    Disable pager, print to stdout.
notee     (\t)    Don't write into outfile.
pager     (\P)    Set PAGER [to_pager].
                  Print the query results via PAGER.
print     (\p)    Print current command.
prompt    (\R)    Change your mysql prompt.
quit      (\q)    Quit mysql.
rehash    (\#)    Rebuild completion hash.
source    (\.)    Execute an SQL script file.
                  Takes a file name as an argument.
status    (\s)    Get status information from the server.
system    (\!)    Execute a system shell command.
tee       (\T)    Set outfile [to_outfile].
                  Append everything into given outfile.
use       (\u)    Use another database.
                  Takes database name as argument.
warnings  (\W)    Show warnings after every statement.
nowarning (\w)    Don't show warnings after every statement.
MANEJO DE BASES DE DATOS MYSQL:
 drop table [table]; – Elimina la tabla, incluyendo registros y estructura.
drop table if exists [table]; – Elimina la tabla de la base de datos, pero antes verifica que exista.
truncate table [table]; – Elimina los registros, pero mantiene la esrtuctura de la tabla.
rename table [table] to [nuevo nombre de tabla]; – Renombra una tabla de la base de datos.
ALGUNOS COMANDOS UTILES PARA CUNSULTAS MYSQL:
ü  select * from [table] limit [numero]; – Muestra los registros desde el 1 hasta [numero].
Ej. select * from tabla limit 10; – Muestra los 10 primeros registros.
select * from [table] limit [numero inicio],[numero]; – Muestra los registros desde el numero de inicio hasta numero inicio + numero.
Ej. select * from tabla limit 11,10; – Muestra desde registro 11 hasta el 20.
BASES DE DATOS MYSQL EN CONSOLA:
$ mysqladmin -u -p create – crear base de datos.
$ mysqladmin -u -p drop – borrar la base de datos.
$ mysqladmin -u root -p proc – listar procesos en ejecucion en el servidor de bases de datos Mysql.
$ mysqladmin -u root -p -i 5 status – verificar status cada 5 segundos.
 $ mysqldump –opt -u -h -p > /path/to/file – Exportar base de datos a un archivo.
$ mysqldump –opt -u -h –all-databases -p > /path/to/file – Exportar TODAS las bases de datos a un archivo.
$ mysql -h -u -p < /path/to/file – Importar un archivo a la base de datos a mysql
 $ mysqlcheck -o -u root -p –all-databases – Optimizar las bases de datos mysql.
 VERIFICACION Y REPARACION DE BASES DE DATOS ERRONEAS: 
check table [table]; – Verificar la tabla.
 repair table [table]; – Reparar la tabla 


No hay comentarios:

Publicar un comentario