Descrevendo cada comando de manipulação e dados (DML)
- INSERT adiciona registros na tabela;
- UPDATE altera registros existentes na tabela;
- DELETE remove registros existentes na tabela;
- SELECT mostra dados da tabela;
- MERGE será visto em breve;
Inserindo registros na tabela
O comando para inserir registros é o INSERT, veja a sinaxe:
INSERT INTO nome_da_tabela(coluna_1, coluna_2) VALUES(valor_1, valor_2);
No comando acima duas colunas e dois valores são listados, essa relação sempre deve ser igual, não importa a ordem em que são listadas. É possível omitir colunas durante o INSERT, desde que as restrições da tabela sejam respeitadas. Também é possível inserir sem informar nenhuma coluna, desse modo é obrigatório informar valores para todas as colunas da tabela, na ordem em que elas estiverem na própria tabela. O recomendável é sempre informar todas as colunas.
Resumindo:
- O comando INSERT insere um ou mais registros no banco;
- A sintaxe do INSERT consiste nas palavras reservadas INSERT INTO, o nome da tabela, uma lista de colunas (opcional), a palavra reservada VALUES e a lista de valores a serem inseridos;
- Se o comando INSERT for escrito sem a lista de colunas então a lista de valores a serem inseridos deve possuir um valor para cada coluna da tabela e devem estar na mesma ordem;
- A lista de valores do INSERT pode conter expressões;
- Se qualquer valor violar uma restrição da tabela então a execução gera um erro e nada é inserido;
Atualizando registros da tabela
O comando para atualizar registros é o UPDATE, veja a sintaxe:
UPDATE nome_da_tabela SET coluna_1 = valor_1, coluna_2 = valor_2 WHERE coluna_3 = valor_3;
No exemplo acima duas colunas são atualizadas, mas apenas para os registros que estiverem de acordo com a condição WHERE. A condição WHERE não é obrigatória, mas quando não informada todos os registros da tabela são atualizados. Os novos valores devem respeitar as restrições da tabela.
Resumindo:
- O comando UPDATE atualiza um ou mais registros;
- A sintaxe do comando UPDATE começa com a palavra reservada UPDATE e o nome da tabela, a palavra reservada SET, uma série de expressões que atribuem valores, onde do lado esquerdo temos as colunas seguidas de um sinal de igual “=” e do lado direito o valor e finalmente a clausula WHERE;
- Se mais de um valor for alterado basta separa-los por vírgula;
- Se a clausula WHERE for omitida todos os registros são atualizados;
Removendo registros da tabela
O comando para remover registros é o DELETE, veja a sintaxe:
DELETE FROM nome_da_tabela WHERE coluna_1 = valor_1;
No comando descrito, todos os registros que se enquadrarem na condição WHERE serão apagados. A cláusula FROM não é obrigatória, se omitida nada muda. A cláusula WHERE não é obrigatória, mas se suprimida todos os registros da tabela serão removidos.
Resumindo:
- O comando DELETE é usado para remover registros;
- A sintaxe inicia com a palavra reservada DELETE e a opcional FROM, o nome da tabela e a cláusula WHERE;
- Se a clausula WHERE for omitida todos os registros são removidos;
Controle de transação
O controle de transação (TCL) é responsável por persistir ou desfazer as alterações realizadas pelos comandos DML. Também é possível “marcar posições” entre comandos, para que apenas parte desses comandos seja persistido ou descartado:
- Comandos TCL incluem COMMIT, ROLLBACK e SAVEPOINT;
- Existem dois tipos de eventos de COMMIT: explicito e implícito;
- O explicito ocorre com o comando COMMIT;
- O implícito ocorre imediatamente após certos eventos como a execução de um comando DDL válido (CREATE, ALTER, DROP, GRANT e REVOKE);
- Se um comando DDL falha durante sua execução o COMMIT implícito ocorre, o mesmo não vale para erros de sintaxe;
- O comando ROLLBAK é usado para desfazer alterações do banco;
- O comando SAVEPOINT é usado para nomear um ponto entre uma série de comandos SQL, de modo que um ROLLBACK possa ocorrer diretamente para esse ponto;
- Após um COMMIT, todas as marcações de SAVEPOINT são apagadas;
- Todo ROLLBACK que aponta para um SAVEPOINT inexistente não ocorre;
- Um ROLLBACK que não aponte para um SAVEPOINT desfaz todas as alterações da seção a partir do ultimo COMMIT;
Comentários
Postar um comentário
Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.