MySQL Create Table - Упражнения, Практика, Решение
MySQL Create Table [20 упражнений с решением]
1. Напишите оператор SQL для создания простой таблицы стран, включая столбцы country_id, country_name и region_id.
Нажмите меня, чтобы увидеть решение
2. Напишите оператор SQL для создания простой таблицы стран, включая столбцы country_id, country_name и region_id, которые уже существуют.
Нажмите меня, чтобы увидеть решение
3. Напишите оператор SQL, чтобы создать структуру таблицы dup_countries, аналогичную странам.
Нажмите меня, чтобы увидеть решение
4. Напишите оператор SQL для создания дубликата таблицы стран, включая структуру и данные с именем dup_countries.
Нажмите меня, чтобы увидеть решение
5. Напишите оператор SQL для создания таблицы стран, установите ограничение NULL.
Нажмите меня, чтобы увидеть решение
6. Напишите оператор SQL для создания таблицы с именами jobs, включая столбцы job_id, job_title, min_salary, max_salary и проверьте, превышает ли значение max_salary верхний предел 25000.
Нажмите меня, чтобы увидеть решение
7. Напишите оператор SQL, чтобы создать таблицу с именами стран, включая столбцы country_id, country_name и region_id, и убедитесь, что в таблицу не будут включены никакие страны, кроме Италии, Индии и Китая.
Нажмите меня, чтобы увидеть решение
8. Напишите оператор SQL для создания таблицы с именем job_histry, включающей столбцы employee_id, start_date, end_date, job_id и Department_id, и убедитесь, что значение против столбца end_date будет введено во время вставки в формат, подобный '- / - / ----.
Нажмите меня, чтобы увидеть решение
9. Напишите оператор SQL, чтобы создать таблицу с именами стран, включая столбцы country_id, country_name и region_id, и убедитесь, что во время вставки не допускаются повторяющиеся данные для столбца country_id.
Нажмите меня, чтобы увидеть решение
10. Напишите оператор SQL для создания таблицы с именем jobs, включая столбцы job_id, job_title, min_salary и max_salary, и убедитесь, что значение по умолчанию для job_title пустое, а min_salary равно 8000, а max_salary равно NULL и будет введено автоматически во время вставка, если для указанных столбцов не назначено значение.
Нажмите меня, чтобы увидеть решение
11. Напишите оператор SQL, чтобы создать таблицу с именами стран, включая столбцы country_id, country_name и region_id, и убедитесь, что столбец country_id будет ключевым полем, которое не будет содержать дублирующихся данных на момент вставки.
Нажмите меня, чтобы увидеть решение
12. Напишите оператор SQL, чтобы создать таблицу стран, включая столбцы country_id, country_name и region_id, и убедитесь, что столбец country_id будет уникальным, и в нем будет сохранено автоматически увеличенное значение.
Нажмите меня, чтобы увидеть решение
13. Напишите оператор SQL для создания таблицы стран, включая столбцы country_id, country_name и region_id, и убедитесь, что комбинация столбцов country_id и region_id будет уникальной.
Нажмите меня, чтобы увидеть решение
14. Напишите оператор SQL для создания таблицы job_history, включающей столбцы employee_id, start_date, end_date, job_id и Department_id, и убедитесь, что столбец employee_id не содержит повторяющихся значений во время вставки, а столбец внешнего ключа job_id содержит только те значения, которые существуют в таблице заданий.
Вот структура таблицы заданий;
+ ------------ + -------------- + ------ + ----- + -------- - + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Extra | + ------------ + -------------- + ------ + ----- + -------- - + ------- + | JOB_ID | Варчар (10) | НЕТ | PRI | | | | JOB_TITLE | Варчар (35) | НЕТ | | NULL | | | MIN_SALARY | десятичное число (6,0) | ДА | | NULL | | | MAX_SALARY | десятичное число (6,0) | ДА | | NULL | | + ------------ + -------------- + ------ + ----- + -------- - + ------- +
Нажмите меня, чтобы увидеть решение
15. Напишите оператор SQL, чтобы создать таблицу сотрудников, включая столбцы employee_id, first_name, last_name, email, phone_number hire_date, job_id, зарплату, комиссию, manager_id и Department_id, и убедитесь, что столбец employee_id не содержит повторяющихся значений в то время столбцы вставки и внешнего ключа, объединенные столбцами отдела_ид и менеджера_идентификатора, содержат только те уникальные значения комбинации, какие комбинации существуют в таблице отделов.
Предположим структуру отделов таблицы ниже.
+ ----------------- + -------------- + ------ + ----- + --- ------ + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Extra | + ----------------- + -------------- + ------ + ----- + --- ------ + ------- + | DEPARTMENT_ID | десятичный (4,0) | НЕТ | PRI | 0 | | | DEPARTMENT_NAME | Варчар (30) | НЕТ | | NULL | | | MANAGER_ID | десятичное число (6,0) | НЕТ | PRI | 0 | | | LOCATION_ID | десятичный (4,0) | ДА | | NULL | | + ----------------- + -------------- + ------ + ----- + --- ------ + ------- +
Нажмите меня, чтобы увидеть решение
16. Напишите оператор SQL, чтобы создать таблицу сотрудников, включая столбцы employee_id, first_name, last_name, email, phone_number hire_date, job_id, зарплату, комиссию, manager_id и Department_id, и убедитесь, что столбец employee_id не содержит повторяющихся значений в то время вставки, а столбец внешнего ключа Department_id, ссылающийся на столбец Department_id таблицы отделов, может содержать только те значения, которые существуют в таблице отделов, а другой столбец внешнего ключа job_id, на который ссылается столбец job_id таблицы заданий, может содержать только те значения, которые существуют в таблице заданий. InnoDB Engine был использован для создания таблиц.
«Ограничение внешнего ключа не требуется просто для объединения двух таблиц. Для механизмов хранения, отличных от InnoDB, при определении столбца можно использовать предложение REFERENCES tbl_name (col_name), которое не имеет фактического эффекта и служит только в качестве памятки или прокомментируйте, что столбец, который вы сейчас определяете, предназначен для ссылки на столбец в другой таблице. " - Ссылка на dev.mysql.com
Предположим, что в структуре двух таблиц отделов и рабочих мест.
+ ----------------- + -------------- + ------ + ----- + --- ------ + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Extra | + ----------------- + -------------- + ------ + ----- + --- ------ + ------- + | DEPARTMENT_ID | десятичный (4,0) | НЕТ | PRI | 0 | | | DEPARTMENT_NAME | Варчар (30) | НЕТ | | NULL | | | MANAGER_ID | десятичное число (6,0) | ДА | | NULL | | | LOCATION_ID | десятичный (4,0) | ДА | | NULL | | + ----------------- + -------------- + ------ + ----- + --- ------ + ------- + + ------------ + -------------- + ------ + ----- + -------- - + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Extra | + ------------ + -------------- + ------ + ----- + -------- - + ------- + | JOB_ID | Варчар (10) | НЕТ | PRI | | | | JOB_TITLE | Варчар (35) | НЕТ | | NULL | | | MIN_SALARY | десятичное число (6,0) | ДА | | NULL | | | MAX_SALARY | десятичное число (6,0) | ДА | | NULL | | + ------------ + -------------- + ------ + ----- + -------- - + ------- +
Нажмите меня, чтобы увидеть решение
17. Напишите оператор SQL для создания таблицы сотрудников, включая столбцы employee_id, first_name, last_name, job_id, salary, и убедитесь, что столбец employee_id не содержит повторяющихся значений во время вставки, а также столбец внешнего ключа job_id, на который ссылаются по столбцу job_id таблицы jobs, может содержать только те значения, которые существуют в таблице jobs. InnoDB Engine был использован для создания таблиц. Особенность этого утверждения заключается в том, что действие ON UPDATE CASCADE позволяет выполнять обновление между таблицами, а действие ON DELETE RESTRICT отклоняет удаление. Действие по умолчанию - УДАЛИТЬ ОГРАНИЧЕНИЕ.
Предположим, что структура заданий таблицы и InnoDB Engine были использованы для создания заданий таблицы.
CREATE TABLE ЕСЛИ НЕ СУЩЕСТВУЕТ РАБОТ ( JOB_ID integer NOT NULL УНИКАЛЬНЫЙ ПЕРВИЧНЫЙ КЛЮЧ, JOB_TITLE varchar (35) NOT NULL DEFAULT '', MIN_SALARY десятичное число (6,0) ПО УМОЛЧАНИЮ 8000, MAX_SALARY десятичное число (6,0) DEFAULT NULL ) ДВИГАТЕЛЬ = InnoDB; + ------------ + -------------- + ------ + ----- + -------- - + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Extra | + ------------ + -------------- + ------ + ----- + -------- - + ------- + | JOB_ID | int (11) | НЕТ | PRI | NULL | | | JOB_TITLE | Варчар (35) | НЕТ | | | | | MIN_SALARY | десятичное число (6,0) | ДА | | 8000 | | | MAX_SALARY | десятичное число (6,0) | ДА | | NULL | | + ------------ + -------------- + ------ + ----- + -------- - + ------- +
Нажмите меня, чтобы увидеть решение
18. Напишите оператор SQL для создания таблицы сотрудников, включая столбцы employee_id, first_name, last_name, job_id, salary, и убедитесь, что столбец employee_id не содержит повторяющихся значений во время вставки, а столбец внешнего ключа job_id, на который есть ссылки по столбцу job_id таблицы jobs, может содержать только те значения, которые существуют в таблице jobs. InnoDB Engine был использован для создания таблиц. Особенность этого оператора заключается в том, что ON DELETE CASCADE позволяет разрешать удалять записи в таблице сотрудников (дочерних), которые ссылаются на запись в таблице заданий (родительских), когда запись в родительской таблице удаляется и ON Действия ОБНОВЛЕНИЕ ОГРАНИЧЕНИЯ отклоняют любые обновления.
Предположим, что структура заданий таблицы и InnoDB Engine были использованы для создания заданий таблицы.
CREATE TABLE ЕСЛИ НЕ СУЩЕСТВУЕТ РАБОТ ( JOB_ID integer NOT NULL УНИКАЛЬНЫЙ ПЕРВИЧНЫЙ КЛЮЧ, JOB_TITLE varchar (35) NOT NULL DEFAULT '', MIN_SALARY десятичное число (6,0) ПО УМОЛЧАНИЮ 8000, MAX_SALARY десятичное число (6,0) DEFAULT NULL ) ДВИГАТЕЛЬ = InnoDB; + ------------ + -------------- + ------ + ----- + -------- - + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Extra | + ------------ + -------------- + ------ + ----- + -------- - + ------- + | JOB_ID | int (11) | НЕТ | PRI | NULL | | | JOB_TITLE | Варчар (35) | НЕТ | | | | | MIN_SALARY | десятичное число (6,0) | ДА | | 8000 | | | MAX_SALARY | десятичное число (6,0) | ДА | | NULL | | + ------------ + -------------- + ------ + ----- + -------- - + ------- +
Нажмите меня, чтобы увидеть решение
19. Напишите оператор SQL для создания таблицы сотрудников, включая столбцы employee_id, first_name, last_name, job_id, salary, и убедитесь, что столбец employee_id не содержит повторяющихся значений во время вставки, а столбец внешнего ключа job_id, на который есть ссылки по столбцу job_id таблицы jobs, может содержать только те значения, которые существуют в таблице jobs. InnoDB Engine был использован для создания таблиц. Особенность оператора заключается в том, что действие ON DELETE SET NULL устанавливает значения столбца внешнего ключа в дочерней таблице (employee) в NULL при удалении записи в родительской таблице (jobs) с условием, что внешний ключ столбец в дочерней таблице должен принимать значения NULL, а действие ON UPDATE SET NULL сбрасывает значения в строках в дочерней таблице (employee) в значения NULL при обновлении строк в родительской таблице (jobs).
Предположим, что структура двух табличных заданий и InnoDB Engine были использованы для создания табличных заданий.
CREATE TABLE ЕСЛИ НЕ СУЩЕСТВУЕТ РАБОТ ( JOB_ID integer NOT NULL УНИКАЛЬНЫЙ ПЕРВИЧНЫЙ КЛЮЧ, JOB_TITLE varchar (35) NOT NULL DEFAULT '', MIN_SALARY десятичное число (6,0) ПО УМОЛЧАНИЮ 8000, MAX_SALARY десятичное число (6,0) DEFAULT NULL ) ДВИГАТЕЛЬ = InnoDB; + ------------ + -------------- + ------ + ----- + -------- - + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Extra | + ------------ + -------------- + ------ + ----- + -------- - + ------- + | JOB_ID | int (11) | НЕТ | PRI | NULL | | | JOB_TITLE | Варчар (35) | НЕТ | | | | | MIN_SALARY | десятичное число (6,0) | ДА | | 8000 | | | MAX_SALARY | десятичное число (6,0) | ДА | | NULL | | + ------------ + -------------- + ------ + ----- + -------- - + ------- +
Нажмите меня, чтобы увидеть решение
20. Напишите оператор SQL для создания таблицы сотрудников, включая столбцы employee_id, first_name, last_name, job_id, salary, и убедитесь, что столбец employee_id не содержит повторяющихся значений во время вставки, а столбец внешнего ключа job_id, на который есть ссылки по столбцу job_id таблицы jobs, может содержать только те значения, которые существуют в таблице jobs. InnoDB Engine был использован для создания таблиц. Особенность этого утверждения заключается в том, что действия ON DELETE NO ACTION и ON UPDATE NO ACTION будут отклонять удаление и любые обновления.
Предположим, что структура двух табличных заданий и InnoDB Engine были использованы для создания табличных заданий.
CREATE TABLE ЕСЛИ НЕ СУЩЕСТВУЕТ РАБОТ ( JOB_ID integer NOT NULL УНИКАЛЬНЫЙ ПЕРВИЧНЫЙ КЛЮЧ, JOB_TITLE varchar (35) NOT NULL DEFAULT '', MIN_SALARY десятичное число (6,0) ПО УМОЛЧАНИЮ 8000, MAX_SALARY десятичное число (6,0) DEFAULT NULL ) ДВИГАТЕЛЬ = InnoDB; + ------------ + -------------- + ------ + ----- + -------- - + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Extra | + ------------ + -------------- + ------ + ----- + -------- - + ------- + | JOB_ID | int (11) | НЕТ | PRI | NULL | | | JOB_TITLE | Варчар (35) | НЕТ | | | | | MIN_SALARY | десятичное число (6,0) | ДА | | 8000 | | | MAX_SALARY | десятичное число (6,0) | ДА | | NULL | | + ------------ + -------------- + ------ + ----- + -------- - + ------- +
Новый контент: Composer: менеджер зависимостей для PHP , R программирования