SQL должен знать будет - данные вставки (ХV)

1, вставка данных

ВСТАВИТЬ для вставки строк в (или добавлены) к таблице базы данных. Есть несколько способов вставки:

  • Вставьте полную строку
  • Некоторые части вставленной строки
  • Вставьте результаты некоторых запросов

Примечание:
1, с помощью оператора INSERT может потребовать определенных разрешений безопасности для СУБД клиент / сервер. Перед тем, как попытаться использовать INSERT, вы должны убедиться, что у них есть достаточные разрешения безопасности

2.1, вставьте полную строку

INSERT INTO customers
VALUES(
'Toy Land'
,'123 Any Street'
,'New York'
,'NY'
,'11111'
,'USA'
,'NULL'
,'NULL'
);

Примечание:
1, в некоторых реализациях SQL, с INSERT INTO ключевого слова следующим являются необязательной. Однако, своевременно не является обязательным, то лучше предоставить это ключевое слово, так что будет сделано для того , чтобы SQL код переносим между базами данных
2, SQL заявление выше сильно зависит от столбцов , определенных в таблице, но и на его легкий для того доступа информация. Такая информация может быть получена даже если порядок не гарантирует , что столбцы в структуре таблицы после следующего изменения для того , чтобы поддерживать одинаковые. Таким образом, препарат зависит от конкретной последовательности операторов SQL является очень безопасной, так что рано или поздно пойти не так

INSERT INTO customers
(
cust_id,
cust_name,
cust_address,
cust_city,
cust_state,
cust_zip,
cust_country,
cust_contact,
cust_email
)
VALUES(
'Toy Land',
'123 Any Street',
'New York',
'NY',
'11111',
'USA',
'NULL',
'NULL',
)
--在插入行时,DBMS将用VALUES列表中的相应值贴入列表中的对应项。VALUES中的第一个值对应第一个指定列名,
第二个值对应于第二个列名,如此等等。

Примечание:
1, как это предусмотрено имена столбцов, значения должны совпадать с именами столбцов, указанных в указанном порядке, не обязательно для каждого фактического порядка, указанного в таблице в настоящее время. Преимущество заключается в том, что, даже если изменения структуры таблицы, которые могут быть любой естественный ВСТАВИТЬ заявление правильно работать.

2.2, вставная часть строки

INSERT INTO customers
(
cust_id,
cust_name,
cust_address,
cust_city,
cust_state,
cust_zip,
cust_country,
)
VALUES(
'Toy Land',
'123 Any Street',
'New York',
'NY',
'11111',
'USA',
)

Примечание:
Пропущенные столбцы должны удовлетворять определенные условия на
1, столбец определяется , чтобы значение NULL (нулевое значение или нет значения)
2, значение по умолчанию, приведено в определении таблицы. Это означает , что если значение не задано, значение по умолчанию

2.3, вставка данных извлекается

INSERT INTO customers
(
cust_name,
cust_address,
cust_city,
cust_state,
cust_zip,
cust_country
)
SELECT 
	cust_name,
	cust_address,
	cust_city,
	cust_state,
	cust_zip,
	cust_country
FROM custnew;

Примечание:
1, для простоты, в этом примере используется такое же имя столбца в INSERT и SELECT, отчетности. Однако, это не обязательно требует имен столбцов, чтобы соответствовать. На самом деле, СУБД не заботится об именах столбцов в SELECT, возвращается. Он использует положение столбца.

2.4, копируется из одной таблицы в другую

SELECT *
INTO custcopy
FROM customers;
--这条SELECT语句创建一个名为custcopy的新表,并把customers表的整个内容复制到新表中。
因为这里使用的时select *,所以将在custcopy表中创建(并填充)于customers表的每一列相同的列。

Примечание:

  • ВЫБРАТЬ положение и любые выборы могут быть использованы, в том числе, где и GROUP BY
  • Муфта может быть использована для вставки данных из множества таблиц
  • Независимо от того, сколько таблиц для извлечения данных из, данные могут быть вставлены только в таблицу

рекомендация

отblog.csdn.net/qq_28285403/article/details/94735094