Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 30

UNIVERSIDAD TÉCNICA DE MANABÍ

DEPARTAMENTO DE INFORMÁTICA

Administración de Base
de Datos

Tercer Semestre
Ing. Lorena Bowen Mendoza
ADMINISTRACIÓN DE BASES DE DATOS

CONTENIDO A TRATAR HOY:


Almacenamiento y Recuperación de Información

Objetivo de la Clase:
 Establecer la seguridad de los datos, su
almacenamiento y recuperación.

Cognitive Cities Management Research Group (CMMA) 2


ADMINISTRACIÓN DE BASES DE DATOS

ALMACENAMIENTO Y
RECUPERACIÓN DE INFORMACIÓN
UNIDAD IV
ALMACENAMIENTO Y RECUPERACIÓN DE INFORMACIÓN

EXPORTACIÓN E IMPORTACIÓN
DE DATOS
ALMACENAMIENTO Y RECUPERACIÓN DE INFORMACIÓN
EXPORTACIÓN DE DATOS A OTRO FICHERO

Exportar, importar, Extraer datos de


copiar ficheros

[INTO OUTFILE
'file_name'
export_options]
EXPORTACIÓN DE DATOS A OTRO FICHERO
Sintaxis
• En cuanto a las opciones de exportación (export_options) son las
que se utilizan en las cláusulas FIELDS y LINES de LOAD DATA.
• Su sintaxis es:
[FIELDS
[TERMINATED BY '\t']
[[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]
]
[LINES
[STARTING BY '']
[TERMINATED BY '\n']
]
EXPORTACIÓN DE DATOS A OTRO FICHERO
La cláusula FIELDS se refiere a las opciones de cada columna:
• TERMINATED BY 'carácter': nos permite definir el carácter
delimitador que se usará para separar cada columna.
• [OPTIONALLY] ENCLOSED BY 'carácter': sirve para elegir el carácter
usado para encerrar cada columna. Si se añade la palabra
OPTIONALLY sólo se encerraran las columnas de tipo texto y de tipo
fecha.
• ESCAPED BY 'carácter': sirve para indicar el carácter que se usará
para mostrar aquellos caracteres que pueden dificultar la lectura
posterior del fichero. Para caracteres que se muestra en la
información se puede mostrar con otro carácter. Por defecto se usa
el carácter '\'.
EXPORTACIÓN DE DATOS A OTRO FICHERO
[LINES
[STARTING BY '']
[TERMINATED BY '\n']
]
La cláusula LINES se refiere a las opciones para cada fila o cada
registro:
• STARTING BY 'carácter': permite definir el carácter para comenzar
cada línea. Por defecto no se usa ningún carácter para ello.
• TERMINATED BY 'carácter': permite elegir el carácter para terminar
cada línea. Por defecto es el retorno de línea, pero se puede usar
cualquier otro carácter o caracteres, por ejemplo '\r\n'.
EXPORTACIÓN DE DATOS A OTRO FICHERO

EJEMPLO
Para obtener un archivo de texto a partir de la tabla ' Personas ', con
las columnas delimitadas por ';', encerrado las columnas de texto con
'"' y separando cada fila por la secuencia '\r\n', usaremos la siguiente
instrucción:

SELECT * FROM Personas


INTO OUTFILE "ListaPersonas.txt"
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n';
EXPORTACIÓN DE DATOS A OTRO FICHERO

EJEMPLO
Sí se desea cambiar el delimitador
de columnas por la coma ‘,’ y el
encerrado de columnas por el
apostrofe, entonces se ejecutaría
lo siguiente:
SELECT * FROM Personas
INTO OUTFILE "ListaPersonas01.txt"
FIELDS TERMINATED BY “,”
OPTIONALLY ENCLOSED BY “\’”
LINES TERMINATED BY “\n\r”;
EXPORTACIÓN DE DATOS A OTRO FICHERO

EJEMPLO
También se puede crear un archivo de forma simple con la siguiente
instrucción:
SELECT * FROM Personas INTO OUTFILE “ListaPersonas02.txt”;
EXPORTACIÓN DE DATOS A OTRO FICHERO

PROPIEDADES SELECT … INTO OUTFILE


Con el fin de escribir
Para leer el archivo de
datos en una base de
nuevo en la base de
datos en un archivo,
datos, LOAD DATA
utilice SELECT ... INTO
INFILE
OUTFILE

El archivo se crea en el
equipo servidor, por lo
La salida no es un
que debe tener el
archivo que ya existe
permiso FILE para
utilizar esta sintaxis.
ALMACENAMIENTO Y RECUPERACIÓN DE INFORMACIÓN
IMPORTACIÓN DE DATOS A PARTIR DE
FICHEROS EXISTENTES
El proceso contrario también es posible de realizar. Podemos leer el
contenido de un archivo de texto y vaciarlo a una tabla. El archivo
origen puede haber sido creado mediante una sentencia SELECT ...
INTO OUTFILE, o mediante cualquier otro medio.
Para hacerlo disponemos de la sentencia LOAD DATA, cuya sintaxis
más simple es:
IMPORTACIÓN DE DATOS A PARTIR DE FICHEROS
LOAD DATA [LOCAL] INFILE 'Nombre_Archivo.txt‘
[REPLACE | IGNORE]
INTO TABLE Nombre_Tabla
[FIELDS
[TERMINATED BY '\t']
[[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]
] [LINES
[STARTING BY '']
[TERMINATED BY '\n']
] [IGNORE number LINES]
[(Nombre_Campo,...)]
IMPORTACIÓN DE DATOS A PARTIR DE FICHEROS
La cláusula LOCAL indica, si aparece, que el archivo está en el
ordenador del cliente. Si no se especifica el archivo de texto se
buscará en el servidor.

Las cláusulas REPLACE e IGNORE, afectan al modo en que se tratan los


registros leídos que contengan el mismo valor para cada clave
principal o única para cada registro existente en la tabla. Si se
especifica la cláusula REPLACE, este sustituirá el registro actual por el
registro leído en el archivo de texto. Si se especifica IGNORE el valor
leído será ignorado y se registrará.
IMPORTACIÓN DE DATOS A PARTIR DE FICHEROS

• La parte INTO TABLA Nombre_Tabla indica en qué tabla se insertarán


los valores leídos.
• Las cláusulas FIELDS y LINES, su significado es el mismo que vimos
para la sentencia SELECT ... INTO OUTFILE.
• La misma utilidad tiene la cláusula IGNORE número LINES, que nos
permite que las primeras número de líneas no se interpreten como
datos a importar.
[IGNORE number LINES]
• Permite indicar el campo a la que será asignada cada una de las
columnas leídas.
[(Nombre_Campo,...)]
IMPORTACIÓN DE DATOS A PARTIR DE FICHEROS

EJEMPLO
Supongamos que se tiene el archivo “ListaPersonas.txt” queremos añadir el
contenido de este archivo a la tabla “GENTE":
1;"Demera";"Ureta";"Gabriel";"Cdla. Parque Forestal";"052123456";"M";"1974-03-18";"C“
2;"Montero";"Zambrano";"Paola";"Cdla. Parque Forestal";"052123456";"F";"1979-04-23";"C“
3;"Espinoza";"Alcívar";"Elsa Argentina";"Mejia";"052636111";"F";"1978-10-20";"C“
4;"Hidalgo";"Villamar";"Luis Ernesto";"Limón";"052580113";"M";"1977-08-25";"C“
5;"Aveiga";"Zambrano";"Enma";"Montecristi";"052636222";"F";"1974-06-18";"C“
6;"Zambrano";"Franco";"Luis Felipe";"García Moreno y sucre";"052632333";"M";"1976-04-10";"C“
7;"López";"Intriago";"Blanca";"Primero de Mayo";"052636444";"F";"1972-02-16";"C“
8;"Zedeño";"Franco";"Nora Alice";"Morales y Rocafuerte";"052630555";"F";"1970-05-18";"C“
9;"Panta";"Chica";"José Vicente";"Pedro Gual y morales";"052580666";"M";"1972-10-12";"C“
10;"Ronquillo";"Delgado";"Ramón Ubaldo";"Av.Manabí,Los Mangos";"052636777";"M";"1974-12-30";"C“
IMPORTACIÓN DE DATOS A PARTIR DE FICHEROS

EJEMPLO La sentencia adecuada para leer los datos es:

LOAD DATA INFILE "ListaPersonas.txt" INTO TABLE gente


FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n';
ALMACENAMIENTO Y RECUPERACIÓN DE INFORMACIÓN

ADMINISTRAR RESPALDOS
DE BASES DE DATOS
EXPORTAR RESPALDO
EXPORTAR RESPALDOS
• o "vaciado" periódico
El DBA debe La de la base de datos en
un dispositivo de
definir e
implementar un descarga almacenamiento de
esquema respaldo
apropiado de
control de • de la base de datos
daños que
comprenda:
La cuando sea necesario,
a partir del vaciado
recarga más reciente.
EXPORTAR RESPALDO

mysqldump es un
programa del gestor
El DBA es el
responsable de de BD MySQL y que
organizar el sistema permite realizar
copias de seguridad
de los datos
almacenados
Reorganizar la BD
para asegurar
que los niveles de
rendimiento se
mantengan Tiene
aceptables opciones que
Todo cambio al nivel (interno) permite
de almacenamiento físico
debe estar acompañado por Puede ser realizar el
el cambio correspondiente en
restaurados en backcup
la definición de la
transformación distintos tipos
conceptual/interna
de gestores de
BD
EXPORTAR RESPALDO
Formas de usar MYSQLDUMP

Para exportar
todas las
Para exportar bases de
una o varias datos
bases de completas.
datos
Para exportar completas.
una o varias
tablas de una
base de datos.
EXPORTAR RESPALDO
Algunas de las opciones más destacadas que nos ofrece el comando
mysqldump son:
--password o –p: Permite --port o –P: Si el servidor
--add-drop-table: Añade
indicar la contraseña para indicado utiliza un puerto
un “drop table” (borrado
conectarse al servidor diferente al de por
de tabla) antes de cada
MySQL. En la opción corta defecto del servicio
sentencia “create”
(-p) no debemos dejar un MySQL (3306) se indica
(creación de tabla).
espacio en blanco. mediante esta opción.

--all-databases o –A: --host o -h: Nos permite --user o –u: Para


Realiza un backup de indicar el servidor MySQL indicar el usuario
todas las bases de donde está la base de
datos que hay en el datos. El servidor por MySQL que se
gestor MySQL defecto es localhost. conectará al servidor.

--force o -f: Continúa


--databases o –B: Realiza realizando el backup --xml: Nos devuelve
una copia de las bases de
datos que se le indican a
aunque se produzca un un backup en formato
continuación de la opción. error durante la XML en vez de SQL.
creación.
EXPORTAR RESPALDO
EJEMPLOS
Para utilizar el comando MYSQLDUMP nos ubicamos en la carpeta de ejecución
del servidor de MYSQL, para el caso de WAMP es:
C:\wamp\bin\mysql\mysql5.1.36\bin>
1. Backup de una base de datos completa
% MYSQLDUMP –h localhost –u user –ppassword bbdd > backup.sql
El siguiente ejemplo respalda la información contenida en la base de datos Unidad y
genera un archivo llamado backup.sql:
% MYSQLDUMP –h localhost --user=root Unidad > backup.sql

2. Backup de dos tablas de una base de datos


% MYSQLDUMP –h localhost –u user –ppassword bbdd tabla1 tabla2 > backup.sql
% MYSQLDUMP –h localhost --user=root UNIDAD personas materias > backup_tablas.sql
EXPORTAR RESPALDO
3. Backup de dos bases de datos completas
% MYSQLDUMP –h localhost –u user –ppassword --databases bbdd1 bbdd2 >
backup.sql
% MYSQLDUMP –h localhost --user=root --databases ciclista clinica > OtrasBD.sql

4. Backup de todas las bases de datos


% MYSQLDUMP –h localhost –u user –ppassword –all-databases > backup.sql
% MYSQLDUMP –h localhost --user=root --all-databases > backupTotal.sql

5. Backup de una base de datos hospedada en un servidor externo con


un puerto que no es el de por defecto
% MYSQLDUMP –h 197.125.47.89 –P 3310 –u user –ppassword bbdd > backup.sql
EXPORTAR RESPALDOS
• Normalmente, una base de datos no solo contiene vistas, tablas y sus
registros, sino que contiene procedimientos almacenados y otras
codificaciones necesarias para la gestión de los datos, para incluirlos en el
respaldo usted debe aplicar la instrucción de la siguiente forma:
% MYSQLDUMP -u root -p Unidad --routines > backup_procedures.sql

• Ahora sí solo necesita los procedimientos almacenados, funciones y triggers,


y no los datos, entonces puede hacer uso de:
% MYSQLDUMP -u root --routines --no-create-info --no-data
--no-create-db --skip-opt Unidad > OtroRespaldo.sql
EXPORTAR RESPALDOS
Esto es, a grandes rasgos, lo más básico de la herramienta mysqldump, en la
propia ayuda de la herramienta se puede encontrar mucha más información:
% MYSQLDUMP –help

Una vez realizado el backup de la base de datos es hora de guardar esa copia
en un sitio seguro como puede ser una memoria externa, un DVD o un sistema
de almacenamiento en la nube, para que en caso de algún problema poder
restaurar los datos.
ALMACENAMIENTO Y RECUPERACIÓN DE INFORMACIÓN

IMPORTAR RESPALDO
• Para realizar este proceso se debe ubicar el archivo de
respaldo backup.sql en la carpeta de ejecución del servidor,
para el caso de práctica:

C:\wamp\bin\mysql\mysql5.1.36\bin>
IMPORTAR RESPALDOS
Sí la base de datos no está creada, se la debe crear primero, para ello se
debe ingresar a la consola y crearla:
% mysql -u root CREATE DATABASE Unidad;
y escribir la siguiente orden:
% mysql --user=root –p Unidad < backup.sql

Si la base de datos en la cual se trata de restaurar el archivo xxxx.sql


contiene tablas ya existentes, entonces es probable que salte un error en
nuestra pantalla. En dicho caso bastará con añadir una simple opción al
final como vemos en la sintaxis a continuación:
% mysql --user=root –p -f Unidad < backup.sql
La opción -f sirve para sobreescribir el contenido.
IMPORTAR RESPALDOS
Otra posibilidad es desde la consola de mysql mediante la orden SOURCE,
que utiliza un formato como:
mysql> SOURCE /ruta/archivo.sql
por ejemplo:
mysql> SOURCE backup.sql;

Se utiliza la ruta completa partiendo desde C:/ aunque la ruta relativa a


tu instalación de MySQL también debería funcionar.

También podría gustarte