Vous êtes sur la page 1sur 4

SQL Bsico (MySQL)

1 Banco de Dados
Execute o console do MySQL e crie o banco de dados.
mysql> CREATE DATABASE empresa; CREATE DATABASE

Execute o comando SHOW DATABASES; para verificar se o banco de dados foi realmente criado:
mysql> SHOW DATABASES;

Utilize agora o comando USE para se conectar ao banco empresa.


mysql> USE empresa

2 Tabelas
2.1 Tabela tb_funcionarios
Estrutura:
CREATE TABLE tb_funcionarios ( id INT AUTO_INCREMENT PRIMARY KEY NOT NULL, nome VARCHAR(60) NOT NULL, escolaridade VARCHAR(30) NOT NULL, cargo VARCHAR(50) NOT NULL, salario FLOAT NOT NULL );

Utilize o comando SHOW TABLES para listar as tabelas e relaes existentes.


mysql> SHOW TABLES;

use ento o comando DESCRIBE <nome da tabela> para listar a estrutura da tabela tb_funcionarios:
mysql> DESCRIBE tb_funcionarios;

O primeiro comando (AUTO_INCREMENT) cria um campo de auto-incremento. O identificador PRIMARY KEY informa que o campo ID ser a chave primria. O identificador NOT NULL indica a obrigatoriedade de preencher os campos com algum valor. Dados:
id 1 2 3 4 nome Andr Cludio Luis Alfredo escolaridade Ps-Graduado Mestre Graduado Ps-Graduado cargo Analista de Negcios Analista de Sistemas Analista de Sistemas Analista de BI salario 1000 2000 700 2300

5 6 7 8 9

Augusto Ricardo Thais Pedro Flavia

Doutor Graduado Graduado Graduado Mestre

Administrador de Banco de Dados Analista de Sistemas Analista de Marketing Programador Analista de Sistemas

2600 1000 1100 900 2300

Para inserir o primeiro registro basta executar o comando:


INSERT INTO tb_funcionarios (nome, escolaridade, cargo, salario) VALUES('Andr', 'Ps-Graduado', 'Analista de Negcios', 1000);

Verifique se o registro foi includo com sucesso fazendo:


mysql> SELECT * FROM tb_funcionarios; id | nome | escolaridade | cargo | salario ----+-------+--------------+----------------------+--------1 | Andr | Ps-Graduado | Analista de Negcios | 1000

2.2 Tabela tb_cargos


Estrutura:
CREATE TABLE tb_cargos ( id INT AUTO_INCREMENT PRIMARY KEY NOT NULL, cargo VARCHAR(50) NOT NULL, departamento VARCHAR(50) NOT NULL );

Dados:
id 1 2 3 4 5 6 7 8 9 cargo Analista de Negcios Analista de Sistemas Analista de BI Administrador de Banco de Dados Analista de Marketing Programador Contador Administrador Designer departamento Tecnologia da Informao Tecnologia da Informao Tecnologia da Informao Tecnologia da Informao Marketing Tecnologia da Informao Contabilidade Contabilidade Marketing

Exerccios: 1. Crie a tabela. 2. Inclua os registros.

3 Instruo SELECT
3.1 Informaes Gerais
Execute o comando abaixo:
mysql> select version(), user(), database(); +------------+----------------+------------+

| version() | user() | database() | +------------+----------------+------------+ | 5.5.24-log | root@localhost | sqlteste1 | +------------+----------------+------------+ 1 row in set (0.02 sec)

3.2 Exerccios
1. Utilize o comando SELECT para solicitar uma lista de: o De todos os campos o De somente do campo NOME o Simultnea dos campos NOME e CARGO 2. Usando o comando SELECT e a clusula WHERE liste: o Todos os funcionrios cuja escolaridade seja Graduado o Todos os registros cuja escolaridade seja Graduado e que o cargo seja diferente de Analista de Sistemas (dica, use o operador !=, que significa diferente) Pode-se usar o parmetro ORDER BY para ordenar os registros de uma consulta de acordo com algum campo ou critrio. Exemplos:
SELECT * FROM tb_funcionarios ORDER BY nome; SELECT * FROM tb_funcionarios ORDER BY nome ASC; SELECT * FROM tb_funcionarios ORDER BY nome DESC;

Exerccios: 1. Utilize o comando SELECT para listar os registros por ordem de salrio, dos mais altos para os mais baixos 2. Use as funes SUM, MAX, MIN e AVG para descobrir, respectivamente, qual a soma, o maior, o menor e a mdia dos salrios. Para mostrar todo o registro ao invs de somente o valor mximo ou mnimo, a seguinte sintaxe pode ser utilizada:
SELECT *, MAX(salario) FROM tb_funcionarios;

O parmetro DISTINCT evita que valores repetidos sejam mostrados em uma consulta. Exemplo: SELECT DISTINCT escolaridade FROM tb_funcionarios; Exerccios: 1. Utilize o parmetro DISTINCT para listar todos os cargos da tabela tb_funcionarios. 2. Utilize o parmetro DISTINCT para listar todos os departamentos da tabela tb_cargos.

O parmetro GROUP BY realiza operaes COUNT, SUM, AVG, MAX e MIN baseadas em agrupamentos. Exemplo: calcular a mdia de salrio de cada cargo registrado na tabela tb_funcionarios.
SELECT cargo, AVG(salario) FROM tb_funcionarios GROUP BY cargo;

O parmetro COUNT realiza a contagem dos registros de uma tabela, podendo ainda atender a um critrio de filtragem. Exemplo: SELECT COUNT(*) FROM tb_funcionarios; Exerccios: 1. Utilize o parmetro COUNT para descobrir quantos funcionrios possuem escolaridade Graduado. 2. Utilize o parmetro COUNT para descobrir quantos funcionrios ganham acima de R$ 1000,00. O parmetro HAVING parecido com o parmetro WHERE. A diferena que ele usado para filtrar os dados do argumento GROUP BY. Exemplo: listar apenas os cargos cujos salrios mdios sejam acima de R$ 1000,00
SELECT cargo, AVG(salario) FROM tb_funcionarios GROUP BY cargo HAVING AVG(salario)>1000;

Vous aimerez peut-être aussi