Изменить первичный ключ таблицы Countrylanguage

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

Введение

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

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

Изменить первичный ключ

В этом шаге вы научитесь изменить первичный ключ таблицы countrylanguage на составной ключ, состоящий из CountryCode и Language.

  1. Откройте файл changePri.sql.
  2. Добавьте следующие 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);
  1. Сохраните файл changePri.sql.
  2. Запустите скрипт changePri.sql в MySQL:
MariaDB [world]> SOURCE /home/labex/project/changePri.sql;
  1. Проверьте изменения в таблице 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, чтобы улучшить свои навыки.

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