Files
nuitdelinfo2023/api/database.sql
2023-12-08 01:37:38 +01:00

60 lines
1.6 KiB
SQL

SET default_storage_engine = InnoDB;
DROP DATABASE IF EXISTS `nuitdelinfo2023`;
CREATE DATABASE IF NOT EXISTS `nuitdelinfo2023`
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
DROP USER IF EXISTS 'nuitdelinfo2023';
CREATE USER 'nuitdelinfo2023'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON nuitdelinfo2023.* TO 'nuitdelinfo2023'@'localhost';
USE `nuitdelinfo2023`;
CREATE TABLE users (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(64) NOT NULL,
password VARCHAR(255) NOT NULL,
score INT UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (id),
INDEX ur_username_idx (username)
) ENGINE=InnoDB;
CREATE TABLE games (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
player INT UNSIGNED NOT NULL,
PRIMARY KEY (id),
INDEX g_player_idx (player)
) ENGINE=InnoDB;
CREATE TABLE themes (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
theme VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE questions (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
theme INT UNSIGNED NOT NULL,
question VARCHAR(255) NOT NULL,
PRIMARY KEY (id),
INDEX q_theme_idx (theme)
) ENGINE=InnoDB;
CREATE TABLE answers (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
question INT UNSIGNED NOT NULL,
answer VARCHAR(255) NOT NULL,
correct BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (id),
INDEX a_question_idx (question)
) ENGINE=InnoDB;
CREATE TABLE game_questions (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
game INT UNSIGNED NOT NULL,
question INT UNSIGNED NOT NULL,
score INT UNSIGNED,
PRIMARY KEY (id),
INDEX gq_game_idx (game),
INDEX gq_question_idx (question)
) ENGINE=InnoDB;