-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompreendendoSQL.txt
More file actions
270 lines (206 loc) · 8.78 KB
/
Copy pathcompreendendoSQL.txt
File metadata and controls
270 lines (206 loc) · 8.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
**Compreendendo SQL: A Linguagem Universal de Bancos de Dados**
SQL, ou Structured Query Language, é uma linguagem projetada para gerenciar e manipular dados armazenados em sistemas de gerenciamento de banco de dados relacionais. Essa linguagem declarativa oferece uma maneira poderosa e uniforme de interagir com dados, independentemente do banco de dados subjacente. Vamos explorar os conceitos fundamentais para compreender SQL.
**1. A Essência da SQL: Operações CRUD**
- **Create (Criação):** SQL permite criar novos bancos de dados, tabelas e registros.
```sql
CREATE DATABASE nome_do_banco;
CREATE TABLE nome_da_tabela (coluna1 tipo, coluna2 tipo);
INSERT INTO nome_da_tabela (coluna1, coluna2) VALUES (valor1, valor2);
```
- **Read (Leitura):** Permite recuperar dados de uma ou mais tabelas.
```sql
SELECT coluna1, coluna2 FROM nome_da_tabela WHERE condição;
```
- **Update (Atualização):** Permite modificar registros existentes.
```sql
UPDATE nome_da_tabela SET coluna1 = novo_valor WHERE condição;
```
- **Delete (Exclusão):** Remove registros de uma tabela.
```sql
DELETE FROM nome_da_tabela WHERE condição;
```
**2. Estrutura de Dados: Tabelas e Relacionamentos**
- **Tabelas:** São estruturas fundamentais em SQL, onde os dados são organizados em linhas e colunas.
```sql
CREATE TABLE alunos (id INT, nome VARCHAR(50), idade INT);
```
- **Relacionamentos:** SQL permite definir relações entre tabelas.
```sql
CREATE TABLE cursos (id INT, nome_curso VARCHAR(50));
CREATE TABLE matriculas (aluno_id INT, curso_id INT, PRIMARY KEY (aluno_id, curso_id), FOREIGN KEY (aluno_id) REFERENCES alunos(id), FOREIGN KEY (curso_id) REFERENCES cursos(id));
```
**3. Consultas Avançadas: JOINS e GROUP BY**
- **JOINS:** Permite combinar dados de diferentes tabelas.
```sql
SELECT alunos.nome, cursos.nome_curso FROM matriculas INNER JOIN alunos ON matriculas.aluno_id = alunos.id INNER JOIN cursos ON matriculas.curso_id = cursos.id;
```
- **GROUP BY:** Agrupa registros com base em determinadas colunas.
```sql
SELECT curso_id, COUNT(*) FROM matriculas GROUP BY curso_id;
```
**4. Condições e Ordenação: WHERE e ORDER BY**
- **WHERE:** Filtra resultados com base em condições específicas.
```sql
SELECT nome FROM alunos WHERE idade > 18;
```
- **ORDER BY:** Ordena resultados com base em uma ou mais colunas.
```sql
SELECT nome FROM alunos ORDER BY idade DESC;
```
**5. Funções Agregadas: SUM, AVG, MAX, MIN**
- SQL oferece funções agregadas para realizar cálculos em conjuntos de dados.
```sql
SELECT AVG(idade) FROM alunos;
```
**6. Segurança: GRANT e REVOKE**
- SQL permite conceder e revogar privilégios para garantir a segurança dos dados.
```sql
GRANT SELECT ON alunos TO usuario;
REVOKE INSERT, UPDATE ON alunos FROM usuario;
```
**Conclusão: Poder nas Mãos do Desenvolvedor de Dados**
SQL é mais do que uma linguagem; é uma ferramenta poderosa para interagir com dados de maneira eficiente e segura. Ao compreender os conceitos fundamentais e praticar com exemplos do mundo real, qualquer desenvolvedor de dados pode explorar todo o potencial dessa linguagem universal de bancos de dados.
**Comandos SQL e Suas Funções Principais**
SQL (Structured Query Language) é uma linguagem de consulta utilizada para gerenciar e manipular dados em sistemas de gerenciamento de banco de dados relacionais. Aqui está uma lista de alguns dos comandos SQL mais essenciais e suas funções:
**1. CREATE:**
- **Função:** Cria objetos no banco de dados, como tabelas, índices, ou visões.
- **Exemplo:**
```sql
CREATE TABLE alunos (id INT, nome VARCHAR(50), idade INT);
```
**2. INSERT:**
- **Função:** Adiciona novos registros a uma tabela.
- **Exemplo:**
```sql
INSERT INTO alunos (id, nome, idade) VALUES (1, 'João', 25);
```
**3. SELECT:**
- **Função:** Recupera dados de uma ou mais tabelas.
- **Exemplo:**
```sql
SELECT nome, idade FROM alunos WHERE idade > 18;
```
**4. UPDATE:**
- **Função:** Modifica dados existentes em uma tabela.
- **Exemplo:**
```sql
UPDATE alunos SET idade = 26 WHERE nome = 'João';
```
**5. DELETE:**
- **Função:** Remove registros de uma tabela.
- **Exemplo:**
```sql
DELETE FROM alunos WHERE idade < 18;
```
**6. ALTER:**
- **Função:** Modifica a estrutura de uma tabela existente.
- **Exemplo:**
```sql
ALTER TABLE alunos ADD COLUMN email VARCHAR(100);
```
**7. JOIN:**
- **Função:** Combina dados de duas ou mais tabelas com base em uma condição.
- **Exemplo:**
```sql
SELECT alunos.nome, cursos.nome_curso FROM matriculas INNER JOIN alunos ON matriculas.aluno_id = alunos.id INNER JOIN cursos ON matriculas.curso_id = cursos.id;
```
**8. GROUP BY:**
- **Função:** Agrupa resultados com base em uma ou mais colunas.
- **Exemplo:**
```sql
SELECT curso_id, COUNT(*) FROM matriculas GROUP BY curso_id;
```
**9. ORDER BY:**
- **Função:** Ordena os resultados com base em uma ou mais colunas.
- **Exemplo:**
```sql
SELECT nome FROM alunos ORDER BY idade DESC;
```
**10. WHERE:**
- **Função:** Filtra resultados com base em condições específicas.
- **Exemplo:**
```sql
SELECT nome FROM alunos WHERE idade > 18;
```
**11. DISTINCT:**
- **Função:** Retorna valores distintos em uma coluna.
- **Exemplo:**
```sql
SELECT DISTINCT idade FROM alunos;
```
**12. COUNT, SUM, AVG, MAX, MIN:**
- **Função:** Realizam cálculos em conjuntos de dados.
- **Exemplo:**
```sql
SELECT AVG(idade) FROM alunos;
```
**13. GRANT e REVOKE:**
- **Função:** Concede ou revoga privilégios de acesso ao banco de dados.
- **Exemplo:**
```sql
GRANT SELECT ON alunos TO usuario;
REVOKE INSERT, UPDATE ON alunos FROM usuario;
```
Esses comandos formam a base para interações com bancos de dados relacionais. Com uma compreensão desses comandos, os desenvolvedores podem realizar operações complexas para manipular, recuperar e gerenciar dados de maneira eficiente.
Aqui está uma lista de comandos SQL sem exemplos de aplicação:
1. **SELECT:**
- Recupera dados de uma ou mais tabelas.
2. **FROM:**
- Especifica a tabela da qual os dados serão recuperados.
3. **WHERE:**
- Filtra os resultados com base em condições específicas.
4. **ORDER BY:**
- Ordena os resultados com base em uma ou mais colunas.
5. **GROUP BY:**
- Agrupa resultados com base em uma ou mais colunas.
6. **HAVING:**
- Filtra resultados de grupos no resultado de uma consulta GROUP BY.
7. **JOIN:**
- Combina dados de duas ou mais tabelas com base em uma condição.
8. **INNER JOIN:**
- Retorna registros que têm valores correspondentes em ambas as tabelas.
9. **LEFT JOIN (ou LEFT OUTER JOIN):**
- Retorna todos os registros da tabela à esquerda e os registros correspondentes da tabela à direita.
10. **RIGHT JOIN (ou RIGHT OUTER JOIN):**
- Retorna todos os registros da tabela à direita e os registros correspondentes da tabela à esquerda.
11. **FULL JOIN (ou FULL OUTER JOIN):**
- Retorna registros quando há uma correspondência em uma das tabelas.
12. **UNION:**
- Combina resultados de duas ou mais consultas.
13. **INSERT INTO:**
- Adiciona novos registros a uma tabela.
14. **VALUES:**
- Especifica os valores a serem inseridos em uma consulta INSERT.
15. **UPDATE:**
- Modifica dados existentes em uma tabela.
16. **DELETE FROM:**
- Remove registros de uma tabela.
17. **CREATE DATABASE:**
- Cria um novo banco de dados.
18. **CREATE TABLE:**
- Cria uma nova tabela.
19. **ALTER TABLE:**
- Modifica a estrutura de uma tabela existente.
20. **DROP TABLE:**
- Exclui uma tabela.
21. **ALTER DATABASE:**
- Modifica as propriedades de um banco de dados.
22. **DROP DATABASE:**
- Exclui um banco de dados.
23. **CREATE INDEX:**
- Cria um índice em uma tabela.
24. **DROP INDEX:**
- Exclui um índice de uma tabela.
25. **GRANT:**
- Concede privilégios de acesso a usuários.
26. **REVOKE:**
- Revoga privilégios de acesso de usuários.
27. **COMMIT:**
- Salva as alterações feitas em uma transação.
28. **ROLLBACK:**
- Desfaz as alterações feitas em uma transação.
29. **SAVEPOINT:**
- Define um ponto dentro de uma transação para o qual você pode mais tarde fazer rollback.
30. **ROLLBACK TO SAVEPOINT:**
- Desfaz alterações feitas até um determinado ponto dentro de uma transação.
Esses comandos SQL formam a base para interações com bancos de dados relacionais e são essenciais para a manipulação eficiente de dados.