diff --git a/content/posts/sql-structured-query-language/assets/Aula_09_SQL_DML_Parte_1.pdf b/content/posts/sql-structured-query-language/assets/Aula_09_SQL_DML_Parte_1.pdf new file mode 100644 index 00000000..6911b44f Binary files /dev/null and b/content/posts/sql-structured-query-language/assets/Aula_09_SQL_DML_Parte_1.pdf differ diff --git a/content/posts/sql-structured-query-language/assets/Aula_10_SQL_DML_Parte_2.pdf b/content/posts/sql-structured-query-language/assets/Aula_10_SQL_DML_Parte_2.pdf new file mode 100644 index 00000000..7248fde8 Binary files /dev/null and b/content/posts/sql-structured-query-language/assets/Aula_10_SQL_DML_Parte_2.pdf differ diff --git a/content/posts/sql-structured-query-language/assets/delete-example-dark.png b/content/posts/sql-structured-query-language/assets/delete-example-dark.png new file mode 100644 index 00000000..48ceb6f5 Binary files /dev/null and b/content/posts/sql-structured-query-language/assets/delete-example-dark.png differ diff --git a/content/posts/sql-structured-query-language/assets/delete-example-light.png b/content/posts/sql-structured-query-language/assets/delete-example-light.png new file mode 100644 index 00000000..6daf68ef Binary files /dev/null and b/content/posts/sql-structured-query-language/assets/delete-example-light.png differ diff --git a/content/posts/sql-structured-query-language/assets/insert-example-dark.png b/content/posts/sql-structured-query-language/assets/insert-example-dark.png new file mode 100644 index 00000000..12957b72 Binary files /dev/null and b/content/posts/sql-structured-query-language/assets/insert-example-dark.png differ diff --git a/content/posts/sql-structured-query-language/assets/insert-example-light.png b/content/posts/sql-structured-query-language/assets/insert-example-light.png new file mode 100644 index 00000000..76e851c0 Binary files /dev/null and b/content/posts/sql-structured-query-language/assets/insert-example-light.png differ diff --git a/content/posts/sql-structured-query-language/assets/update-example-dark.png b/content/posts/sql-structured-query-language/assets/update-example-dark.png new file mode 100644 index 00000000..1c5a9b0b Binary files /dev/null and b/content/posts/sql-structured-query-language/assets/update-example-dark.png differ diff --git a/content/posts/sql-structured-query-language/assets/update-example-light.png b/content/posts/sql-structured-query-language/assets/update-example-light.png new file mode 100644 index 00000000..d9ad2067 Binary files /dev/null and b/content/posts/sql-structured-query-language/assets/update-example-light.png differ diff --git a/content/posts/sql-structured-query-language/sql-structured-query-language.mdx b/content/posts/sql-structured-query-language/sql-structured-query-language.mdx index 829b3cc3..52086025 100644 --- a/content/posts/sql-structured-query-language/sql-structured-query-language.mdx +++ b/content/posts/sql-structured-query-language/sql-structured-query-language.mdx @@ -388,6 +388,156 @@ DROP DATABASE Universidade; +# DML - Data Manipulation Language + +**DML** - **D**ata **M**anipulation **L**anguage (_Linguagem de Manipulação de Dados_) é usada para **gerenciar** os dados armazenados em um banco de dados. **Manipula** os dados de uma tabela, como **inserir**, **atualizar**, **excluir** e **selecionar**. + +## Propriedades + +A linguagem DML é composta por **4 operações** de manipulação de dados: +- **Inserção** de dados - `INSERT{:sql}` +- **Exclusão** de dados - `DELETE{:sql}` +- **Atualização** de dados - `UPDATE{:sql}` +- **Seleção** de dados (consulta) - `SELECT{:sql}` + +## Inserir Dados + +`INSERT INTO{:sql}` é usado para inserir novos registros em uma tabela. + +**Sintaxe:** + +```sql +INSERT INTO nome_tabela (coluna1, coluna2, ...) VALUES (valor1, valor2, ...); +``` + +**Exemplo:** + +```sql +INSERT INTO empregado (nome, salario, cargo) VALUES ('João', 2000.00, 'Analista'); +``` + +Resultado do comando INSERT de exemplo +Resultado do comando INSERT de exemplo + + +Dependendo da ordem em que os atributos são declarados na tabela, é possível omitir a lista de atributos na instrução `INSERT INTO{:sql}`. Nesse caso, os valores devem ser inseridos na ordem em que os atributos foram declarados na tabela. + +Por exemplo, se criarmos a tabela seguindo a ordem nome-salario-cargo: +```sql +CREATE TABLE empregado ( + nome VARCHAR(30), + salario NUMERIC(8,2), + cargo VARCHAR(15) +); +``` + +Poderemos inserir omitindo a lista de atributos, dês de que os valores estejam na ordem correta: +```sql +INSERT INTO empregado VALUES ('João', 2000.00, 'Analista'); +``` + + + + Para caracteres usamos **aspas simples**! + + + +``` +"Frodo Bolseiro" +``` + + +``` +'Frodo Bolseiro' +``` + + +## Excluir Dados + +`DELETE FROM{:sql}` é usado para excluir registros (tupla/linha) de uma tabela (relação). + + +**Atenção** | `DROP{:sql}` **X** `DELETE{:sql}` +
+`DROP{:sql}` [_Exclui estrutura_](#remover-base-de-dados-db) +`DELETE{:sql}` _Exclui dados_ +
+ +**Sintaxe:** + +```sql +DELETE FROM nome_tabela WHERE condicao; +``` + +**Exemplo:** + +```sql caption="Excluir a peça com o código 200 (toda a linha)" +DELETE FROM peca WHERE cod_peca = 200; +``` + +Resultado do comando DELET de exemplo +Resultado do comando DELET de exemplo + +## Atualizar dados + +`UPDATE{:sql}`/`SET{:sql}` é usado para atualizar registros existentes em uma tabela. _Quando há mudança de endereço, nome, etc..._ + +**Sintaxe:** + +```sql +UPDATE nome_tabela SET coluna1 = valor1, coluna2 = valor2 WHERE condicao; +``` + +**Exemplo:** + +```sql caption="Alterar o preço da peça de código 200 para 90.00 (antes era 80.00)" +UPDATE peca SET preco = 90.00 WHERE cod_peca = 200; +``` + +Resultado do comando UPDATE de exemplo +Resultado do comando UPDATE de exemplo + +## Selecionar Dados + +`SELECT{:sql}` é usado para selecionar dados de um banco de dados. A instrução `SELECT{:sql}` é usada para recuperar registros de uma ou mais tabelas. + +**Sintaxe:** + +```sql +SELECT coluna1, coluna2, ... FROM nome_tabela WHERE condicao; +``` + +**Exemplo:** + +```sql caption="Selecionar o nome e a quantidade de todas as peças que tenham o preço maior que 50" +SELECT nome_peca, quantidade FROM peca WHERE preco > 50; +``` +```sql caption="Selectionar todos os dados da tabela peça" +SELECT * FROM peca; +``` + + +O caractere `*{:sql}` é um [_wildcard_ (coringa)](https://pt.wikipedia.org/wiki/Caractere_curinga) usado para selecionar **todos os atributos** de uma tabela. + + +## Cláusula `WHERE` (condição) + +A cláusula `WHERE{:sql}` é usada para **filtrar registros**. A cláusula `WHERE{:sql}` é usada para extrair apenas os registros que atendem a uma **condição específica**. + +Usa **conectores lógicos**: +- `AND{:sql}` - E +- `OR{:sql}` - OU +- `NOT{:sql}` - NÃO + +Usa **operadores de comparação**: +- `>{:sql}` - Maior +- `<{:sql}` - Menor +- `={:sql}` - Igual +- `<={:sql}` - Menor ou igual +- `>={:sql}` - Maior ou igual +- `BETWEEN{:sql}` - Entre um intervalo (incluindo os extremos). _Facilita a especificação de condições númericas que envolvam um intervalo, ao invés de usar os operadores `<={:sql}` e `>={:sql}`._ + +--- **Artigo em desenvolvimento...** diff --git a/src/styles/components.css b/src/styles/components.css index ab8aa30d..efc630c1 100644 --- a/src/styles/components.css +++ b/src/styles/components.css @@ -313,8 +313,8 @@ @apply border border-green-800 dark:border-green-500; .icon { - @apply absolute right-0 top-0; - @apply rounded-bl-md border-b border-l border-green-800 p-1 dark:border-green-500; + @apply absolute right-0 top-0 p-1; + /*@apply rounded-bl-md border-b border-l border-green-800 dark:border-green-500;*/ @apply text-xs text-green-800 dark:text-green-500; } @@ -326,8 +326,8 @@ @apply border border-red-800 dark:border-red-500; .icon { - @apply absolute right-0 top-0; - @apply rounded-bl-md border-b border-l border-red-800 p-1 dark:border-red-500; + @apply absolute right-0 top-0 p-1; + /*@apply rounded-bl-md border-b border-l border-red-800 dark:border-red-500;*/ @apply text-xs text-red-800 dark:text-red-500; }