Anda di halaman 1dari 12

Comandos y funciones de MySQL.

PhpMyAdmin

Gracias por compartir:


0
0
0
112

Esta es la tercera y última parte del curso de MySQL para principiantes. Ayer
vimos los comandos básicos de MySQL para crear, modificar y borrar bases de
datos, tablas y registros. Hoy vamos a ver cómo enlazar tablas, cómo crear
usuarios, las funciones básicas de MySQL y una introducción a phpMyAdmin.

Este curso de MySQL para principiantes consta de tres entregas:

 Introducción a las Bases de Datos Relacionales.


 Instalación y Conceptos Básicos de MySQL.
 Comandos y funciones de MySQL. Introducción a phpMyAdmin.
Enlazar tablas
Vamos a seguir con el ejemplo de ayer para ver como podemos enlazar tablas
usando el comando joins de select.
Teníamos la base de datos biblioteca. Para los que justo os incorporáis al curso,
la podéis crear y seleccionar con:

1 create database biblioteca;


2 use biblioteca;
Volvemos a crear la tabla libros, pero esta vez incluimos el campo editorial:

1 create table libros(


2 libro_id int unsigned auto_increment,
3 titulo varchar(50) not null,
4 autor varchar(30) not null default 'Desconocido',
5 codigo_editorial int unsigned not null,
6 cantidad smallint unsigned default 0,
7 primary key (libro_id)
8 );
Y ahora también creamos una tabla editoriales:

1 create table editoriales (


2 editorial_id int unsigned auto_increment,
3 nombre_editorial varchar(25) not null,
4 primary key (editorial_id)
5 );
Ahora necesitamos crear una serie de registros para ambas tablas para ver el
funcionamiento en la práctica:

1 insert into libros (titulo, autor, codigo_editorial, cantidad)

2 values ("Técnicas avanzadas de posicionamiento en


buscadores", "Fernando Maciá Domene", 1, 2);
3 insert into libros (titulo, autor, codigo_editorial, cantidad)
4 values ("Diseño Web con CSS", "Ralph G. Schulz ", 2, 1);
5 insert into libros (titulo, autor, codigo_editorial, cantidad)

6 values ("Usabilidad. Prioridad en el diseño Web", "Jakob


Nielsen", 1, 1);
1 insert into editoriales (nombre_editorial) values ("Anaya");
2 insert into editoriales (nombre_editorial) values ("Marcombo");
En la tabla editoriales, Anaya es el registro 1 y Marcombo el registro 2. Ahora
queremos mostrar los libros de la editorial Anaya, probad esto:

1 select * from libros where codigo_editorial=1;


Veremos que efectivamente sólo se muestran los libros de la editorial Anaya,
pero en el campo editorial aparece el número 1. Lo que nosotros queremos es
que en este campo aparezca el nombre de la editorial y no su código. Aquí entra
el comando left join para vincular tablas.

Left join
1 select * from libros join editoriales
2 on editoriales.editorial_id = libros.codigo_editorial;
En este caso, vemos los libros de todas las editoriales, pero también aparece los
campos codigo_editorial y editorial_id que no queremos visualizar en los
resultados:

Para evitarlo, cambiamos el comodín asterisco por los campos que queremos
visualizar:

1 select libros.titulo, libros.autor,libros.cantidad,


editoriales.nombre_editorial

2 from libros join editoriales on editoriales.editorial_i


d = libros.codigo_editorial;
El resultado es:

Si solo queremos visualizar los libros de la editorial Anaya, entonces hemos de


modificar el código:

1 select libros.titulo, libros.autor,libros.cantidad,


editoriales.nombre_editorial

2 from libros join editoriales on editoriales.editorial_id =


libros.codigo_editorial
3 where libros.codigo_editorial=1;
Finalmente, el resultado es:

Hay otros tipos de comandos join, para más información te invitamos a ver
la documentación oficial de MySQL.

Unión de tablas
Con MySQL también podemos unir las consultas a varias tablas en un único
conjunto de resultados. Para ello utilizamos el comando union. Es importante
tener en cuenta que ambas tablas han de tener el mismo número de campos o
nos dará error. Un ejemplo será:

select libros.titulo from libros union selecteditoriales.nombre_editorial


1
from editoriales;

Crear un usuario en MySQL


Cuando creamos un usuario, tenemos que definir qué tipo de acceso le damos
de los tres disponibles: local, remoto y total. También hemos de definir
los permisos que el usuario tendrá: si sólo de lectura o de lectura y escritura.

Acceso total y permisos de lectura y escritura


A continuación vamos a crear un usuario llamado administrador en la base de
datos bibliotecacon la contraseña 123abc. A este usuario le vamos a dar
un perfil de administrador, esto es, total acceso y permisos de escritura y
lectura:

1 grant all privileges on biblioteca.* to 'administrador'@'localhost'


2 identified by '123abc' with grant option;
3 flush privileges;
Ponemos flush privileges para no tener que esperar a que se reinicie
el servidor para que se hagan efectivos los permisos.

El tema de los permisos y gestión de usuarios excede este curso para


principiantes, para los que queráis saber más, os recomiendo consultar la
página de referencia de MySQL.

Las funciones en MySQL


La mayoría de las funciones que veremos en este curso de MySQL para
principiantes se crean usando el comando select, pero puedes utilizar las
funciones de MySQL de manera mucho más amplia. A continuación veremos las
funciones básicas de MySQL para incluir en la programación de nuestras bases
de datos.

Convertir una cadena de caracteres en mayúsculas

1 select upper(titulo) from libros;


Nos devuelve el título en mayúsculas de todos los libros incluidos en la
tabla libros.
Convertir una cadena de caracteres en mínusculas

1 select lower(titulo) from libros;


Nos devuelve el título en mínusculas de todos los libros incluidos en la
tabla libros.

Concatenar cadenas
Para ilustrarlo, vamos a crear una tabla usuarios dentro de biblioteca
1 use biblioteca;
2 create table usuarios (
3 usuario_id int unsigned auto_increment,
4 nombre varchar(30) not null,
5 primer_apellido varchar(30) not null,
6 primary key (usuario_id)
7 );
Ahora vamos a insertar un par de registros en esta tabla:

insert into usuarios (nombre,


1
primer_apellido) values ("Sara", "Gutiérrez");
insert into usuarios (nombre,
2
primer_apellido) values ("Pablo", "Morales");
Para ver el nombre y el apellido como una cadena, hacemos:

1 select concat (nombre, ' ' , primer_apellido) from usuarios;


El resultado será que veremos en pantalla lo siguiente:

En el título de los resultados vemos que pone concat (nombre, ‘ ‘ ,


primer_apellido), pero nosotros queremos que ponga Usuarios. Con esto
introducimos el comando as:

1 select concat (nombre, ' ' , primer_apellido) as Usuarios from usuarios;


Ahora vemos que en lugar de concat (nombre, ‘ ‘ ,
primer_apellido) aparece Usuarios:

Longitud de una cadena de texto


Con el comando length podemos calcular el número de caracteres de una
palabra o frase:

1 select length('mi casa');


El resultado es 7, ya que también cuenta los espacios.

Para más funciones con cadenas, os recomendamos ver la guía oficial de


MySQL.

Funciones numéricas
Primero de todo, veamos los operadores numéricos:
Suma

1 select 3+5;
Muestra en pantalla 8.

Resta

1 select 3-5;
Muestra en pantalla -2.

Multiplicación

1 select 3*5;
Muestra en pantalla 15.

División

1 select 3/5;
Muestra en pantalla 0.60.

Mödulo
El módulo es el resto de una división.

1 select 5%2;
Muestra en pantalla 1.

Entre las funciones numéricas destacamos:

Raíz cuadrada

1 select sqrt(4);
Devuelve 2.

Redondeo
El primer valor de la funcion round(n1, n2) es el número decimal que queremos
redondear y el segundo valor es el número de decimales que se han de
conservar.

1 select round(56.443, 2);


Devuelve 56.44.

Rand
Muestra un número aleatorio entre 0 y 1

1 select rand();
Para otras funciones numéricas, os recomendamos este enlace de MySQL.

Funciones para la fecha y hora


Las funciones para la fecha y la hora de MySQL son particularmente flexible y
útiles. Tanto si lo que quieres es hacer un cálculo basado en la fecha (por
ejemplo, obtener la edad dividiendo la fecha actual con la de nacimiento), o
simplemente devolver el nombre del mes, existe una función de MySQL para
cada propósito. Aquí sólo veremos una selección de las mismas, puede
consultar la página de desarrollo de MySQL para ver todas las funciones que
tienes disponibles.

Mostrar la fecha actual

1 select curdate();
Muestra 2012-03-01.

Mostrar la hora actual

1 select curtime();
Muestra 18:15:32.

Mostrar la fecha y hora actual


1 select now();
El formato del resultado es: 2012-03-01 18:15:32.

Extraer la fecha de un resultado

1 select date('2011-12-31 01:02:03');


El formato del resultado es: 2011-12-31.

Escapa del alcance de este curso el entrar en detalle en todas las funciones
disponibles en MySQL, puedes encontrar toda la información en la guía oficial
de desarrolladores de MySQL.

Introducción a phpMyAdmin
Os recomiendo el uso de phpMyAdmin a todos los que aprendéis MySQL con el
objetivo de combinarlo en la creación de páginas web dinámicas. En sí, todos
los gestores de contenidos basados en PHP y MySQL lo traen integrado, como es
el caso de WordPress, Joomla y Drupal. phpMyAdmin es una herramienta de
software gratuita pensada para la fácil administración de MySQL en Internet.

Las operaciones más usadas, como crear, modificar y borrar bases de datos,
tablas o registros se pueden realizar a través de su interfaz sin necesidad de
saber MySQL, lo que lo convierte en una estupenda herramienta para las
personas que no conocen el lenguaje. También es útil cuando, aún
conociéndolo, se trata de ir rápido, pues no has de prestar atención en la
sintaxis de cada una de las sentencias. Uno de los puntos fuertes es que cada
vez que haces algo con la interfaz, no sólo da el resultado, sino que te muestra
en pantalla la sintaxis que ha utilizado para llevarlo a cabo, lo que también es
una herramienta excelente de aprendizaje.

Veamos un ejemplo. Tenemos ya creadas la base de datos biblioteca junto con


las tablas libros, usuarios y editoriales. Ahora queremos insertar un nuevo libro
en la tabla libros. Veremos esta pantalla:
Como vemos, nos permite introducir dos registros, para ello, deberíamos quitar
la marca de “Ignorar”. Podéis ver en la imagen que he creado un libro titulado
“Me lo invento” de autor “Desconocido” de la editorial 1 y del que tenemos 2 en
total. Cuando pulsamos en “Continuar”, vemos esta pantalla:
Como vemos, no sólo nos confirma que se ha creado una nueva fila en la tabla
libros, sino que además nos muestra el código generado. Es una excelente
interfaz gráfica para el desarrollo web.

Entre otras funciones, phpMyAdmin puede crear y eliminar bases de datos,


crear, modificar y eliminar alterar tablas, añadir, editar y borrar campos,
ejecutar cualquier sentencia de MySQL, crear, editar y borrar usuarios,
administrar privilegios, así como importar y exportar datos en varios formatos.
Estas funciones de importar y exportar también son muy útiles cuando
queremos trasladar nuestro blog a otro sistema, por ejemplo, de Drupal a
WordPress.

Crear una base de datos con phpMyAdmin


Para crear una base de datos, vamos a la pestaña “Base de Datos” en el campo
“Crea una base de datos”, ponemos el nombre de la base de datos que queremos
crear y pulsamos “Crear”:

Borrar una base de datos con phpMyAdmin


En la misma pestaña que antes, seleccionamos la base de datos que queremos
borrar y pulsamos “Eliminar”:
Crear una tabla con phpMyAdmin
En la pestaña anterior, clicamos encima de la base de datos que queremos
modificar. Veremos que hemos seleccionado la base de datos, porque, tal y
como vemos en la siguiente imagen, aparecerá en el panel lateral de
phpMyAdmin. Suponiendo que no hemos eliminadovideoteca.hacemos clic
sobre ella y veremos esto:

Como hacíamos anteriormente, hemos de especificar el número de campos que


tendrá la tabla. En el paso siguiente habremos de especificar los valores de los
campos, tal y como hacíamos manualmente:
Para modificar o borrar una tabla, haremos lo mismo que hicimos con las bases
de datos: la seleccionamos y le damos a “Eliminar”. Para insertar un registro, en
la pantalla donde aparece la tabla, pulsamos “Insertar” y en la siguiente pantalla
rellenamos los diferentes campos:

Anda mungkin juga menyukai