class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

основы sql

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

Dynamic SQL

прочее

Справочник по SQL

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

Для добавления записей в таблицу используется команда INSERT INTO. Пусть существует следующая таблица.

 
CREATE TABLE tblname (
  id integer default 0,
  num double precision default 3.14,
  CONSTRAINT pk_tblname PRIMARY KEY (id)
);

Ниже приведен запрос на добавление записи в эту таблицу с использованием полного синтаксиса. Для применения внесенных изменений дополнительно необходимо послать команду commit. Возможно, в используемой вами программе есть опция включения/выключения автоматической посылки этой команды, или запуск этой команды выведено на видное место в пользовательском интерфейсе. В последующих примерах эта команда будет опущена.

 
-- вставка записи
insert into tblname(id,num) values(2,2.9); 
-- применяем внесенные в БД изменения
commit; 
-- вывод всех данных таблицы для проверки
select * from tblname; 

Если задаются значения всех столбцов, то их не обязательно перечислять после имени таблицы.

INSERT INTO tblname VALUES(5,2.9);

значения по умолчанию

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

 
-- не указываем поле num в списке столбцов
INSERT INTO tblname(id) VALUES(3); 

-- используем default
INSERT INTO tblname(id,num) VALUES(4,DEFAULT);

-- если бы определение столбца в MySQL было бы таким
-- id integer default 0 AUTO_INCREMENT,
-- или мы написали тригер генерирующий 
-- значения первичного ключа в Oracle
INSERT INTO tblname(num) VALUES(DEFAULT);

-- короткая запись предыдущей команды для MySQL
INSERT INTO tblname VALUES();

подзапросы

В качестве значений можно использовать подзапрос. Как и в предыдущих примерах, число столбцов в выборке должно соответствовать перечислению столбцов в команде insert into.

 
-- число столбцов в выборке соответствует 
-- числу столбцов в таблице
INSERT INTO tblname SELECT ...

-- в выборке должен быть один столбец
INSERT INTO tblname(id) SELECT ...

вставка по условию

Продвинутые СУБД предоставляют расширенные возможности по вставке данных. Например, в Oracle можно произвести вставку в несколько таблиц, и если нужно можно указать условия.

 
-- вставка в таблицы tbl1, tbl2, tbl3
-- по условию
INSERT ALL
-- в таблицу tbl1 если поле val в выборке меньше 100
   WHEN val < 100 THEN 
      INTO tbl1
   WHEN val > 100 AND val < 200 THEN
      INTO tbl2
   ELSE
      INTO tbl3
   SELECT ..., my_val AS val, ...;

Рейтинг@Mail.ru