SQL INSERT INTO




SQL > Manipulação de Tabelas > Insert Into

Nas secções anteriores, vimos como obter informações das tabelas. Mas de que forma estas linhas de dados são introduzidas inicialmente nas tabelas? É isso que esta secção, que aborda a instrução INSERT e a secção seguinte, que aborda a instrução UPDATE, explicam.

Na linguagem SQL, existem essencialmente duas formas de INSERT (Inserir) dados numa tabela: Uma é inserir uma linha de cada vez, a outra é inserir várias linhas em simultâneo. Vamos abordar como podemos INSERT (Inserir) dados numa linha de cada vez:

A sintaxe para inserir dados numa linha da tabela de cada vez é a seguinte:

INSERT INTO "nome_tabela" ("coluna 1", "coluna 2", ...)
VALUES ("valor 1", "valor 2", ...);

Assumindo que temos uma tabela com a seguinte estrutura,

Tabela Store_Information
Nome da ColunaTipo de Dados
Store_Name char(50)
Sales float
Txn_Date datetime

e agora quisermos inserir uma linha adicional na tabela a representando os dados de vendas de Los Angeles no dia 10 de Janeiro de 1999. Nesse dia, esta loja efetuou vendas no valor de 900 €. Deste modo, iremos utilizar o seguinte script SQL:

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
VALUES ('Los Angeles', 900, '10-Jan-1999' );

O segundo tipo de instrução INSERT INTO permite-nos inserir várias linhas numa tabela. Ao contrário do exemplo anterior, em que inserimos uma única linha especificando os seus valores para todas as colunas, agora utilizamos uma instrução SELECT para especificar os dados que queremos inserir na tabela. Se estiver a pensar que isso significa utilizar informações de outra tabela, está certo. A sintaxe será a seguinte:

INSERT INTO "tabela 1" ("coluna 1", "coluna 2", ...)
SELECT "coluna 3", "coluna 4", ...
FROM "tabela 2";

Note que esta é a forma simples. A instrução completa pode facilmente conter as cláusulas WHERE, GROUP BY, e HAVING, assim como alias e uniões de tabelas.

Assim, por exemplo, se pretendermos uma tabela, Store_Information, que recolha as informações de vendas para o ano de 1998 e já souber que os dados de origem se encontram na tabela Sales_Information, iremos escrever:

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
SELECT Store_Name, Sales, Txn_Date
FROM Sales_Information
WHERE Year (Txn_Date) = 1998;

Aqui foi utilizada a sintaxe do sistema Servidor SQL para extrair a informação do ano de uma data. Outras bases de dados relacionadas terão uma sintaxe diferente. Por exemplo, no sistema Oracle, irá utilizar TO_CHAR (Txn_Date, 'yyyy') = 1998.

SQL UPDATE >>

Esta página foi atualizada pela última vez em 01/07/2022



Copyright © 2024   1keydata.com   Todos os direitos reservados.