Общая функциональность в комплексе

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

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

Введение

В этом проекте вы научитесь подключаться к 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-запросами

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") subgraph Lab Skills mysql/use_database -.-> lab-301342{{"Общая функциональность в комплексе"}} mysql/select -.-> lab-301342{{"Общая функциональность в комплексе"}} mysql/source -.-> lab-301342{{"Общая функциональность в комплексе"}} mysql/database -.-> lab-301342{{"Общая функциональность в комплексе"}} end

Подключение к MySQL и импорт данных

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

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

Запрос имен сотрудников и годовых доходов

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

  1. Добавьте следующий код в файл 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(): Отображает информацию о текущем учете в базе данных.
  1. Выполните файл 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, чтобы улучшить свои навыки.