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
- Муфта может быть использована для вставки данных из множества таблиц
- Независимо от того, сколько таблиц для извлечения данных из, данные могут быть вставлены только в таблицу