Ответ:
Сводный отчёт об операторах 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 обеспечивает целостность и безопасность базы данных.
