martes, 15 de mayo de 2012
SEGUNDO ENLACE Resumen
La manera más simple de crear una vista usando el MySQL Query Browser es con el uso del botón CREAR VISTA. Ejecute una consulta que represente la vista que desee crear. Una vez que la consulta es ejecutada, clic en el botón CREAR VISTA, proporcione el nombre para la vista, y la vista es creada.
Usted puede también crear una vista dando clic-derecho en la base de datos donde se quiere agregar la vista en el navegador de base de datos y eligiendo la opción CREAR NUEVA VISTA. Después de que capture el nombre de la vista, una plantilla para vista será desplegada en el editor de secuencia de comandos.
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. En ese caso, la sustituye por la nueva definición.
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
OPTION: Especifica que solo las filas accesibles para la vista pueden ser insertadas o modificadas
<restricción> : Nombre asignado a la restricción CHECK OPTION o a la restricción
READ ONLY.
WITH READ
ONLY : Asegura que no podrán ejecutarse operaciones de DML a través de la vista. La vista sólo permite consultas.
VISUALIZAR LA ESTRUCTURA DE UNA VISTA:
DESCRIBE <vista>;
<vista>: Es el nombre de la vista.
Listar las vistas existentes: SELECT * FROM USER_VIEWS;
Indicaciones y restricciones de uso:
La subconsulta puede contener una sentencia SELECT de sintaxis compleja, incluyendo combinaciones (JOIN), agrupamientos (GROUP BY), y subconsultas internas.
- Pero no puede incluir una cláusula ORDER BY. Si se desea ordenar, esto deberá hacerse mediante una consulta posterior que utilice la vista (ver ejemplo en apartado 4).
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>;
<vista> Es el nombre de la vista.
Ejemplo:
DROP VIEW EmpDepVentas;
Restricciones de uso: Solo el creador o un usuario con el privilegio “DROP ANY VIEW” puede eliminar una vista.
COMANDOS DE MySQL
mysql envía comandos SQL al servidor para que sean ejecutados. También hay un conjunto de comandos quemysql interpreta por sí mismo. Para obtener una lista de estos comandos, se escribe help o \h en el promptmysql>:
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
A continuación, intentaré nombrar algunos comandos útiles para ejecutar en MySQL. Cabe destacar, que estos comandos pueden ser ejecutados desde el shell del sistema operativo ($) y/o desde el shell de MySQL (mysql>). Por una cuestión de orden, los comandos serán clasificados en:
Descripción del sistema, bases de datos y tablas.
Definición de datos
Administración
Backups e importación de datos
Descripción del sistema, bases de datos y tablas.
mysql> show databases;
mysql> show tables;
mysql> show columns from nombre_de_tabla;
mysql> show variables;
mysql> show grants for usuario@host;
mysql> show columns from base_de_datos.nombre_de_tabla;
mysql> show privileges;
mysql> show character set;
mysql> describe nombre_de_tabla
Definición de datos:
mysql> drop database nombre_de_base_de_datos;
mysql> drop table nombre_de_tabla;
mysql> alter table nombre_de_tabla drop column nombre_de_columna;
mysql> alter table nombre_de_tabla add column nombre_de_columna tipo_de_dato;
mysql> alter table nombre_de_tabla change nombre_de_columna_original nombre_de_columna_nuevo tipo_de_dato;
mysql> alter table nombre_de_tabla add unique (nombre_de_columna);
mysql> alter table nombre_de_tabla modify nombre_de_columna tipo_de_dato;
Administración
$ mysqladmin -u root -h host -p password ‘nuevo_password’
$ mysqladmin extended-status
$ mysqladmin status
$ mysqladmin variables
$ mysqladmin version
$ mysqladmin create base_de_datos
$ mysqladmin drop base_de_datos$ mysqladmin flush-privileges
$ mysqladmin ping
$ mysqladmin reload
$ mysqladmin kill id_proceso, id_proceso…
$ mysqladmin shutdown
Backups e importación de datos
$ mysql base_de_datos< backup.sql
$ mysqldump base_de_datos [tablas] > backup.sql
$ mysqldump –no-data base_de_datos [tablas] > backup.sql
$ mysqldump –add-drop-table base_de_datos [tablas] > backup.sql
$ mysqldump –compatible=mysql40 base_de_datos [tablas] > backup.sql
mysql> LOAD DATA INFILE ‘/tmp/archivo.csv’ REPLACE INTO TABLE [nombre_de_tabla] FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\n’ (campo1,campo2,…)
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 mysq
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario