Введение
В этом проекте вы научитесь изменять первичный ключ таблицы countrylanguage в базе данных MySQL. Исходный первичный ключ был основан только на столбце CountryCode, но для лучшей организации вы создадите составной первичный ключ, используя оба столбца CountryCode и Language.
👀 Предварительный просмотр
MariaDB [world]> DESC countrylanguage;
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3) | NO | PRI | | |
| Language | char(30) | NO | PRI | | |
| IsOfficial | enum('T','F') | NO | | F | |
| Percentage | decimal(4,1) | NO | | 0.0 | |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.001 sec)
🎯 Задачи
В этом проекте вы научитесь:
- Как обращаться к MySQL с использованием команды
sudoбез пароля - Как импортировать данные из SQL-файла в базу данных MySQL
- Как изменить первичный ключ таблицы на составной ключ
🏆 Достижения
После завершения этого проекта вы сможете:
- Разобраться в важности использования составного первичного ключа для лучшей организации данных
- С уверенностью вносить изменения в структуру первичного ключа таблицы MySQL
- Применять свои знания SQL-запросов для достижения желаемых изменений в базе данных
Доступ к MySQL и импорт данных
В этом шаге вы научитесь обращаться к MySQL с использованием команды sudo без пароля и импортировать данные из /home/labex/project/world.sql в MySQL.
- Откройте терминал и выполните следующую команду, чтобы запустить службу MySQL:
sudo service mysql start
- Доступ к MySQL с использованием команды
sudoбез пароля:
sudo mysql
- Импортируйте данные из
/home/labex/project/world.sqlв MySQL и переключитесь на базу данныхworld:
MariaDB [(none)]> SOURCE /home/labex/project/world.sql;
Изменить первичный ключ
В этом шаге вы научитесь изменить первичный ключ таблицы countrylanguage на составной ключ, состоящий из CountryCode и Language.
- Откройте файл
changePri.sql. - Добавьте следующие SQL-выражения в файл
changePri.sql:
-- Delete the original primary key constraint
ALTER TABLE countrylanguage DROP PRIMARY KEY;
-- Add the compound primary key constraints
ALTER TABLE countrylanguage ADD PRIMARY KEY (CountryCode, Language);
- Сохраните файл
changePri.sql. - Запустите скрипт
changePri.sqlв MySQL:
MariaDB [world]> SOURCE /home/labex/project/changePri.sql;
- Проверьте изменения в таблице
countrylanguage:
MariaDB [world]> DESC countrylanguage;
В выводе должно теперь отображаться составной первичный ключ, состоящий из CountryCode и Language.
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3) | NO | PRI | | |
| Language | char(30) | NO | PRI | | |
| IsOfficial | enum('T','F') | NO | | F | |
| Percentage | decimal(4,1) | NO | | 0.0 | |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.001 sec)
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



