Главная Введение в SQL
E-mail Печать PDF

INSERT INTO - используется для добавления новых строк в таблицу.

Синтаксис SQL INSERT INTO

Используя перечисление значений, с указанием столбцов:

1
INSERT INTO ([, ... ]) VALUES (,...)

Используя перечисление значений, без указания столбцов:

1
INSERT INTO VALUES (,...)

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

Пример

Есть следующая таблица "Persons":

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Сейчас мы добавим новую строку в таблицу "Persons".

Используя следующий SQL запрос:

1
2
INSERT INTO Persons
VALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')

Теперь таблица "Persons" имеет такой вид:

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger

Вставление Данных Только в Специальные Колонки

SQL предоставляет возможность вставки данных в нужные нам колонки.

Следующий SQL запрос добавит новую строку, но данные будут содержатся только в колонках "P_Id", "LastName" и "FirstName":

1
2
INSERT INTO Persons (P_Id, LastName, FirstName)
VALUES (5, 'Tjessem', 'Jakob')

Теперь таблица "Persons" имеет такой вид:

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob

Статьи по mysql в основном взяты и переведены с сайта W3Schools.


Комментарии

 
+51 #1 Den_IS 2009-12-02 17:04 Спасибо Цитировать
 
 
0 #2 gen 2010-05-19 11:41 спасибо вам большое Цитировать
 
 
+2 #3 TeaMoor 2010-05-25 16:09 А если в таблицу нужно добавить сразу несколько строк, то нужно каждый раз команду INSERT INTO вводить? Нету ли такого способа, чтобы записать эту команду один раз, а дальше перечислять значения каждой строки необходимой для вставки? Цитировать
 
 
+7 #4 аноним 2010-06-03 11:40 TeaMoor, есть такая возможность
INSERT INTO Persons (P_Id, LastName, FirstName) VALUES (NULL, 'Tjessem', 'Jakob'),(NULL, 'Tjessem 1', 'Jakob 1');
Цитировать
 
 
-8 #5 JC8 2010-06-09 08:03 А если мне надо добавить значения только во 2-й и 4-й столбцы? И вводимые данные вводятся с формы.Как такое сделать? Цитировать
 
 
-7 #6 Юрий Мельник 2010-08-31 16:30 Всем доброе время суток

а если нужно сделать форму и ввод в таблицу производить через текстовые поля на форме. как запрограмироват ь кнопку на выполнение такой задачи
Цитировать
 
 
-3 #7 Irina 2010-10-27 15:13 Да, присоединяюсь к ОС8, как вставить например через один…или в 1ый и 4ый столбец?? Цитировать
 
 
+3 #8 Azat 2010-11-12 23:13 JC8 могу логично предположить, что просто в INTO вводишь название нужных столбцов
INTO Persons (P_Id, LastName, FirstName)может быть и

INTO Persons (P_Id, FirstName)
Цитировать
 
 
+9 #9 LongMan 2010-11-18 12:14 Подскажите пожалуйста, как не допустить добавления строки если колонка name уже найдена в вставляемой таблице?

INSERT INTO scoreperdays (name,day1) VALUES ((select name from scores limit 1), (select score from scores limit 1))

Вот мои примеры… но они не работают
Цитировать
 
 
0 #10 Илья 2011-02-19 17:45 Спасибо, очень понятно изложено. Цитировать
 

Авторизация

Nice Ajax Poll

Какое из моих расширений самое лучшее?

Статистика

Перевести

русскийitalianoDeutschEnglishLATVIANукраїнськаfrançaispolski
1

Реклама