Create a MySQL table named countries and enforce a constraint to allow only entries for Italy, India, and China
MySQL Create Tables: Exercise-7 with Solution
7. Write a MySQL query to create a table named countries including columns country_id, country_name and region_id and make sure that no countries except Italy, India and China will be entered in the table.
Sample Solution:
Let execute the above code in MySQL command prompt
Here is the structure of the table:
mysql> DESC countries; +--------------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------------+------+-----+---------+-------+ | COUNTRY_ID | varchar(2) | YES | | NULL | | | COUNTRY_NAME | varchar(40) | YES | | NULL | | | REGION_ID | decimal(10,0) | YES | | NULL | | +--------------+---------------+------+-----+---------+-------+ 3 rows in set (0.01 sec)
Explanation:
The said MySQL code creates a table named "countries" if it doesn't already exist. The table has three columns:
- COUNTRY_ID: Stores two-letter country codes.
- COUNTRY_NAME: Stores the names of countries (up to 40 characters), and it includes a CHECK constraint to ensure that only specific country names ('Italy', 'India', 'China') are allowed in this column.
- REGION_ID: Stores region IDs with decimal precision of 10, 0.
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a SQL statement to create a table named jobs including columns job_id, job_title, min_salary, max_salary and check whether the max_salary amount exceeding the upper limit 25000.
Next: Write a SQL statement to create a table named job_histry including columns employee_id, start_date, end_date, job_id and department_id and make sure that the value against column end_date will be entered at the time of insertion to the format like '--/--/----'.
What is the difficulty level of this exercise?