Простая база данных курсов

MySQLMySQLBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь создавать простую базу данных курсов с использованием MySQL. Проект включает в себя настройку базы данных MySQL, создание таблиц и импорт данных из CSV-файлов в базу данных.

👀 Предпросмотр

Предпросмотр неготовой базы данных курсов

🎯 Задачи

В этом проекте вы научитесь:

  • Как запустить базу данных MySQL и получить доступ к ней с использованием MySQL командной строки клиента
  • Как создать базу данных и пользователя с необходимыми правами
  • Как импортировать схему базы данных из SQL-скрипта
  • Как импортировать данные из CSV-файлов в таблицы базы данных

🏆 Достижения

После завершения этого проекта вы сможете:

  • Разобраться в основной структуре и настройке базы данных MySQL
  • Выполнять общие операции с базой данных, такие как создание базы данных, таблиц и импорт данных
  • Применить свои знания для построения и управления простой системой базы данных курсов

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql(("MySQL")) -.-> mysql/SystemManagementToolsGroup(["System Management Tools"]) mysql(("MySQL")) -.-> mysql/TransactionManagementandSecurityGroup(["Transaction Management and Security"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") mysql/BasicKeywordsandStatementsGroup -.-> mysql/create_database("Database Creation") mysql/BasicKeywordsandStatementsGroup -.-> mysql/create_table("Table Creation") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/insert("Data Insertion") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") mysql/TransactionManagementandSecurityGroup -.-> mysql/identified_by("User Authentication") mysql/TransactionManagementandSecurityGroup -.-> mysql/grant_permission("Permission Granting") mysql/SystemManagementToolsGroup -.-> mysql/mysqladmin("Admin Utility") subgraph Lab Skills mysql/use_database -.-> lab-301272{{"Простая база данных курсов"}} mysql/create_database -.-> lab-301272{{"Простая база данных курсов"}} mysql/create_table -.-> lab-301272{{"Простая база данных курсов"}} mysql/select -.-> lab-301272{{"Простая база данных курсов"}} mysql/insert -.-> lab-301272{{"Простая база данных курсов"}} mysql/source -.-> lab-301272{{"Простая база данных курсов"}} mysql/identified_by -.-> lab-301272{{"Простая база данных курсов"}} mysql/grant_permission -.-> lab-301272{{"Простая база данных курсов"}} mysql/mysqladmin -.-> lab-301272{{"Простая база данных курсов"}} end

Запустите базу данных MySQL и получите доступ к MySQL

В этом шаге вы научитесь запускать базу данных MySQL и получать доступ к ней с использованием MySQL командной строки клиента.

  1. Запустите службу базы данных MySQL с помощью следующей команды:

    sudo service mysql start
  2. Получите доступ к MySQL командной строки клиента с помощью следующей команды:

    sudo mysql

    Это войдет вас в MySQL командную строку клиента без пароля.

Создайте базу данных LabEx и пользователя

В этом шаге вы научитесь создавать базу данных labex и пользователя labex с необходимыми правами.

  1. Создайте базу данных labex с использованием следующего SQL-выражения:

    CREATE DATABASE labex;
  2. Создайте пользователя labex с необходимыми правами с использованием следующего SQL-выражения:

    GRANT ALL PRIVILEGES ON labex.* TO 'labex'@'%' IDENTIFIED BY 'labex';
    FLUSH PRIVILEGES;

    Это создаст пользователя labex с паролем labex и предоставит этому пользователю все права на базу данных labex.

Импортируйте схему базы данных

В этом шаге вы научитесь импортировать схему базы данных из скрипта labex_db_info.sql.

  1. Выполните следующее SQL-выражение для импорта схемы базы данных:

    SOURCE /home/labex/project/labex_db_info.sql;

    Это создаст необходимые таблицы (user, course и usercourse) в базе данных labex.

Импортируйте CSV-файлы с данными

В этом шаге вы научитесь импортировать CSV-файлы с данными в соответствующие таблицы.

  1. Импортируйте файл labex_user.csv в таблицу user с использованием следующего SQL-выражения:

    LOAD DATA LOCAL INFILE '/home/labex/project/labex_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';
  2. Импортируйте файл labex_course.csv в таблицу course с использованием следующего SQL-выражения:

    LOAD DATA LOCAL INFILE '/home/labex/project/labex_course.csv' INTO TABLE course FIELDS TERMINATED BY ',';
  3. Импортируйте файл labex_usercourse.csv в таблицу usercourse с использованием следующего SQL-выражения:

    LOAD DATA LOCAL INFILE '/home/labex/project/labex_usercourse.csv' INTO TABLE usercourse FIELDS TERMINATED BY ',';

Проверьте импорт данных

В этом шаге вы научитесь проверять импорт данных, выполняя запросы к таблицам.

  1. Выполните следующее SQL-выражение, чтобы проверить данные в таблице usercourse:

    SELECT * FROM usercourse LIMIT 10;

    Это покажет первые 10 строк таблицы usercourse, что позволит вам проверить, были ли данные импортированы правильно.

Результат должен выглядеть примерно так:

MariaDB [labex]> SELECT * FROM usercourse LIMIT 10;
+---------+-----------+------------+
| user_id | course_id | study_time |
+---------+-----------+------------+
|     279 |       742 |         96 |
|     114 |       744 |         74 |
|     492 |       680 |         84 |
|      65 |       498 |         46 |
|     141 |       729 |         23 |
|     193 |       729 |         18 |
|     943 |        63 |         98 |
|     437 |       498 |         28 |
|     942 |       742 |         76 |
|     616 |         1 |          7 |
+---------+-----------+------------+
10 rows in set (0.000 sec)

Поздравляем! Вы успешно создали базу данных LabEx и импортировали необходимые данные. Теперь вы можете использовать эту базу данных для дальнейшего анализа и разработки.

✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.