Sobre MySQL
MySQL es un software de gestión de bases de datos de código abierto que ayuda a los usuarios a almacenar, organizar y recuperar datos. Es un programa muy potente con mucha flexibilidad: este tutorial proporcionará la introducción más sencilla a MySQL
Cómo instalar MySQL en Ubuntu y CentOS
Si no tienes MySQL instalado en tu droplet, puedes descargarlo rápidamente.
Ubuntu:
1 |
sudo apt-get install mysql-server |
Centos:
1 2 |
sudo yum install mysql-server /etc/init.d/mysqld start |
Cómo acceder al shell de MySQL
Una vez que tengas MySQL instalado en tu droplet, puedes acceder al shell de MySQL escribiendo el siguiente comando en la terminal:
1 |
mysql -u root -p |
Después de ingresar la contraseña root de MySQL en el indicador (no debe confundirse con la contraseña de root del droplet), podrás comenzar a construir tu 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 obligatorio, los comandos de MySQL generalmente se escriben en mayúsculas y las bases de datos, tablas, nombres de usuarios o 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 tu información en bases de datos; Cada uno puede contener tablas con datos específicos.
Puedes verificar rápidamente qué bases de datos están disponibles escribiendo:
1 |
SHOW DATABASES; |
En tu pantalla debería verse algo como esto:
1 2 3 4 5 6 7 8 9 10 |
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:
1 |
CREATE DATABASE database name; |
En este caso, por ejemplo, llamaremos “events” a nuestra base de datos.
1 2 3 4 5 6 7 8 9 10 11 |
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. Deberías eliminar una base de datos MySQL con este comando:
1 |
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 información.
El primer paso es crear una nueva tabla dentro de la base de datos más grande.
Abrimos la base de datos que queremos utilizar:
1 |
USE events; |
De la misma forma en que pudiste verificar las bases de datos disponibles, también puedes ver una descripción general de las tablas que contiene la base de datos.
1 |
SHOW tables; |
Cómo crear una tabla en 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 de MySQL:
1 2 3 4 5 |
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:
- Se ha creado una tabla llamada potluck dentro del directorio, events.
- Hemos configurado 5 columnas en la tabla: id, name, food, confirmed, y signup date.
- La columna “id” tiene un comando (INT NOT NULL PRIMARY KEY AUTO_INCREMENT) que numera automáticamente cada fila.
- La columna “name” ha sido limitada por el comando VARCHAR para que tenga menos de 20 caracteres.
- La columna de “food” designa la comida que cada persona traerá. El VARCHAR limita el texto a menos de 30 caracteres.
- La columna “confirmed ” registra si la persona ha respondido con una letra, Y o N.
- La columna “date” se mostrará cuando se registraron para el evento. MySQL requiere que las fechas se escriban como yyyy-mm-dd.
Veamos cómo aparece la tabla dentro de la base de datos usando el comando “SHOW TABLES;”:
1 2 3 4 5 6 7 |
mysql> SHOW TABLES; +------------------+ | Tables_in_events | +------------------+ | potluck | +------------------+ 1 row in set (0.01 sec) |
Podemos recordarnos sobre de que trata la tabla con este comando:
1 |
DESCRIBE potluck; |
Ten en cuenta que a pesar de que la línea de comandos de MySQL no presta atención a los casos, la tabla y los nombres de las bases de datos distinguen entre mayúsculas y minúsculas: potluck no es lo mismo que POTLUCK o Potluck.
1 2 3 4 5 6 7 8 9 10 11 |
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 MySQL
Tenemos una tabla de trabajo para nuestra fiesta. Ahora es el momento de comenzar a completar los detalles.
Utiliza este formato para insertar información en cada fila:
1 2 |
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "John", "Casserole","Y", '2012-04-11'); |
Una vez que ingresas esto, verás las palabras:
1 |
Query OK, 1 row affected (0.00 sec) |
Agreguemos un par de personas más a nuestro grupo:
1 2 3 4 5 6 |
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 tabla:
1 2 3 4 5 6 7 8 9 10 |
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 la información en la tabla
Ahora que hemos comenzado nuestra lista de potluck, podemos abordar cualquier cambio posible. Por ejemplo: Sandy ha confirmado que asistirá, por lo que vamos a actualizar eso en la tabla.
1 2 3 4 |
UPDATE `potluck` SET `confirmed` = 'Y' WHERE `potluck`.`name` ='Sandy'; |
También puedes usar 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 útil, pero falta información importante: los correos electrónicos de nuestros asistentes.
Podemos añadir fácilmente esto:
1 |
ALTER TABLE potluck ADD email VARCHAR(40); |
Este comando coloca la nueva columna llamada “email” al final de la tabla de forma predeterminada, y el comando VARCHAR lo limita a 40 caracteres.
Sin embargo, si necesitas colocar esa columna en un lugar específico de la tabla, podemos agregar una frase más al comando.
1 |
ALTER TABLE potluck ADD email VARCHAR(40) AFTER name; |
Ahora la nueva columna de “email” se ha agreagado después de la columna “name”.
Al igual que puedes agregar una columna, también puedes eliminar una:
1 |
ALTER TABLE potluck DROP email; |
Supongo que nunca sabremos cómo comunicarnos con los asistentes.
Cómo eliminar una fila
Si es necesario, también puedes eliminar filas de la tabla con el siguiente comando:
1 |
DELETE from [table name] where [column name]=[field text]; |
Por ejemplo, si Sandy de repente se da cuenta de que no podrá participar en la comida después de todo, podríamos eliminar rápidamente sus detalles.
1 2 3 4 5 6 7 8 9 10 11 12 |
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) |
Observa que los números de identificación asociados con cada persona siguen siendo los mismos.