Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

28
Aprenda MySQL en 120 minutos Tutorial Tutorial

Transcript of Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Page 1: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Aprenda MySQL en 120 minutos

TutorialTutorial

Page 2: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Personas que estén interesadas en aprender a utilizar el servidor MySQL en una plataforma Linux.

✔ Se recomienda que se tengan conocimientos básicos de bases de datos relacionales y del lenguaje SQL.

Dirigido a...Dirigido a...

Page 3: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ Definición y características de MySQL✔ Versiones disponibles✔ Instalación de MySQL en Linux✔ Conexión a MySQL✔ Creación de bases de datos✔ Ejecución de consultas✔ Creación de respaldos✔ Sistema de privilegios✔ Eliminación de bases de datos✔ APIs de programación✔ Clientes gráficos

Temas que serán tratadosTemas que serán tratados

Page 4: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Para definir qué es MySQL se puede usar cualquiera de las siguientes opciones:

✔ Es un servidor de bases de datos.

✔ Es un sistema de administración de bases de datos.

✔ Es un manejador de bases de datos.

¿ Qué es MySQL ? ¿ Qué es MySQL ?

Page 5: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ Rápido.

✔ Seguro.

✔ Fácil de usar.

✔ Estable.

✔ Disponible en muchas plataformas.

* Dichas características hacen que MySQL sea bastante apropiado en el desarrollo de aplicaciones web.

Características de MySQL Características de MySQL

Page 6: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ Anterior versión estable, 4.0 ( 4.0.26 )

✔ Actual versión estable, 4.1

( 4.1.14 )

✔ Futura versión estable, 5.0

( 5.0.13rc )

* Actualmente las versiones más usadas de MySQL, son la 4.0 y la 4.1.

Versiones de MySQL Versiones de MySQL

Page 7: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

A través de MySQL AB

✔ Archivos binarios independientes de la distribución de Linux.

✔ Paquetes que utilizan el manejador de paquetes de RedHat.

✔ Código fuente que se tiene que compilar.

A través de la distribución de Linux

✔ RedHat, Debian, SuSE, etc... etc...

Obtener MySQL para LinuxObtener MySQL para Linux

Page 8: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Versión a instalar: 4.1.14 estándar independiente de la distribución.

# groupadd mysql # useradd -g mysql mysql

# cd /usr/local# tar zxf /tmp/mysql-standard-4.1.14-pc-linux-gnu-i686.tar.gz# mv mysql-standard-4.1.14-pc-linux-gnu-i686 mysql4

# cd mysql4# chown -R root.root .# ./scripts/mysql_install_db# chown -R mysql.mysql data

Instalación de MySQL en LinuxInstalación de MySQL en Linux

Page 9: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

# ./bin/mysqld_safe &

Para poder usar todos los comandos disponibles de MySQL, es recomendable actualizar la variable de ambiente PATH.

# export PATH=/usr/local/mysql4/bin:$PATH

Iniciar el servidor MySQLIniciar el servidor MySQL

Page 10: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Uso del monitor mysql

mysql es un programa que se ejecuta desde el prompt del sistema, que permite conectarse a un servidor MySQL para enviarle consultas y comandos, y ver los resultados.

Este comando permite:

✔ Consultar información de las bases de datos y tablas✔ Crear bases de datos y tablas✔ Eliminar bases de datos y tablas.✔ Asignar y revocar privilegios.✔ Consultar, insertar, actualizar y eliminar registros de una tabla.

Conectarse a MySQL Conectarse a MySQL

Page 11: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ Sintaxis del comando mysql

$shell> mysql [-h hostname] [-u usuario] [-p] [base de datos]

✔ Para una conexión a un host local como usuario root, las siguientes líneas son equivalentes.

# mysql

# mysql -u root

# mysql -h localhost -u root

Conectarse a MySQL - ejemploConectarse a MySQL - ejemplo

Page 12: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Si se puede establecer la conexión a MySQL, se obtiene un mensaje de bienvenida, y se cambia el prompt, indicando que se pueden enviar consultas al servidor.

# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 25 to server version: 3.23.41

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Conectarse a MySQLConectarse a MySQL

Page 13: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ El programa mysql permite ver las bases de datos existentes.

mysql> SHOW DATABASES ;

//Ejemplo

mysql> SHOW DATABASES;+----------+| Database |+----------+| mysql || test |+----------+2 rows in set (0.00 sec)

Ver las bases de datosVer las bases de datos

Page 14: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ El programa mysql permite crear bases de datos

mysql> CREATE DATABASE nombreBaseDatos ;

//Ejemplo

mysql> CREATE DATABASE agendita;Query OK, 1 row affected (0.00 sec)

Crear una base de datosCrear una base de datos

Page 15: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ Con el cliente mysql se puede seleccionar la base de datos sobre la que se va a trabajar.

mysql> USE nombreBaseDatos ;

//Ejemplo

mysql> USE agendita;Database changed

Usar una base de datosUsar una base de datos

Page 16: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Al seleccionar una base de datos, se pueden crear las tablas necesarias.

Se utiliza la sentencia SQL CREATE TABLE.

//Ejemplo

mysql> CREATE TABLE contactos ( -> id INT NOT NULL AUTO_INCREMENT , -> nombre VARCHAR(50) NOT NULL , -> email VARCHAR(50) NOT NULL , -> telefono VARCHAR(20) NOT NUL , -> PRIMARY KEY (id) ); Query OK, 0 rows affected (0.02 sec)

Crear una tablaCrear una tabla

Page 17: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ El programa mysql permite ver las tablas de una base de datos.

mysql> SHOW TABLES ;

//Ejemplo

mysql> SHOW TABLES;+--------------------+| Tables_in_agendita |+--------------------+| contactos |+--------------------+1 row in set (0.00 sec)

Ver las tablas de una base datosVer las tablas de una base datos

Page 18: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ Con el cliente mysql se puede examinar la estructura de una tabla.

mysql> DESC nombreTabla ;

//Ejemplo

mysql> DESC contactos;+----------+-------------+------+-----+---------+| Field | Type | Null | Key | Default |+----------+-------------+------+-----+---------+| id | int(11) | | PRI | NULL | | nombre | varchar(50) | YES | | NULL | | email | varchar(50) | YES | | NULL | | telefono | varchar(50) | YES | | NULL | +----------+-------------+------+-----+---------+4 rows in set (0.00 sec)

Ver las columnas de una tablaVer las columnas de una tabla

Page 19: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Uso de la sentencia INSERT

mysql> INSERT INTO contactos VALUES -> (0, 'Juan Penas', '[email protected]', '5675 -

7383' );

mysql> INSERT INTO contactos VALUES -> (0, 'Bety la fea', '[email protected]', '6373 -

3459' );

mysql> INSERT INTO contactos VALUES -> (0, 'Pepe pecas', '[email protected]', '7282 -

2728' );

mysql> INSERT INTO contactos VALUES -> (0, 'Mary B.', '[email protected]', '3459 -

2339');

Insertar registros en una tablaInsertar registros en una tabla

Page 20: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Uso de la sentencia SELECT

mysql> SELECT * FROM contactos;

mysql> SELECT nombre, email FROM contactos;

mysql> SELECT nombre, email, telefono FROM contactos

-> WHERE id = 3;

mysql> SELECT * FROM contactos WHERE nombre -> LIKE 'Pepe%';

mysql> SELECT COUNT(*) AS num FROM contactos;

Consultar registrosConsultar registros

Page 21: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Uso de la sentencia UPDATE

mysql> UPDATE contactos SET telefono='6373 -3459' -> WHERE id = 1;

mysql> UPDATE contactos SET -> nombre = 'Mary Boquitas' WHERE id = 2;

mysql> UPDATE contactos SET email='[email protected]',

-> telefono = '7383 -3489' WHERE id = 3; mysql> SELECT * FROM contactos;

Actualizar registrosActualizar registros

Page 22: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Uso de la sentencia DELETE

mysql> SELECT * FROM contactos WHERE -> nombre LIKE 'Bety%';

mysql> DELETE FROM contactos WHERE -> nombre LIKE 'Bety%';

mysql> SELECT * FROM contactos WHERE id >= 3;

mysql> DELETE FROM contactos WHERE id >= 3; mysql> SELECT * FROM contactos;

Eliminar registrosEliminar registros

Page 23: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Asignación del password al administrador de MySQL

# mysqladmin -u root password 'holahola'

A partir de asignar un password al administrador de MySQL (el usuario root) se tiene que proporcionar dicho password cadavez que se quiera realizar alguna operación sobre las bases de datos.

Para que MySQL pregunte por el password, se usa la opción -p

# mysql -p# mysqlshow -p# mysqladmin -p

Sistema de privilegiosSistema de privilegios

Page 24: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

Con la sentencia GRANT se otorgan privilegios.

// Ejemplo

mysql> GRANT SELECT, INSERT, UPDATE ON agendita.* TO pepito@localhost IDENTIFIED BY 'holahola' ;

Con la sentencia REVOKE se quitan privilegios.

// Ejemplo

mysql> REVOKE ALL PRIVILEGES ON agendita.* FROM pepito@localhost;

Sistema de privilegiosSistema de privilegios

Page 25: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ Desde el monitor mysql se pueden eliminar bases de datos.

mysql> DROP DATABASE nombreBaseDatos ;

//Ejemplo

mysql> DROP DATABASE agendita;Query OK, 0 rows affected (0.00 sec)

Eliminar una base de datosEliminar una base de datos

Page 26: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ C y C++✔ Perl✔ Python✔ Java✔ PHP✔ Delphi✔ C#

APIs de prograciónAPIs de progración

Page 27: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ Navicat✔ EMS MySQL Manager✔ Squirrel SQL✔ ISQL Viewer✔ Database Manager Profesional✔ SQLyog✔ Aqua Data Studio✔ MyDB Studio✔ MySQL Front✔ SQLion✔ MySQL Maestro

✔ MySQL Administrator✔ MySQL Query Browser

Clientes gráficos para MySQLClientes gráficos para MySQL

Page 28: Aprenda MySQL en 120 minutos Tutorial. Dirigido a...

✔ Sitio oficial de MySQL

http://www.mysql.com

✔ Sitio para desarrolladores de MySQL

http://dev.mysql.com

✔ Sitio en español con información de MySQL

http://www.mysql-hispano.org

Sitios de interésSitios de interés