Resumo : neste tutorial, você aprenderá como usar INSERT
a instrução SQLite para inserir novas linhas em uma tabela.
Para inserir dados em uma tabela, você usa a INSERT
instrução. SQLite fornece várias formas de INSERT
instruções que permitem inserir uma única linha, várias linhas e valores padrão em uma tabela.
Além disso, você pode inserir uma linha em uma tabela usando dados fornecidos por uma SELECT
instrução.
SQLite INSERT
– inserindo uma única linha em uma tabela
Para inserir uma única linha em uma tabela, você usa a seguinte forma de INSERT
instrução:
INSERT INTO table (column1,column2 ,..)
VALUES( value1, value2 ,...);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Vamos examinar a INSERT
afirmação com mais detalhes:
- Primeiro, especifique o nome da tabela na qual deseja inserir os dados após as
INSERT INTO
palavras-chave. - Em segundo lugar, adicione uma lista de colunas separadas por vírgulas após o nome da tabela. A lista de colunas é opcional. No entanto, é uma boa prática incluir a lista de colunas após o nome da tabela.
- Terceiro, adicione uma lista de valores separados por vírgula após a
VALUES
palavra-chave. Se você omitir a lista de colunas, deverá especificar valores para todas as colunas na lista de valores. O número de valores na lista de valores deve ser igual ao número de colunas na lista de colunas.
Usaremos a artists
tabela do banco de dados de exemplo para a demonstração.
A instrução a seguir insere uma nova linha na artists
tabela:
INSERT INTO artists (name)
VALUES('Bud Powell');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Como a ArtistId
coluna é uma coluna de incremento automático , você pode ignorá-la na instrução. SQLite gera automaticamente um número inteiro sequencial para inserir na ArtistId
coluna.
Você pode verificar a operação de inserção usando a seguinte SELECT
instrução:
SELECT
ArtistId,
Name
FROM
Artists
ORDER BY
ArtistId DESC
LIMIT 1;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Como você pode ver, temos uma nova linha na artists
tabela.
SQLite INSERT
– Inserindo múltiplas linhas em uma tabela
Para inserir várias linhas em uma tabela, você usa a seguinte forma de INSERT
instrução:
INSERT INTO table1 (column1,column2 ,..)
VALUES
(value1,value2 ,...),
(value1,value2 ,...),
...
(value1,value2 ,...);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Cada lista de valores após a VALUES
cláusula é uma linha que será inserida na tabela.
O exemplo a seguir insere três linhas na artists
tabela:
INSERT INTO artists (name)
VALUES
("Buddy Rich"),
("Candido"),
("Charlie Byrd");
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
SQLite emitiu uma mensagem:
Row Affected: 3
Você pode verificar o resultado usando a seguinte declaração:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC
LIMIT 3;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
SQLite INSERT
– Inserindo valores padrão
Ao criar uma nova tabela usando a CREATE TABLE
instrução, você pode especificar valores padrão para colunas ou NULL
se um valor padrão não for especificado.
A terceira forma da INSERT
instrução é INSERT DEFAULT VALUES
, que insere uma nova linha em uma tabela usando os valores padrão especificados na definição da coluna ou NULL
se o valor padrão não estiver disponível e a coluna não tiver uma NOT NULL
restrição.
Por exemplo, a instrução a seguir insere uma nova linha na artists
tabela usando INSERT DEFAULT VALUES
:
INSERT INTO artists DEFAULT VALUES;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para verificar a inserção, você usa a seguinte instrução:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O valor padrão da ArtistId
coluna é o próximo inteiro sequencial. Porém, a name
coluna não possui nenhum valor padrão, portanto, a INSERT DEFAULT VALUES
instrução é inserida NULL
nela.
SQLite INSERT
– Inserindo novas linhas com dados fornecidos por uma SELECT
instrução
Suponha que você queira fazer backup da artists
tabela, você pode seguir estas etapas:
Primeiro, crie uma nova tabela artists_backup
com o seguinte nome:
CREATE TABLE artists_backup(
ArtistId INTEGER PRIMARY KEY AUTOINCREMENT,
Name NVARCHAR
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para inserir dados na artists_backup
tabela com os dados da artists
tabela, você usa a INSERT INTO SELECT
instrução a seguir:
INSERT INTO artists_backup
SELECT ArtistId, Name
FROM artists;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Se você consultar os dados da artists_backup
tabela, verá todos os dados da artists
tabela.
SELECT * FROM artists_backup;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste tutorial, você aprendeu como usar várias formas de INSERT
instrução SQLite que inserem novas linhas em uma tabela.
Referências
- https://www.sqlite.org/lang_insert.html – Instrução SQLite INSERT