Создание и обновление представлений базы данных

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

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

Введение

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

👀 Предварительный просмотр

MySQL [edusys]> SELECT * FROM student WHERE ID = '70557';
+-------+---------+------+
| id    | name    | cred |
+-------+---------+------+
| 70557 | History |    0 |
+-------+---------+------+
1 row in set (0.001 sec)

🎯 Задачи

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

  • Как создавать представление на основе существующей таблицы
  • Как обновлять данные в представлении

🏆 Достижения

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

  • Разобраться в концепции представления базы данных и как создать его
  • Изменять данные в представлении с использованием SQL-запросов UPDATE
  • Применить эти навыки для управления и поддержки данных в базе данных

Создание представления студента

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

  1. Запустите MySQL:

    sudo /etc/init.d/mysql start
  2. Войдите в терминал MySQL:

    mysql -uroot
  3. Импортируйте данные из скрипта edusys.sql в MySQL:

    SOURCE ~/project/edusys.sql
  4. Создайте новый файл с именем updateView.sql в директории ~/project.

  5. Добавьте в файл код для создания представления под названием teaches_view, которое содержит следующие поля:

    student student_view
    ID id
    name name
    tot_cred cred

    Код должен выглядеть следующим образом:

    USE edusys
    CREATE VIEW IF NOT EXISTS student_view AS
    SELECT ID AS id, name AS name, tot_cred AS cred
    FROM student;

    Это создает представление под названием student_view, которое выбирает столбцы ID, name и tot_cred из таблицы student и переименовывает их соответственно в id, name и cred.

Обновление представления студента

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

  1. Откройте файл updateView.sql и добавьте в него код для обновления поля name значением 'History' для записи с id '70557' в представлении student_view:

    UPDATE student_view
    SET name = 'History'
    WHERE id = '70557';

    Это обновляет поле name до 'History' для строки в представлении student_view, где id равно '70557'.

  2. Финальный код выглядит следующим образом:

    USE edusys
    -- Создайте таблицу student_view с соответствующими полями, как показано в таблице
    CREATE VIEW IF NOT EXISTS student_view AS
    SELECT ID AS id, name AS name, tot_cred AS cred
    FROM student;
    
    -- Обновите поле name значением History для записи с id 70557 в представлении student_view
    UPDATE student_view
    SET name = 'History'
    WHERE id = '70557';
  3. Запустите SQL-скрипт в терминале MySQL.

    SOURCE ~/project/updateView.sql
  4. Проверьте обновление, выбрав данные из таблицы student, где ID равно '70557':

    SELECT * FROM student WHERE ID = '70557';

    Вывод должен показать обновленное поле name:

    +-------+---------+------+
    | id    | name    | cred |
    +-------+---------+------+
    | 70557 | History |    0 |
    +-------+---------+------+
    1 row in set (0.001 sec)

Поздравляем! Вы успешно создали представление студента и обновили данные в представлении.

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

Резюме

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