Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на билеты 3 курс БД.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
59.91 Кб
Скачать

Часть2:

CREAT DATABASE forum:

CREAT TABLE USERS(

Id INT unsigned auto_INCREMENT,

name CHAR(20) NOT NULL,

surname CHAR(30) NOT NULL,

city CHAR(30) NOT NULL,

PRIMARY KEY (id);

UPDATE `storage` SET `nlichie`=’no’

WHERE `buy_date` < ‘2011-01-20’;

15) INSERT [LOW_PRIORITY | DELAYED] [IGNORE]

[INTO] tbl_name [(col_name,...)]

VALUES (expression,...),(...),...

или INSERT [LOW_PRIORITY | DELAYED] [IGNORE]

[INTO] tbl_name [(col_name,...)]

SELECT ...

или INSERT [LOW_PRIORITY | DELAYED] [IGNORE]

[INTO] tbl_name

SET col_name=expression, col_name=expression, ...

  • Форма данной команды INSERT ... VALUES вставляет строки в соответствии с точно указанными в команде значениями.

  • Форма INSERT ... SELECT вставляет строки, выбранные из другой таблицы или таблиц.

tbl_name задает таблицу, в которую должны быть внесены строки.

  • Если не указан список столбцов для INSERT ... VALUES или INSERT ... SELECT, то величины для всех столбцов должны быть определены в спискеVALUES() или в результате работы SELECT. Если порядок столбцов в таблице неизвестен, для его получения можно использовать DESCRIBE tbl_name.

  • Любой столбец, для которого явно не указано значение, будет установлен в свое значение по умолчанию.Так же для этого можно использовать ключевое слово DEFAULT. В MySQL всегда предусмотрено значение по умолчанию для каждого поля. Это требование ``навязано'' MySQL, чтобы обеспечить возможность работы как с таблицами, поддерживающими транзакции, так и с таблицами, не поддерживающими их.

Выражение expression может относится к любому столбцу, который ранее был внесен в список значений.(пример: mysql> INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);)

  • Если указывается ключевое слово LOW_PRIORITY, то выполнение данной команды INSERT будет задержано до тех пор, пока другие клиенты не завершат чтение этой таблицы.  В противоположность этому команда INSERT DELAYED позволяет данному клиенту продолжать операцию сразу же.

Если в команде INSERT со строками, имеющими много значений, указывается ключевое слово IGNORE, то все строки, имеющие дублирующиеся ключиPRIMARY или UNIQUE в этой таблице, будут проигнорированы и не будут внесены.

Если не указывать IGNORE, то данная операция вставки прекращается при обнаружении строки, имеющей дублирующееся значение существующего ключа.

  1. Внесение NULL в столбец, который был объявлен, как NOT NULL. Данный столбец устанавливается в значение, заданное по умолчанию.

  2. Установка числового столбца в значение, лежащее за пределами его допустимого диапазона. Данная величина усекается до соответствующей конечной точки этого диапазона.

  3. Занесение в числовой столбец такой величины, как '10.34 a'. Конечные данные удаляются и вносится только оставшаяся числовая часть.

  4. Если величина вовсе не имеет смысла как число, то столбец устанавливается в 0.

  5. Внесение в столбцы типа CHAR, VARCHAR, TEXT или BLOB строки, превосходящей максимальную длину столбца. Данная величина усекается до максимальной длины столбца.

  6. Внесение в столбец даты или времени строки, недопустимой для данного типа столбца. Этот столбец устанавливается в нулевую величину, соответствующую данному типу.