Так, например, чтобы ввести строку в таблицу Students, необходимо использовать следующую
команду:
INSERT INTO Students VALUES (11, 'Иванов', 'В-31');
Команда не производит никакого вывода данных в процессе работы. Имя таблицы (в нашем слу-
чае – Students) должно быть предварительно определено в команде CREATE TABLE, а каждое зна-
чение, присутствующее в списке параметров, должно совпадать с типом данных столбца, в который
оно вставляется. Значения вводятся в таблицу в поименном порядке, поэтому первое значение в
списке автоматически попадает в первый столбец таблицы, второе – во второй и т.д.
Если нужно ввести пустое значение (NULL), то его можно задавать точно так же, как и обычные
параметры. Значение NULL – это специальный маркер, а не просто символьное обозначение, поэто-
му оно не включается в одиночные кавычки.
Можно также указывать столбцы, в которые нужно вставить соответствующее значение. Это по-
зволяет пользователю вставлять имена в любом порядке. Предположим, что берутся значения для
таблицы студентов из отчета выводимого на принтер, который помещает их в таком порядке:
"группа", "фамилия". Для упрощения пользователь вводит эти значения в том же порядке.
INSERT INTO Students (группа, фио) VALUES ('В-31', 'Петров');
Следует обратить внимание, что столбец номер_в_журнале отсутствует. Это значит, что строка
автоматически установлена как значение по умолчанию. По умолчанию может быть введено или
значение NULL или другая величина, определенная как "значение по умолчанию". Если ограниче-
ние запрещает использование значения NULL в данном столбце, и этот столбец не установлен как
по умолчанию, то он должен быть обеспечен значением для любой команды INSERT, которая отно-
сится к таблице.
7.7 ИЗМЕНЕНИЕ СУЩЕСТВУЮЩИХ ТАБЛИЦ
Команда ALTER TABLE не является частью ANSI стандарта языка SQL, однако она является ши-
роко доступной и распространенной, хотя ее возможности несколько ограничены. Она используется
для внесения изменений в определение существующей таблицы. Обычно она применяется для до-
бавления столбцов к таблице. Иногда она может удалять столбцы или изменять их размеры, а также
в некоторых программах добавлять или удалять ограничения. Типичный синтаксис команды при
добавлении столбца к таблице выглядит следующим образом:
ALTER TABLE <имя таблицы> ADD <имя столбца> <тип> <размер>;
Столбец будет добавлен в таблицу со значением NULL для всех ее строк. Новый столбец станет
последним по порядку столбцом таблицы. Можно добавить сразу несколько новых столбцов, отде-
лив их запятыми, в одной команде. Имеется возможность удалять или изменять столбцы. Наиболее
часто изменением столбца может быть просто увеличение его размера или добавление (удаление)
ограничения. Система должна убедиться, что любые изменения не противоречат существующим
данным – например, при попытке добавить ограничение к столбцу, который уже имел значение, при
нарушении которого ограничение будет отклонено.
Из-за нестандартного характера команды ALTER TABLE необходимо посмотреть тот раздел до-
кументации используемой системы, в которой говорится об особых случаях.
ALTER TABLE не действует в тех случаях, когда таблица должна быть переопределена. Измене-
ние структуры таблицы, когда она уже используется, опасно для базы. Просмотрите внимательно
таблицы, которые, являясь вторичными таблицами с извлеченными данными из другой таблицы, не
долго правильно работают, а программы, использующие вложенный SQL, выполняются неправиль-
но или не всегда правильно. Кроме того, изменение может отменить всех пользователей, имеющих
разрешение обращаться к таблице. По этим причинам необходимо разрабатывать таблицы базы
данных так, чтобы использовать ALTER TABLE только в крайнем случае.
Таким образом, с помощью оператора ALTER TABLE можно: