Este post incluye un video a youtube el cual hice en inglés (sólo para fines educativos) pero aquí están las instrucciones en español.
youtube: https://www.youtube.com/embed/6PsSq8cZMd8
Podemos usar algún gestor de base de datos aunque para esta tarea sencilla vamos a usar el cliente de MySQL, abrimos la terminal y tecleamos lo siguiente:
$ mysql -upeter -p
Enter password:
Donde, con -u especificamos el usuario de la base de datos, en esta caso peter y con -p, vamos a teclear el password de la base de datos. Una vez que estemos conectados al servidor MySQL aparecerá un mensaje de bienvenida y se mostrará el indicador mysql>, en el cual podemos enviar los comandos SQL para su ejecución.
Estando en el promp de mysql (mysql>), vamos a crear la base de datos con la siguiente sentencia:
$ create database todo_app;
Dependiendo de la versión que tengas de MySQL va a ser el tipo de codificación de caracteres que se aplique a la base de datos. Para fines prácticos los vamos a dejar como los setea por default MySQL.
A continuación vamos a crear la tabla para almacenar las tareas (task) de nuestra aplicación, esto mediante el siguiente script SQL el cual pegamos en el pront de MySQL:
CREATE TABLE `task` (
`id` int NOT NULL AUTO_INCREMENT,
`title` varchar(45) NOT NULL,
`description` text,
`creation_date` datetime DEFAULT NULL,
`finish_date` datetime DEFAULT NULL,
`finished` tinyint NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
En la siguiente imagen podemos ver cual es la respuesta después de pegar el script SQL, si todo va bien mysql va a contestar, Query OK, 0 rows affected (0.05 sec):
Este script crea las siguientes columnas en la tabla task:
Nombre Tipo de dato Descripción id int Es un entero (int) auto incrementable. Se usa para identificar nuestra task. title varchar(45) El título de la tarea. description text Si queremos ponerle una descripción a la tarea. creation_date datetime Se usa para guardar la fecha y hora de creación de la task. finish_date datetime Se usa para guardar la fecha y hora de finalización de la task finished tinyInt Se usa para indicar si una tarea es finalizada o no. Va a guardar un 1 para indicar si está terminada o 0 de lo contrario.Espero sea de ayuda.
Saludos.