Комплексная практика функций MySQL

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

Введение

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

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

MariaDB [personnel]> SOURCE /home/labex/project/BasicFunctions.sql;
+--------+--------+-------------+
| Name   | Salary | Days on Job |
+--------+--------+-------------+
| HTIMS  |  26.67 |       14990 |
| NELLA  |  53.33 |       14925 |
| DRAW   |  41.67 |       14923 |
| SENOJ  |  99.17 |       14884 |
| NITRAM |  41.67 |       14705 |
| EKALB  |  95.00 |       14855 |
| KRALC  |  81.67 |       14816 |
| TTOCS  | 100.00 |       12621 |
| GNIK   | 166.67 |       14655 |
| RENRUT |  50.00 |       14725 |
| SMADA  |  36.67 |       12621 |
| SEMAJ  |  31.67 |       14639 |
| DROF   | 100.00 |       14639 |
| RELLIM |  43.33 |       14588 |
+--------+--------+-------------+
14 rows in set (0.000 sec)

🎯 Задачи

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

  • Как обращаться к MySQL с использованием команды sudo без пароля
  • Как импортировать данные из SQL-файла в базу данных MySQL
  • Как написать SQL-скрипт для извлечения имени, дневной заработной платы и количества дней на работе для каждого сотрудника в таблице emp
  • Как использовать функции MySQL, такие как REVERSE(), ROUND() и DATEDIFF(), для манипуляции данными

🏆 Достижения

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

  • Эффективно обращаться и управлять базой данных MySQL с использованием командной строки
  • Использовать стандартные функции MySQL для выполнения сложных задач по извлечению и манипуляции данными
  • Разрабатывать SQL-скрипты для автоматизации обработки и отчета по данным
  • Показать свое понимание основных принципов MySQL и их практического применения

Доступ к MySQL и импорт данных

В этом шаге вы научитесь обращаться к MySQL с использованием команды sudo без пароля и импортировать данные из файла /home/labex/project/personnel.sql в базу данных personnel.

  1. Запустите службу MySQL:
sudo service mysql start
  1. Обращайтесь к MySQL с использованием команды sudo:
sudo mysql
  1. Импортируйте данные из файла /home/labex/project/personnel.sql в базу данных personnel:
MariaDB [(none)]> SOURCE /home/labex/project/personnel.sql;

Теперь вы успешно подключились к MySQL и импортировали данные в базу данных personnel.

Напишите SQL-скрипт

В этом шаге вы напишете SQL-скрипт для извлечения имени, дневной заработной платы и количества дней на работе для каждого сотрудника в таблице emp.

  1. Откройте файл BasicFunctions.sql.
  2. Добавьте следующий SQL-код в файл BasicFunctions.sql:
SELECT REVERSE(ename) AS `Name`,
       ROUND(sal/30, 2) AS `Salary`,
       DATEDIFF('2022-01-01', hiredate) AS `Days on Job`
FROM emp;

Этот SQL-код будет:

  • Извлекать имя, дневную заработную плату и количество дней на работе для каждого сотрудника в таблице emp.
  • Отображать имя в обратном порядке.
  • Вычислять дневную заработную плату, предполагая 30 дней в месяце и округляя до двух знаков после запятой.
  • Вычислять количество дней на работе, найдя разницу между датой найма и 1 января 2022 года.
  1. Сохраните файл BasicFunctions.sql.

Запустите SQL-скрипт

В этом шаге вы запустите SQL-скрипт, который вы создали на предыдущем шаге.

  1. В提示符 MySQL выполните следующую команду для выполнения скрипта BasicFunctions.sql:
MariaDB [personnel]> SOURCE /home/labex/project/BasicFunctions.sql;

Это выполнит SQL-скрипт и выведет результаты в提示符 MySQL.

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

+--------+--------+-------------+
| Name   | Salary | Days on Job |
+--------+--------+-------------+
| HTIMS  |  26.67 |       14990 |
| NELLA  |  53.33 |       14925 |
| DRAW   |  41.67 |       14923 |
| SENOJ  |  99.17 |       14884 |
| NITRAM |  41.67 |       14705 |
| EKALB  |  95.00 |       14855 |
| KRALC  |  81.67 |       14816 |
| TTOCS  | 100.00 |       12621 |
| GNIK   | 166.67 |       14655 |
| RENRUT |  50.00 |       14725 |
| SMADA  |  36.67 |       12621 |
| SEMAJ  |  31.67 |       14639 |
| DROF   | 100.00 |       14639 |
| RELLIM |  43.33 |       14588 |
+--------+--------+-------------+
14 rows in set (0.000 sec)

Поздравляем! Вы успешно завершили проект, создав и запустив SQL-скрипт для извлечения информации из таблицы emp в базе данных personnel.

Резюме

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

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