MySQL 데이터베이스 테이블 제약 조건 수정

SQLBeginner
지금 연습하기

소개

이 프로젝트에서는 IsOfficial 필드에서 "not null" 제약 조건을 제거하여 MySQL 데이터베이스의 countrylanguage 테이블을 수정하는 방법을 배우게 됩니다.

👀 미리보기

MariaDB [world]> DESC countrylanguage;
+-------------+---------------+------+-----+---------+-------+
| Field       | Type          | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3)       | NO   | PRI |         |       |
| Language    | char(30)      | NO   | PRI |         |       |
| IsOfficial  | enum('T','F') | YES  |     | NULL    |       |
| Percentage  | decimal(4,1)  | NO   |     | 0.0     |       |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.002 sec)

🎯 과제

이 프로젝트에서는 다음을 배우게 됩니다.

  • sudo 명령을 사용하여 MySQL 데이터베이스를 시작하고 액세스하는 방법
  • world.sql 데이터 파일을 MySQL 데이터베이스로 가져오는 방법
  • IsOfficial 필드에서 "not null" 제약 조건을 제거하여 countrylanguage 테이블을 수정하는 방법
  • countrylanguage 테이블에 적용된 변경 사항을 확인하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다.

  • 명령줄 인터페이스를 사용하여 MySQL 데이터베이스를 사용하는 방법을 이해합니다.
  • 필드의 제약 조건을 변경하여 테이블 구조를 수정합니다.
  • 테이블 구조를 설명하여 테이블에 적용된 변경 사항을 확인합니다.

MySQL 데이터베이스 시작 및 MySQL 접속

이 단계에서는 MySQL 데이터베이스를 시작하고 비밀번호 없이 sudo 명령을 사용하여 액세스하는 방법을 배우게 됩니다.

  1. MySQL 데이터베이스 서비스 시작:
sudo service mysql start
  1. MySQL 명령줄 인터페이스에 액세스:
sudo mysql

이제 MySQL 데이터베이스 작업을 할 준비가 되었습니다.

World 데이터베이스 가져오기

이 단계에서는 world.sql 데이터 파일을 MySQL 데이터베이스로 가져오고 world 데이터베이스로 전환하는 방법을 배우게 됩니다.

  1. world.sql 데이터 파일 가져오기:
MariaDB [None]> SOURCE /home/labex/project/world.sql;
  1. world 데이터베이스로 전환:
MariaDB [None]> USE world;

이제 world 데이터베이스가 로드되어 작업을 시작할 준비가 되었습니다.

countrylanguage 테이블 수정

이 단계에서는 countrylanguage 테이블의 IsOfficial 필드에서 "not null" 제약 조건을 제거하는 방법을 배우게 됩니다.

  1. 텍스트 편집기에서 changeNull.sql 파일을 엽니다.
  2. 다음 SQL 문을 파일에 추가합니다.
ALTER TABLE countrylanguage MODIFY COLUMN IsOfficial ENUM('T', 'F') NULL;

이 문은 countrylanguage 테이블의 IsOfficial 필드에서 "not null" 제약 조건을 제거합니다.

  1. changeNull.sql 파일을 저장합니다.

changeNull.sql 스크립트 실행

이 단계에서는 MySQL 명령줄 인터페이스에서 changeNull.sql 스크립트를 실행하는 방법을 배우게 됩니다.

  1. MySQL 명령줄 인터페이스에서 다음 명령을 실행하여 changeNull.sql 스크립트를 실행합니다.
MariaDB [world]> SOURCE /home/labex/project/changeNull.sql;

이렇게 하면 changeNull.sql 파일의 SQL 문이 실행되고 countrylanguage 테이블이 수정됩니다.

변경 사항 검증

이 단계에서는 countrylanguage 테이블에 적용된 변경 사항을 확인하는 방법을 배우게 됩니다.

  1. MySQL 명령줄 인터페이스에서 다음 명령을 실행하여 countrylanguage 테이블을 설명합니다 (describe).
MariaDB [world]> DESC countrylanguage;

출력 결과는 IsOfficial 필드에서 "not null" 제약 조건이 제거되었음을 보여줍니다.

+-------------+---------------+------+-----+---------+-------+
| Field       | Type          | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3)       | NO   | PRI |         |       |
| Language    | char(30)      | NO   | PRI |         |       |
| IsOfficial  | enum('T','F') | YES  |     | NULL    |       |
| Percentage  | decimal(4,1)  | NO   |     | 0.0     |       |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.002 sec)

축하합니다! IsOfficial 필드에서 "not null" 제약 조건을 제거하여 countrylanguage 테이블을 성공적으로 수정했습니다.

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.

✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습