Введение
В этом проекте вы научитесь использовать стандартные функции 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.
- Запустите службу MySQL:
sudo service mysql start
- Обращайтесь к MySQL с использованием команды
sudo:
sudo mysql
- Импортируйте данные из файла
/home/labex/project/personnel.sqlв базу данныхpersonnel:
MariaDB [(none)]> SOURCE /home/labex/project/personnel.sql;
Теперь вы успешно подключились к MySQL и импортировали данные в базу данных personnel.
Напишите SQL-скрипт
В этом шаге вы напишете SQL-скрипт для извлечения имени, дневной заработной платы и количества дней на работе для каждого сотрудника в таблице emp.
- Откройте файл
BasicFunctions.sql. - Добавьте следующий 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 года.
- Сохраните файл
BasicFunctions.sql.
Запустите SQL-скрипт
В этом шаге вы запустите SQL-скрипт, который вы создали на предыдущем шаге.
- В提示符 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, чтобы улучшить свои навыки.



