deberes de base de datos de my sql

17
Manual de MYSQL Instalación y configuración por primera vez en Linux: 1) Para activar mysql en redhat 7.3 con el comando ntsys se señala mysqld para activarlo cada vez que se reinicie linux. 2) Las bases de datos de mysql se crearán en el directorio /var/lib/mysql/ . Cada base de datos es un directorio diferente y cada tabla es un archivo dentro del directorio las dos bases que se crean cuando se instala mysql es “mysql” y “test”. 3) Se corre el comando mysql_install_db para crear las bases que guardarán los permisos de los usuarios. 4) Con el comando mysqladmin -u root password mi_password se crea un password para el administrador de la base de datos Ejemplo: mysqladmin u root password admin Admin sería la nueva clave para el administrador de la base de datos Para cambiar la clave se pondría mysqladmin -uroot -padmin password nuevaclave 5) Para probar si la conexión está bien y se puede entrar a la base de datos se pone mysql -u root p aquí ahora va a pedir un password el password en este caso es admin el cual definimos en el paso 4. Para salir se pone quit. Instalación y configuración por primera vez en windows: Para instalar mysql en windows se baja el archivo mysql-max-3.23.48-win.zip y se desempaqueta en cualquier directorio, luego se ejecuta el archivo setup.exe, cuando se instala pedirá un directorio en donde instalar en este caso pondremos c:\internet\mysql. Ejecutamos la aplicación c:\internet\mysql\bin\winmysqladmin.exe Esta aplicación nos permitirá administrar la base de datos. La primera vez que se ejecuta nos va a pedir un usuario y una clave en este caso vamos a poner root y admin. En la parte inferior derecha de la pantalla aparecerá un semáforo con la luz verde encendida esto indica que el servidor está activo, para apagar el servidor damos un click con el botón derecho sobre el gráfico del semáforo y aparecerá un menú, elegimos la opción win9x (en una instalación en windows me) y luego shutdown Both. Esta herramienta también sirve para crear bases de datos en modo gráfico. Para ingresar al modo de comandos y administrar la base de datos se va al directorio: C:\internet\mysql\bin\mysql u root p Como password se pone admin, esto hará que salga el prompt de mysql: mysql> Para salir se pone exit o quit Las bases de datos se crearán el directorio: c:\internet\mysql\data Operaciones Básicas Se entra a la base de datos con: mysql -u root p y como clave se pone admin. En la línea de comandos se pone: mysql> SELECT VERSION(), CURRENT_DATE(); lo cual mostrara: +-----------+----------------+ | version() | current_date() | +-----------+----------------+ | 3.23.49 | 2002-06-06 | +-----------+----------------+ 1 row in set (0.00 sec) se pueden hacer pequeñas operaciones como: mysql> SELECT SIN(PI()/4), (4+1)*5; +-------------+---------+ | SIN(PI()/4) | (4+1)*5 | +-------------+

description

manual de my sql

Transcript of deberes de base de datos de my sql

Page 1: deberes de base de datos de my sql

Manual de MYSQL

Instalación y configuración por primera vez en Linux:

1) Para activar mysql en redhat 7.3 con el comando ntsys se señala mysqld para activarlo cada vez que se

reinicie linux.

2) Las bases de datos de mysql se crearán en el directorio /var/lib/mysql/ . Cada base de datos es un directorio

diferente y cada tabla es un archivo dentro del directorio las dos bases que se crean cuando se instala mysql

es “mysql” y “test”.

3) Se corre el comando mysql_install_db para crear las bases que guardarán los permisos de los usuarios.

4) Con el comando mysqladmin -u root password mi_password se crea un password para el administrador de

la base de datos Ejemplo:

mysqladmin –u root password admin

Admin sería la nueva clave para el administrador de la base de datos

Para cambiar la clave se pondría

mysqladmin -uroot -padmin password nuevaclave

5) Para probar si la conexión está bien y se puede entrar a la base de datos se pone

mysql -u root –p

aquí ahora va a pedir un password el password en este caso es admin el cual definimos en el paso 4. Para salir

se pone quit.

Instalación y configuración por primera vez en windows:

Para instalar mysql en windows se baja el archivo mysql-max-3.23.48-win.zip y se desempaqueta en

cualquier directorio, luego se ejecuta el archivo setup.exe, cuando se instala pedirá un directorio en donde

instalar en este caso pondremos c:\internet\mysql.

Ejecutamos la aplicación c:\internet\mysql\bin\winmysqladmin.exe

Esta aplicación nos permitirá administrar la base de datos. La primera vez que se ejecuta nos va a pedir un

usuario y una clave en este caso vamos a poner root y admin. En la parte inferior derecha de la pantalla

aparecerá un semáforo con la luz verde encendida esto indica que el servidor está activo, para apagar el

servidor damos un click con el botón derecho sobre el gráfico del semáforo y aparecerá un menú, elegimos la

opción win9x (en una instalación en windows me) y luego shutdown Both. Esta herramienta también sirve

para crear bases de datos en modo gráfico.

Para ingresar al modo de comandos y administrar la base de datos se va al directorio:

C:\internet\mysql\bin\mysql –u root –p

Como password se pone admin, esto hará que salga el prompt de mysql:

mysql>

Para salir se pone exit o quit

Las bases de datos se crearán el directorio:

c:\internet\mysql\data

Operaciones Básicas

Se entra a la base de datos con:

mysql -u root –p y como clave se pone admin. En la línea de comandos se pone:

mysql> SELECT VERSION(), CURRENT_DATE();

lo cual mostrara:

+-----------+----------------+

| version() | current_date() |

+-----------+----------------+

| 3.23.49 | 2002-06-06 |

+-----------+----------------+

1 row in set (0.00 sec)

se pueden hacer pequeñas operaciones como:

mysql> SELECT SIN(PI()/4), (4+1)*5;

+-------------+---------+

| SIN(PI()/4) | (4+1)*5 |

+-------------+

Page 2: deberes de base de datos de my sql

---------| 0.707107 | 25 |+-------------+---------+1 row in set (0.00 sec)mysql> select user();+----------------

+| user() |+----------------+| root@localhost |+----------------+1 row in set (0.04 sec)

Para ver las bases de datos existentes se pone:

mysql> SHOW DATABASES;

+----------+

| Database |

+----------+

| mysql |

| test |

+----------+

2 rows in set (0.00 sec)

Creación de usuarios y permisos para las tablas

Una vez creada la base de datos se le puede dar permisos para que solo un usuario determinado pueda usar

dicha base de datos la forma de hacerlo es la siguiente:

mysql –u root –p se ingresa con el usuario de administrador

grant all on pruebas.* to ua033333@localhost identified by „clave‟

flush privileges;

donde pruebas es la base de datos y ua033333 es el usuario al que se quiere dar acceso y clave la clave del

usuario.

Para ingresar a la base se pone mysql -u ua033333 –p y se introduce la clave

Para cambiar de clave se pone

SET PASSWORD FOR 'ua033333@localhost' = PASSWORD( '**********' )

Otra forma de crear usuarios es ingresar con la clave de root a la base de datos y poner las siguientes

sentencias:

use mysql;

insert into user values("localhost", "nombredeusuario", password("clavedeusuario"), "Y", "Y", "Y", "Y", "Y",

"Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y");

insert into db values ("localhost", "basededatosconcreta", "nombredeusuario", "Y", "Y", "Y", "Y", "Y", "Y",

"Y", "Y", "Y", "Y");

exit;

Pasos para crear bases de datos

El comando para crear la base de datos es:

mysql> CREATE DATABASE prueba;

esto hará que se cree el directorio prueba en /var/lib/mysql/prueba.

Para crear las tablas de la base de datos se pone:

mysql> use prueba;

para elegir la tabla en la que se va ha trabajar

mysql> create table clientes (nombre varchar(20), edad int(2),

-> sueldo float(9,2), memo text);

Tipos posibles de campos

VARCHAR Tiene un número variable de caracteres el número que se pone es el número

máximo de caracteres que puede tener este número va de 1 a 255

CHAR Tiene un número fijo de caracteres va de 1 a 255

DATE Tipo fecha (YYYY-MM-DD)-( '1000-01-01' a '9999-12-31')

TIME Tipo hora (HH:MM:SS) – (-838:59:59' a '838:59:59)

DATETIME Tipo fecha y hora (YYYY-MM-DD HH:MM:SS)

TIMESTAMP(N) Tipo fecha y hora. Se utiliza para generar campos en los cuales

automáticamente se guardan la fecha y hora de creación

o modificación del registro. Ejemplos de formatos:

TIMESTAMP(14) YYYYMMDDHHMMSS

TIMESTAMP(12) YYMMDDHHMMSS

TIMESTAMP(10) YYMMDDHHMM

TIMESTAMP(8) YYYYMMDD

TIMESTAMP(6) YYMMDD

Page 3: deberes de base de datos de my sql

TIMESTAMP(4) YYMM

TIMESTAMP(2) YY

YEAR(2 o 4) Tipo año (1970 a 2069)

INTEGER (INT) Tipo numérico entero (-2147483648 a 2147483647)

FLOAT (M,D) Número real de coma flotante M es el número y D los decimales

(-3.402823466E+38 a -1.175494351E-38, 0, y

1.175494351E-38 a 3.402823466E+38.)

DOUBLE(M,D) Número real de doble precisión M es el número y D los decimales

(- 1.7976931348623157E+308 a -2.2250738585072014E-308, 0, y

2.2250738585072014E-308 a 1.7976931348623157E+308)

BLOB Para grandes textos la longitud máxima es 65535 con este tipo las búsquedas de

texto son sensibles a las mayúsculas.

TEXT Para grandes textos la longitud máxima es 65535 con este tipo las búsquedas de

texto NO son sensibles a las mayúsculas.

Opciones para los campos

not null El valor no puede ser nulo en el campo

auto_increment automáticamente incrementa el número del registro anterior

primary key El PRIMARY KEY es un campo que MySQL usa como índice. Este índice puede

hacer cosas como:

Hallar rápidamente filas que acierten una cláusula WHERE.

Regresar filas de una tabla desde otras tablas cuando se realizan uniones.

Esto definitivamente te va a ayudar a agilizar sus peticiones también.

Key Crea una llave secundaria

Creación de una tabla con índices o llaves:

Mysql> create table prueba4 (llave1 int(1) not null, llave2 int(1), primary key(llave1),key(llave2));

Toda llave primaria debe ser de tipo not null para que pueda indexar correctamente. En este ejemplo el campo

llave1 es la llave primaria y el campo llave2 es la llave secundaria.

Creación de campos para buscar textos en estos:

mysql> CREATE TABLE articles (

-> id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,

-> title VARCHAR(200),

-> body TEXT,

-> FULLTEXT (title,body)

-> );

Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO articles VALUES

-> (0,'MySQL Tutorial', 'DBMS stands for DataBase ...'),

-> (0,'How To Use MySQL Efficiently', 'After you went through a ...'),

-> (0,'Optimising MySQL','In this tutorial we will show ...'),

-> (0,'1001 MySQL Trick','1. Never run mysqld as root. 2. ...'),

-> (0,'MySQL vs. YourSQL', 'In the following database comparison ...'),

-> (0,'MySQL Security', 'When configured properly, MySQL ...');

Query OK, 6 rows affected (0.00 sec)

Records: 6 Duplicates: 0 Warnings: 0

mysql> SELECT * FROM articles

-> WHERE MATCH (title,body) AGAINST ('database');

+----+-------------------+------------------------------------------+

| id | title | body |

+----+-------------------+------------------------------------------+

| 5 | MySQL vs. YourSQL | In the following database comparison ... |

| 1 | MySQL Tutorial | DBMS stands for DataBase ... |

+----+-------------------+------------------------------------------+

Page 4: deberes de base de datos de my sql

2 rows in set (0.00 sec)

Para ver todas las tablas de la base:

mysql> show tables;

+------------------+

| Tables_in_prueba |

+------------------+

| clientes |

+------------------+

1 row in set (0.00 sec)

Para ver la estructura de la tabla se pone:

mysql> DESCRIBE clientes;

+--------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------+-------------+------+-----+---------+-------+

| nombre | varchar(20) | YES | | NULL | |

| edad | int(2) | YES | | NULL | |

| sueldo | float(9,2) | YES | | NULL | |

| memo | text | YES | | NULL | |

+--------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

Modificación de la Estructura de una Tabla

Cambia los atributos de una columna que ya existe ALTER TABLE [nombre_de_la_tabla] CHANGE [nombre_columna] [nombre_columna opciones_de _columna];

ALTER TABLE clientes CHANGE nombre nombreapellido varchar(10);

Colocar una columna al final de la tabla ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones];

ALTER TABLE clientes ADD cedula varchar(10);

Si se desea crear una columna al inicio de una tabla: ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones] FIRST;

ALTER TABLE clientes ADD cedula varchar(10) FIRST;

Y si se trata de colocarla después de una columna dada, es: ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones] AFTER [nombre_de_columna]; ALTER TABLE clientes ADD cedula varchar(10) AFTER nombre;

Para eliminarla, se utiliza este comando: ALTER TABLE [nombre_de_la_tabla] DROP [nombre_columna]; ALTER TABLE clientes DROP cedula;

Para insertar datos a la tabla

Se utiliza la siguiente sentencia:

mysql> INSERT INTO clientes

-> VALUES ('Pablo','30','600',NULL);

Nota: La comilla es obligatorio para el ingreso de datos

Otra forma de ingresar datos es:

mysql> insert into clientes

-> (nombre)

-> values

-> ('pablo');

con esta forma se ingresa el nombre pablo en el campo nombre únicamente

Para insertar datos a la tabla desde un archivo de textos la sentencia es:

mysql> LOAD DATA LOCAL INFILE "datos.txt" INTO TABLE clientes;

el archivo debe tener el siguiente formato:

Pablo 30 600 \N

Juan 20 \N bueno

El símbolo \N sirve para cuando ese campo no tiene datos. El separador de campos es TAB y el de registros el

fin de línea LF (o Enter)

Si el archivo de texto tiene separado los campos por medio de comas y a su vez cada campo encerrado por

comillas la sentencia que se utiliza es:

Page 5: deberes de base de datos de my sql

mysql> LOAD DATA INFILE 'datos.txt' INTO TABLE clientes

-> FIELDS TERMINATED BY ',' ENCLOSED BY '"'

-> LINES TERMINATED BY '\n';

Ejemplo de archivo datos.txt

“Pabo”,”30”,”600”,”\N”

“Juan”,”25”,”500”,”\N”

Mostrar los datos de una tabla

Para los datos de una tabla se utiliza la sentencia :

SELECT [campos que se quiere mostrar]

FROM [nombre de la tabla de la cual se extraen datos]

WHERE [condiciones para extraer datos]

Ejemplo:

mysql> SELECT * FROM clientes;

+--------+------+--------+------+

| nombre | edad | sueldo | memo |

+--------+------+--------+------+

| pablo | 30 | 600.00 | NULL |

| pablo | NULL | NULL | NULL |

+--------+------+--------+------+

2 rows in set (0.00 sec)

Enviar la consulta a un archivo

mysql> select * from empresas into outfile '/prueba/hola2.txt' fields terminated by '@@'

-> lines terminated by „\n‟;

consulta con condiciones:

mysql> SELECT * FROM clientes WHERE nombre="pablo" and sueldo="500";

mysql> SELECT * FROM clientes WHERE edad >= "30";

mysql> SELECT nombre, edad FROM clientes WHERE edad >= "30";

mysql> SELECT distinct nombre FROM clientes;

distinct sirve para que saque solo los registros únicos no los repetidos en el campo nombre

mysql> SELECT * FROM clientes ORDER BY edad;

para que el resultado se ordene por edad

mysql> SELECT * FROM clientes ORDER BY edad DESC;

para que el resultado se ordene en forma descendente

mysql> SELECT * FROM clientes GROUP BY edad;

mysql> SELECT nombre, sueldo/100 from clientes;

para que muestre la columna sueldo dividido para 100

mysql> select * from clientes where edad is NULL;

mysql> select * from clientes where edad is NOT NULL;

mysql> SELECT * FROM clientes WHERE nombre LIKE "P%";

para buscar nombres que comienzan con P

mysql> SELECT * FROM clientes WHERE nombre LIKE "%P";

para buscar nombres que terminan con P

mysql> SELECT * FROM clientes WHERE nombre LIKE "%P%";

para buscar nombres que tengan P en cualquier posicion

mysql> SELECT * FROM clientes WHERE nombre LIKE "_";

para buscar nombres que tengan un carácter

mysql> SELECT nombre, COUNT(*) FROM clientes

mysql> SELECT DISTINCT nombre FROM clientes saca los nombres sin repetidos

mysql> SELECT * from tabla1 where not exists

(SELECT * from tabla2 where tabla1.codigo = tabla2.codigo); muestra los códigos de la tabla1

que no existan en la tabla2

Modificar un Registro

mysql> UPDATE clientes SET sueldo="500" WHERE nombre="pablo";

mysql> UPDATE clientes set sueldo="600" where edad=30;

Page 6: deberes de base de datos de my sql

Borrar todos los registros de la tabla

mysql> DELETE from clientes;

Borrar una Tabla y su estructura

mysql> drop table clientes;

Borrar una base de datos mysql> drop database datos;

Relaciones entre las Tablas

Se crean dos tablas con un campo que se llama factura de tipo int(1), este va ha ser la llave de las tablas por la

cual se van ha relacionar.Para poder mostrar tablas con datos que las relacionan podemos hacerlo mediante el

siguiente comando select:

mysql> select cabecera.nombre,detalle.remedio from cabecera,detalle where

-> cabecera.factura=1 and detalle.factura=1;

+--------+------------+

| nombre | remedio |

+--------+------------+

| pablo | mejoral |

| pablo | aspirina |

| pablo | vitamina c |

| pablo | cebion |

+--------+------------+

los campos que relacionan estas tablas son el número de la factura

Otra forma puede ser:

select cabecera.nombre,detalle.remedio from cabecera,detalle where

-> cabecera.factura=detalle.factura;

esto mostrara todos los campos en orden de relación.

+--------+------------+

| nombre | remedio |

+--------+------------+

| pablo | mejoral |

| pablo | aspirina |

| pablo | vitamina c |

| pablo | cebion |

| juan | complejo B |

| juan | contrex |

| juan | mentol |

+--------+------------+

7 rows in set (0.00 sec)

COMO CREAR UNA BASE DE DATOS EN MY SQL

Creando una base de datos

El nombre de nuestra base de datos será Videoteca. Crearemos nuestra base de datos dando al enlace

que pone .Ahora se nos abrirá una nueva ventana, donde abajo del todo veremos “Crear una base de

datos”, en ella escribiremos el nombre de nuestra nueva base de datos, en este caso: Videoteca.

PD: en lo nombres no podemos escribir caracteres como, comas, acentos, ñ, etc.

Si todo ha ido bien, ahora nos pondrá que ya esta creada.

Page 7: deberes de base de datos de my sql

Crear tablas y campos para la base de datos

En el apartado anterior hemos aprendido a crear una base de datos MySQL, y he creado

una, a la cual la he llamado “Videoteca”. Ahora el siguiente paso seria crear las tablas y los

campos que nos hagan falta para posteriormente meter los datos, y eso es precisamente lo

que vamos a aprender en este tutoria .

Creando una Tabla y sus campos en MySQL

Existen varias formas y programas diferentes para crear una tabla en una base de datos

MySQL, pero lo voy a hacer desde phpMyAdmin, el motivo de hacerlo desde

phpMyAdmin y no de otra forma es porque comúnmente, en todos los servidores ya sean

caseros o de un hosting privados siempre suele tener un phpMyAdmin a mano.

En primer lugar vamos a nuestro phpMyAdmin y seleccionamos la base de datos que

hemos creado anteriormente(Videoteca) como vemos en la siguiente imagen:

Ahora se cargara la base de datos y nos saldrá un mensaje que pone “no se han encontrado

tablas en la base de datos” y más abajo veremos un pequeño formulario para crear nuestra

primera tabla.

En nombre pondremos película y en número de campos pondremos 3.

Ahora damos a continuar y se nos cargara la pagina para crear los campos, en este caso

serán los 3 que hemos puesto antes.

Veremos que tendremos que rellenar varios datos, pero no tenemos que preocuparnos, ya

que explicaremos uno a uno lo que significa.

En Campo, pondremos el nombre del campo.

En Tipo, debemos poner el tipo de datos que se van a incluir en el campo, por ejemplo pondríamos:

o VARCHAR si vamos a incluir un texto inferior a 255 caracteres ejemplo (nombres, DNI,

direcciones).

o TEXT si vamos a incluir un texto más largo de 255 caracteres ejemplo (noticias).

o INT si deseamos escribir exclusivamente números.

o DATE para poner fechas, o DATETIME, si queremos poner hora y fecha.

En Longitud, deberemos de poner el número de caracteres máximo que puede contener dicho

campo, esto no hace falta para todos los tipos de datos, ya que por ejemplo para los de tipo DATE, o

TEXT no hace falta, pero para los INT y VARCHAR es imprescindible.

Page 8: deberes de base de datos de my sql

En Nulo, podemos elegir Null o Not Null dependiendo si queremos que el campo pueda estar vacío

(sin datos) o no.

En predeterminado, podemos poner lo que queramos que se ponga en el campo en el caso de que

no se rellenen los datos o que se rellene de forma incorrecta.

En extra, vemos que podemos seleccionar Auto_Increment, esto nos sirve para llevar un orden de

los datos que tenemos, por ejemplo, creamos un campo llamado id, de tipo INT y le ponemos

auto_increment, de esta forma cada vez que se cree un nuevo dato en este campo se le sumara 1 a la

id anterior, de forma que podremos llevar un pequeño orden.

Ahora que ya mas o menos he explicado para que es cada cosa voy a deciros que debemos

de poner en cada uno de los 3 campos:

Campo 1 Nombre: id_pelicula

Tipo: INT

Nulo: Not Null

Extra: Auto_increment

Y marcamos la llave de Primaria

Campo 2 Nombre: pelicula

Tipo: VARCHAR

Longitud: 30

Nulo: Not Null

Campo 3 Nombre: Director

Tipo: VARCHAR

Longitud: 30

Nulo: Not Null

Explicamos los pasos a seguir para crear la base de datos en MySQL

Por Rubén Alvarez

Antes de abordar los scripts de nuestro sitio, es importante crear la base de datos (BD) que va a ser utilizada

por los mismos. Hemos elegido una base de datos MySQL, entre otras razones, porque se trata del tipo de

base más corrientemente utilizado en combinación con PHP. Por supuesto, podríamos haber utilizado

cualquier otra base para la cual PHP tenga funciones o simplemente crear un DSN y emplear las funciones

para ODBC disponibles en PHP.

Pensamos que el hecho de programar en este lenguaje lleva inherente la necesidad de conocer mínimamente

el funcionamiento de MySQL y que la utilización de cualquier otra BD o método de conexión no conlleva

cambios significativos en los scripts que abordaremos. Veremos pues el caso particular de MySQL y dejamos

a vuestra cuenta aplicar lo visto para cualquier otra base.

En capítulos de otros manuales hemos explicado la instalación y utilización de MySQL y la sintaxis para la

creación de tablas. En este capítulo nos limitaremos a describir paso a paso la creación de la base postal sin

hacer hincapié en el significado de los comandos utilizados.

Pasemos pues a describir uno a uno los pasos a seguir:

1.-Creación de la base de datos Una vez dentro de MySQL, el primer paso es crear la base de datos:

Page 9: deberes de base de datos de my sql

Create database postal;

2.-Creación de las tablas Para la creación de la tabla imagenes, donde almacenaremos los gráficos de las postales, generaremos dos

campos: id_imagen, que es el identificador del grafico, específico para cada uno y cuyo valor corresponde

también con el nombre del archivo gif. El otro campo, tipo, define el objeto de la postal (cumpleaños,

Navidades o San Valentín).

La forma más simple de crear esta tabla sería:

Create Table imagenes

(

id_imagen int(2),

tipo varchar(15)

);

La siguiente tabla a crear, postal, debe guardar toda una serie de datos necesarios para hacer llegar la postal al

destinatario y hacer que el remitente reciba la confirmación de recepción. Veremos cómo actúa cada uno de

esos datos en el script más adelante. Por ahora nos limitaremos a describir la sintaxis de la creación:

Create Table postal

(

id_postal int(5),

texto varchar(255),

email_destinatario varchar(50),

nombre_destinatario varchar(50),

email_remitente varchar(50),

nombre_remitente varchar(50),

id_imagen int(2),

avisar char(7)

);

Para una aplicación más compleja deberíamos definir además las claves y considerar más detenidamente el

tipo de campo a definir. Aconsejamos leer los capítulos del tutorial de SQL donde podréis consejos para

mejorar las prestaciones de las tablas.

3.-Relleno de la tabla imagenes con los gráficos de muestra Para rellenar rápidamente la tabla en un primer momento, sin necesidad de recurrir a sentencias SQL tipo

Insert, podemos crear un archivo de texto con los registros separados por líneas y los valores de campo,

puestos en el buen orden, separados por tabuladores. En el pack de descarga encontraréis el archivo texto

imagenes ya preparado. Lo único que tenéis que hacer es colocar el archivo en el directorio bin de MySQL y

ejecutar la siguiente orden en la base de datos:

Load data local infile "imagenes.txt" into table imagenes;

Con esto tendremos llena la tabla imagenes. Para comprobarlo teclead:

select * from imagenes;

Veréis como aparece en pantalla el contenido de la tabla que obviamente corresponde al del

archivo texto.

COMO EXPORTAR E INPORTAR UNA BASEDE DATOS MY SQL

Page 10: deberes de base de datos de my sql

EXPORTAR:

Hace poco necesitaba exportar una base de datos MYSQL que tengo en mi servidor

localhost, Sin embargo no quería instalar phpmyadmin. mysqldump -h ip_servidor -u

usuario_bd -p basededatos>archivo.sql

Importando la base de datos Si por el contrario ya tenemos nuestro archivo .sql y lo que

queremos es importar nuestra base de datos, debemos hacer lo siguiente: #Nos conectamos

al servidor: mysql -h ip_servidor -u usuario -p #Creamos la base de datos: create database

prueba; #Le decimos al motor cual BD usaremos: use prueba; #Ahora le damos la

ubicacion de nuestro archivo .sql source /home/usuario/Desktop/archivo.sql Con esto

habremos importado con exito nuestra base de datos a otro servidor, cabe aclarar que hay

aplicaciones que hacen mucho mas facil el proceso como (phpmyadmin), pero no esta de

mas saberlo hacer a mano.

Importación:

Importación de base de datos MySQLSi querés importar una base de datos, primero debes

asegurarte de tener la base de datos creada. Luego desde tu panel de control, accedé a

phpMyAdmin y hacé clic en Importar

ISTALACION DE MY SQL

El proceso de instalación es muy simple y prácticamente no requiere intervención por parte

del usuario.

Comienza el proceso; sólo nos llevará un par de minutos…

Page 12: deberes de base de datos de my sql

Una vez instalado MySQL, la siguiente fase es la configuración del servidor en sí mismo.

Asegúrate de que la marca Launch the MySQL Instance Configuration Wizard esté activa.

Adelante, sin miedo…

Optamos por Detailed Configuration, de modo que se optimice la configuración del

servidor MySQL.

Ha llegado un momento crucial. Dependiendo del uso que vayamos a darle a nuestro

servidor deberemos elegir una opción u otra, cada una con sus propios requerimientos de

memoria. Puede que te guste la opción Developer Machine, para desarrolladores, la más

apta para un uso de propósito general y la que menos recursos consume. Si vas a compartir

servicios en esta máquina, probablemente Server Machine sea tu elección o, si vas a

dedicarla exclusivamente como servidor SQL, puedes optar por Dedicated MySQL Server

Machine, pues no te importará asignar la totalidad de los recursos a esta función.

Page 13: deberes de base de datos de my sql

De nuevo, para un uso de propósito general, te recomiendo la opción por defecto,

Multifunctional Database.

InnoDB es el motor subyacente que dota de toda la potencia y seguridad a MySQL. Su

funcionamiento requiere de unas tablas e índices cuya ubicación puedes configurar. Sin

causas de fuerza mayor, acepta la opción por defecto.

Esta pantalla nos permite optimizar el funcionamiento del servidor en previsión del número

de usos concurrentes. La opción por defecto, Decision Support (DSS) / OLAP será

probablemente la que más te convenga.

Page 14: deberes de base de datos de my sql

Deja ambas opciones marcadas, tal como vienen por defecto. Es la más adecuada para un

uso de propósito general o de aprendizaje, tanto si eres desarrollador como no. Aceptar

conexiones TCP te permitirá conectarte al servidor desde otras máquinas (o desde la misma

simulando un acceso web típico).

Hora de decidir qué codificación de caracteres emplearás. Salvo que quieras trabajar con

Unicode porque necesites soporte multilenguaje, probablemente Latin1 te sirva (opción por

defecto).

Instalamos MySQL como un servicio de Windows (la opción más limpia) y lo marcamos

para que el motor de la base de datos arranque por defecto y esté siempre a nuestra

disposición. La alternativa es hacer esto manualmente.

Además, me aseguro de marcar que los ejecutables estén en la variable PATH, para poder

invocar a MySQL desde cualquier lugar en la línea de comandos.

Page 15: deberes de base de datos de my sql

Pon una contraseña al usuario root. Esto siempre es lo más seguro.

Si lo deseas, puedes indicar que el usuario root pueda acceder desde una máquina diferente

a esta, aunque debo advertirte de que eso tal vez no sea una buena práctica de seguridad.

Última etapa: listos para generar el fichero de configuración y arrancar el servicio.

CONFIGURACION DE MY SQL

•[client]–password = my_password •contraseña general de acceso para los clientes (es aconsejable usar el sistema de autentificación de MySQL)–port = 3306 •puerto dónde se conectaran los clientes (acceso via TCP/IP)–socket = /var/run/mysqld/mysqld.sock •acceso mediante sockets Unix (localhost)Configuración básica de MySQL4Configuración

Page 16: deberes de base de datos de my sql

•[safe_mysqld]–err-log = /var/log/mysql/mysql.err •archivo dónde se registrarán los errores del servidor •[mysqld]–user = mysql •usuario bajo el cual se ejecuta el servidor–pid-file = /var/run/mysqld/mysqld.pid •Fichero en el que el servidor guarda el ID del proceso demonio de escucha (daemon).–socket = /var/run/mysqld/mysqld.sock •Fichero en el que el servidor crear el socket–port = 3306 •Puerto desde donde se aceptaran conexionesConfiguración básica de MySQL5Configuración •[mysqld]–log = /var/log/mysql.log •Archivo donde se registra el log–basedir = /usr •Directorio donde se encuentra MySQL.–datadir = /var/lib/mysql •Directorio donde están los datos–tmpdir = /tmp •Directorio temporal (para crear pej. tablas temporales)–language =/usr/share/mysql/english •Archivo de mensajes–skip-locking •No usar sistema de bloqueo (para hacer chequeos se tendrá que parar el servidor)–skip-networking •No escucha conexiones TCP/IPConfiguración básica de MySQL6Configuración •[mysql.server]–set-variable = key_buffer=16M •tamaño de buffer de los índices–set-variable = max_allowed_packet=1M •tamaño máximo de un paquete. Se tendrá que incrementar si se quiere utilizarcolumnasBLOB grandes.–set-variable = thread_stack=128K •tamaño de cada hilo–set-variable = max_connections=650 •número máximo de conexiones simultáneasConfiguración básica de MySQL7Configuración •[mysql.server]–set-variable= wait_timeout=9600 •segundos que el servidor esperará actividad en conexiones no interactivas antes decerrar–set-variable = connect_timeout=10 •segundos que el servidor esperará un paquete de conexión antes de responder con Bad handshake.–set-variable = max_connect_errors=10 •si hay más de este número de conexiones interrumpidas por el servidor, el servidor es bloqueado–log-slow-queries = /var/log/mysql/mysql-slow.log •registra las consultas lentas–skip-innodb •no utiliza bases de datos tipo innodb

Page 17: deberes de base de datos de my sql