Введение
В этом проекте вы научитесь подключаться к MySQL, импортировать данные и запрашивать информацию о сотрудниках с использованием встроенных функций MySQL.
👀 Предварительный просмотр
MariaDB [personnel]> SOURCE /home/labex/project/answer.sql;
+------------------------------------------+---------------+----------------+
| Name | Annual Income | Current User |
+------------------------------------------+---------------+----------------+
| bc70be7f38046e64dd779f276ce4a20f99153f26 | 800.000 | root@localhost |
| 6e1cae96112fe249dc0fb4f9a004c9dc04315608 | 1,900.000 | root@localhost |
| 7c7f32425fa076caeed971f5549c82ffa88fd0eb | 1,750.000 | root@localhost |
| a1787353201302d65c744486c1e940709fee0eff | 2,975.000 | root@localhost |
| f3b9b87a2f377c006e935f32dd25ea55ebf7f551 | 2,650.000 | root@localhost |
| 7cde55b3a6e9cf610db200b6b9cc9b5adca1657f | 2,850.000 | root@localhost |
| 4f90e103facadd0787d7a6828f096f6e66595a47 | 2,450.000 | root@localhost |
| 7634fdc80aa4027cfd5e966abc1b6b4b4ea19fbe | 3,000.000 | root@localhost |
| 50b8a339f82ab9ce6c55bf8ea10dad8513e9d142 | 5,000.000 | root@localhost |
| e043e3d3ebddafaa5ed97f7dcc4d236286f8ad4a | 1,500.000 | root@localhost |
| 2d2eb27e1db8836e44cd4e94f58b89728331e8de | 1,100.000 | root@localhost |
| 6afc44af3cbdbb6718e8da8715a1956b895dc5d2 | 950.000 | root@localhost |
| 7e5b07d8bbb5e0a55b5d428476d4691b3ee97b4a | 3,000.000 | root@localhost |
| 25d5ae3b0e0dac511ba94e337b88e0887538b31f | 1,300.000 | root@localhost |
+------------------------------------------+---------------+----------------+
14 rows in set (0.000 sec)
🎯 Задачи
В этом проекте вы научитесь:
- Подключаться к MySQL с использованием команды
sudoбез пароля - Импортировать данные из SQL-файла в базу данных MySQL
- Запрашивать имена и годовые доходы сотрудников из таблицы
emp - Шифровать имена сотрудников с использованием функции SHA
- Форматировать годовые доходы с тремя знаками после запятой
- Отображать текущую информацию о базе данных и учетной записи
🏆 Достижения
После завершения этого проекта вы сможете:
- С уверенностью подключаться и управлять базой данных MySQL с использованием командной строки
- Выполнять операции импорта данных и базовых запросов к данным
- Применять встроенные функции MySQL для манипулирования и форматирования данных
- Понимать важность безопасности и шифрования данных
- Показать свою способность работать с базами данных MySQL и SQL-запросами
Подключиться к MySQL и импортировать данные
В этом шаге вы научитесь подключаться к MySQL с использованием команды sudo без пароля и импортировать данные из /home/labex/project/personnel.sql в MySQL, а также переключиться на базу данных personnel.
- Откройте терминал и запустите службу MySQL с использованием следующей команды:
sudo service mysql start
- Подключитесь к MySQL с использованием команды
sudo:
sudo mysql
- Импортируйте данные из
/home/labex/project/personnel.sqlв MySQL и переключитесь на базу данныхpersonnel:
MariaDB [None]> SOURCE /home/labex/project/personnel.sql;
Запросить имена сотрудников и годовой доход
В этом шаге вы научитесь запрашивать имена и годовые доходы всех сотрудников в таблице emp и отображать информацию о текущем учете в базе данных для текущей операции.
- Добавьте следующий код в файл
answer.sql.
SELECT SHA(emp.ename) AS 'Name',
FORMAT(IFNULL(emp.sal, 0) + IFNULL(emp.comm, 0), 3) AS 'Annual Income',
CURRENT_USER() AS 'Current User'
FROM emp;
Что делает этот код:
SHA(emp.ename): Шифрует имена сотрудников с использованием функции SHA.IFNULL(emp.sal, 0) + IFNULL(emp.comm, 0): Вычисляет годовой доход, добавляя столбцы зарплаты (sal) и бонуса (comm), и заменяя любые значения NULL на 0.FORMAT(..., 3): Форматирует годовой доход с тремя знаками после запятой.CURRENT_USER(): Отображает информацию о текущем учете в базе данных.
- Выполните файл
answer.sql.
SOURCE /home/labex/project/answer.sql;
Запрос вернет следующий результат:
+------------------------------------------+---------------+----------------+
| Name | Annual Income | Current User |
+------------------------------------------+---------------+----------------+
| bc70be7f38046e64dd779f276ce4a20f99153f26 | 800.000 | root@localhost |
| 6e1cae96112fe249dc0fb4f9a004c9dc04315608 | 1,900.000 | root@localhost |
| 7c7f32425fa076caeed971f5549c82ffa88fd0eb | 1,750.000 | root@localhost |
| a1787353201302d65c744486c1e940709fee0eff | 2,975.000 | root@localhost |
| f3b9b87a2f377c006e935f32dd25ea55ebf7f551 | 2,650.000 | root@localhost |
| 7cde55b3a6e9cf610db200b6b9cc9b5adca1657f | 2,850.000 | root@localhost |
| 4f90e103facadd0787d7a6828f096f6e66595a47 | 2,450.000 | root@localhost |
| 7634fdc80aa4027cfd5e966abc1b6b4b4ea19fbe | 3,000.000 | root@localhost |
| 50b8a339f82ab9ce6c55bf8ea10dad8513e9d142 | 5,000.000 | root@localhost |
| e043e3d3ebddafaa5ed97f7dcc4d236286f8ad4a | 1,500.000 | root@localhost |
| 2d2eb27e1db8836e44cd4e94f58b89728331e8de | 1,100.000 | root@localhost |
| 6afc44af3cbdbb6718e8da8715a1956b895dc5d2 | 950.000 | root@localhost |
| 7e5b07d8bbb5e0a55b5d428476d4691b3ee97b4a | 3,000.000 | root@localhost |
| 25d5ae3b0e0dac511ba94e337b88e0887538b31f | 1,300.000 | root@localhost |
+------------------------------------------+---------------+----------------+
14 rows in set (0.000 sec)
Запрос сохранен в файле /home/labex/project/answer.sql.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



