Вопрос:

Задание №2. Изучите и составьте сводный отчёт (не более 3 страниц A4), описывающий операторы CREATE TABLE, INSERT, UPDATE и DELETE системы управления базами данных MySQL.

Ответ:

Сводный отчёт об операторах CREATE TABLE, INSERT, UPDATE и DELETE в MySQL

Операторы CREATE TABLE, INSERT, UPDATE и DELETE относятся к языку управления данными и определения структуры базы данных MySQL. CREATE TABLE создаёт таблицу, INSERT добавляет записи, UPDATE изменяет существующие записи, а DELETE удаляет записи.

1. CREATE TABLE

Оператор CREATE TABLE используется для создания новой таблицы и задания её столбцов, типов данных и ограничений.

Общий синтаксис:

CREATE TABLE имя_таблицы (имя_столбца тип_данных [ограничения], ...);

Пример:

CREATE TABLE readers (reader_id INT PRIMARY KEY, full_name VARCHAR(100) NOT NULL, birth_date DATE);

В примере reader_id имеет целочисленный тип и является первичным ключом, full_name хранит строку длиной до 100 символов и не может быть пустым, а birth_date хранит дату.

Часто используются ограничения PRIMARY KEY, FOREIGN KEY, NOT NULL, UNIQUE, DEFAULT и CHECK. Для связанной таблицы внешний ключ можно задать так:

CREATE TABLE issued_books (issue_id INT PRIMARY KEY, reader_id INT NOT NULL, book_title VARCHAR(200) NOT NULL, issue_date DATE NOT NULL, return_date DATE, FOREIGN KEY (reader_id) REFERENCES readers(reader_id));

2. INSERT

Оператор INSERT добавляет новые строки в таблицу.

Добавление одной записи:

INSERT INTO readers (reader_id, full_name, birth_date) VALUES (1, 'Иванов Иван Иванович', '2000-05-12');

Добавление записи о выдаче книги:

INSERT INTO issued_books (issue_id, reader_id, book_title, issue_date) VALUES (1, 1, 'Мастер и Маргарита', '2022-11-10');

При указании списка столбцов значения должны соответствовать ему по порядку и типу. Можно добавить несколько строк одним оператором:

INSERT INTO readers (reader_id, full_name) VALUES (2, 'Петров Пётр Петрович'), (3, 'Сидорова Анна Сергеевна');

3. UPDATE

Оператор UPDATE изменяет значения существующих записей.

Общий синтаксис:

UPDATE имя_таблицы SET столбец = новое_значение WHERE условие;

Например, изменение даты возврата книги:

UPDATE issued_books SET return_date = '2022-12-01' WHERE issue_id = 1;

Условие WHERE необходимо использовать с осторожностью. Если его не указать, будут изменены все строки таблицы:

UPDATE issued_books SET return_date = NULL;

Такой запрос снимает дату возврата у всех записей.

4. DELETE

Оператор DELETE удаляет строки из таблицы.

Удаление конкретной записи:

DELETE FROM issued_books WHERE issue_id = 1;

Как и в UPDATE, условие WHERE ограничивает количество удаляемых строк. Запрос без WHERE удалит все записи таблицы:

DELETE FROM issued_books;

При наличии внешних ключей удаление может быть запрещено, если удаляемая запись связана с другими таблицами. Поведение можно настроить с помощью ON DELETE CASCADE, SET NULL или RESTRICT.

5. Безопасность и практические рекомендации

  • Перед UPDATE или DELETE сначала выполняйте SELECT с тем же условием WHERE, чтобы проверить набор строк.
  • Всегда явно указывайте список столбцов в INSERT.
  • Используйте первичные и внешние ключи для обеспечения целостности данных.
  • Для критически важных изменений применяйте транзакции: START TRANSACTION, COMMIT и ROLLBACK.
  • Не удаляйте и не изменяйте все записи без необходимости.

Вывод: CREATE TABLE формирует структуру таблицы, INSERT добавляет данные, UPDATE изменяет их, а DELETE удаляет. Корректное использование типов данных, ограничений и условий WHERE обеспечивает целостность и безопасность базы данных.