Tutorial Básico de MySQL
Sobre MySQL
MySQL es un software de gestión de base de datos de código abierto que ayuda a los usuarios a almacenar, organizar y recuperar sus datos. Es un programa muy potente con mucha flexibilidad, este tutorial proporcionará la introducción más simple a MySQL
¿Cómo Instalar MySQL en Ubuntu y CentOS?
Si no tiene MySQL instalado, puede descargarlo muy facil y rapido.
Ubuntu:
sudo apt-get install mysql-server
CentOs:
sudo yum install mysql-server
/etc/init.d/mysqld start
¿Cómo acceder al shell de MySQL?
Una vez que haya instalado MySQL, puede acceder al shell de MySQL escribiendo el siguiente comando en terminal:
mysql -u root -p
Después de ingresar la contraseña root de MySQL en el prompt (no confundir con la contraseña root root), usted podrá comenzar a construir su base de datos MySQL.
Dos puntos a tener en cuenta:
- Todos los comandos de MySQL terminan con un punto y coma; Si la frase no termina con un punto y coma, el comando no se ejecutará.
- Además, aunque no es necesario, los comandos de MySQL suelen estar escritos en mayúsculas y las bases de datos, las tablas, los nombres de usuario o el texto están en minúsculas para que sean más fáciles de distinguir. Sin embargo, la línea de comandos de MySQL no distingue entre mayúsculas y minúsculas.
¿Cómo crear y eliminar una base de datos MySQL?
MySQL organiza su información en bases de datos; Cada uno puede contener tablas con datos específicos.
Puede comprobar rápidamente qué bases de datos están disponibles escribiendo:
SHOW DATABASES;
Su pantalla debería verse así:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.01 sec)
Crear una base de datos es muy fácil y sencillo:
CREATE DATABASE database name;
En este caso, por ejemplo, llamaremos a nuestra base de datos "eventos".
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| events |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
En MySQL, la frase más utilizada para eliminar objetos es Drop. Usted borraría una base de datos MySQL con este comando:
DROP DATABASE database name;
¿Cómo acceder a una base de datos MySQL?
Una vez que tengamos una nueva base de datos, podemos comenzar a llenarla con la siguiente información.
El primer paso es crear una nueva tabla dentro de la base de datos más grande.
Vamos a abrir la base de datos que queremos utilizar:
USE events;
De la misma manera que puede comprobar las bases de datos disponibles, también puede ver una vista general de las tablas que contiene la base de datos.
SHOW tables;
Dado que se trata de una nueva base de datos, MySQL no tiene nada que mostrar, y recibirá un mensaje que dice: "Empty set"
¿Cómo crear una tabla de MySQL?
Imaginemos que estamos planeando una reunión de amigos. Podemos usar MySQL para rastrear los detalles del evento.
Vamos a crear una nueva tabla MySQL:
CREATE TABLE potluck (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
food VARCHAR(30),
confirmed CHAR(1),
signup_date DATE);
Este comando logra una serie de cosas:
- Ha creado una tabla llamada potluck dentro del directorio, eventos.
- Hemos creado 5 columnas en la tabla-id, nombre, comida, confirmada y fecha de registro.
- La columna "id" tiene un comando (INT NOT NULL PRIMARY KEY AUTO_INCREMENT) que numera automáticamente cada fila.
- La columna "nombre" ha sido limitada por el comando VARCHAR para tener menos de 20 caracteres.
- La columna de "comida" designa la comida que cada persona traerá. El VARCHAR limita el texto a ser inferior a 30 caracteres.
- La columna "confirmada" registra si la persona tiene RSVP'd con una letra, Y o N.
- La columna "fecha" mostrará cuándo se inscribieron para el evento. MySQL requiere que las fechas se escriban como aaaa-mm-dd
Echemos un vistazo a cómo la tabla aparece dentro de la base de datos usando el "SHOW TABLES;":
mysql> SHOW TABLES;
+------------------+
| Tables_in_events |
+------------------+
| potluck |
+------------------+
1 row in set (0.01 sec)
Podemos recordarnos sobre la organización de la tabla con este comando:
DESCRIBE potluck;
Tenga en cuenta que, aunque la línea de comandos de MySQL no presta atención a los casos, los nombres de la tabla y de la base de datos son sensibles a mayúsculas y minúsculas: potluck no es lo mismo que POTLUCK o Potluck.
mysql>DESCRIBE potluck;
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| food | varchar(30) | YES | | NULL | |
| confirmed | char(1) | YES | | NULL | |
| signup_date | date | YES | | NULL | |
+-------------+-------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
¿Cómo agregar información a una tabla de MySQL?
Tenemos una mesa de trabajo para nuestro grupo. Ahora podemos empezar a rellenar los detalles.
Utilice este formato para insertar información en cada fila:
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "John", "Casserole","Y", '2012-04-11');
Una vez que ingrese eso, verá las palabras:
Query OK, 1 row affected (0.00 sec)
Vamos a añadir un par de personas más a nuestro grupo:
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Sandy", "Key Lime Tarts","N", '2012-04-14');
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Tom", "BBQ","Y", '2012-04-18');
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Tina", "Salad","Y", '2012-04-10');
Podemos echar un vistazo a nuestra mesa:
mysql> SELECT * FROM potluck;
+----+-------+----------------+-----------+-------------+
| id | name | food | confirmed | signup_date |
+----+-------+----------------+-----------+-------------+
| 1 | John | Casserole | Y | 2012-04-11 |
| 2 | Sandy | Key Lime Tarts | N | 2012-04-14 |
| 3 | Tom | BBQ | Y | 2012-04-18 |
| 4 | Tina | Salad | Y | 2012-04-10 |
+----+-------+----------------+-----------+-------------+
4 rows in set (0.00 sec)
¿Cómo actualizar información en la tabla?
Ahora que hemos comenzado nuestra lista de potluck, podemos abordar cualquier otro posible cambio. Por ejemplo: Sandy ha confirmado que asiste, así que vamos a actualizar eso en la tabla.
UPDATE `potluck`
SET
`confirmed` = 'Y'
WHERE `potluck`.`name` ='Sandy';
También puede utilizar este comando para agregar información a celdas específicas, incluso si están vacías.
¿Cómo agregar y eliminar una columna?
Estamos creando un gráfico práctico, pero falta información importante: los correos electrónicos de nuestros asistentes.
Podemos agregar fácilmente esto:
ALTER TABLE potluck ADD email VARCHAR(40);
Este comando pone la nueva columna llamada "correo electrónico" al final de la tabla de forma predeterminada, y el comando VARCHAR lo limita a 40 caracteres.
Sin embargo, si necesita colocar esa columna en un punto específico de la tabla, podemos agregar una frase más al comando.
ALTER TABLE potluck ADD email VARCHAR(40) AFTER name;
Ahora la nueva columna de "correo electrónico" va después de la columna "nombre".
Del mismo modo que puede agregar una columna, también puede eliminar una:
ALTER TABLE potluck DROP email;
Supongo que nunca sabremos como llegar a los picnickers.
¿Cómo eliminar una fila?
Si es necesario, también puede eliminar filas de la tabla con el siguiente comando:
DELETE from [table name] where [column name]=[field text];
Por ejemplo, si Sandy de repente se dio cuenta de que no podría participar en el potluck después de todo, podríamos eliminar rápidamente sus detalles.
mysql> DELETE from potluck where name='Sandy';
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM potluck;
+----+------+-----------+-----------+-------------+
| id | name | food | confirmed | signup_date |
+----+------+-----------+-----------+-------------+
| 1 | John | Casserole | Y | 2012-04-11 |
| 3 | Tom | BBQ | Y | 2012-04-18 |
| 4 | Tina | Salad | Y | 2012-04-10 |
+----+------+-----------+-----------+-------------+
3 rows in set (0.00 sec)
Tenga en cuenta que los números de identificación asociados con cada persona siguen siendo los mismos.
Fuente. Artículo traducido y con muy ligeras modificaciones de: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-debian