1.
Criando um banco de dados (CREATE DATABASE)
O comando básico para criar um banco de dados é:
CREATE DATABASE nome_do_banco;
Exemplo:
Vamos criar um banco de dados chamado escola.
CREATE DATABASE escola;
2. Selecionando um banco de dados (USE)
Após criar o banco de dados, você pode selecioná-lo para começar a usar:
USE nome_do_banco;
Exemplo:
Vamos selecionar o banco de dados escola que acabamos de criar:
USE escola;
Exemplos:
Criar um banco de dados chamado escola
CREATE DATABASE escola;
Selecionar o banco de dados escola
USE escola;
Agora você pode criar tabelas e realizar outras operações
CREATE TABLE alunos (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100),
idade INT,
turma VARCHAR(50)
);
CREATE TABLE salas (
id INT AUTO_INCREMENT PRIMARY KEY,
numero_sala VARCHAR(10),
capacidade INT
);
Estrutura do comando INSERT INTO:
INSERT INTO nome_da_tabela (coluna1, coluna2, coluna3, ...)
VALUES (valor1, valor2, valor3, ...);
Exemplo de inserção de dados na tabela alunos:
INSERT INTO alunos (nome, idade, turma)
VALUES ('Maria Silva', 14, '8A');
INSERT INTO alunos (nome, idade, turma)
VALUES ('João Pereira', 15, '9B');
INSERT INTO alunos (nome, idade, turma)
VALUES ('Ana Costa', 13, '7A');
INSERT INTO salas (numero_sala, capacidade)
VALUES ('A101', 30);
INSERT INTO salas (numero_sala, capacidade)
VALUES ('B202', 25);
INSERT INTO salas (numero_sala, capacidade)
VALUES ('C303', 40);
Verificando os dados inseridos:
Para visualizar os dados que foram inseridos, usamos o comando SELECT:
SELECT * FROM alunos;
Exemplo completo:
-- Criar o banco de dados
CREATE DATABASE escola;
-- Selecionar o banco de dados
USE escola;
Estrutura do comando CREATE TABLE:
CREATE TABLE nome_da_tabela (
nome_coluna1 tipo_dado_coluna1 [restrições],
nome_coluna2 tipo_dado_coluna2 [restrições],
...
);
-- Criar a tabela alunos
CREATE TABLE alunos (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100),
idade INT,
turma VARCHAR(50)
);
CREATE TABLE professores (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100),
disciplina VARCHAR(50),
salario DECIMAL(10, 2)
);
-- Inserir dados na tabela alunos
INSERT INTO alunos (nome, idade, turma)
VALUES ('Maria Silva', 14, '8A');
INSERT INTO alunos (nome, idade, turma)
VALUES ('João Pereira', 15, '9B');
INSERT INTO alunos (nome, idade, turma)
VALUES ('Ana Costa', 13, '7A');
-- Selecionar e mostrar todos os dados da tabela alunos
SELECT * FROM alunos;
SELECT * FROM salas;
INSERT INTO professores (nome, disciplina, salario)
VALUES ('Carlos Souza', 'Matemática', 3500.50);
INSERT INTO professores (nome, disciplina, salario)
VALUES ('Fernanda Lima', 'História', 3200.00);
INSERT INTO professores (nome, disciplina, salario)
VALUES ('Roberto Mendes', 'Geografia', 3700.75);
SELECT * FROM professores;
Estrutura do comando ALTER TABLE para adicionar uma chave estrangeira:
ALTER TABLE tabela_filha
ADD CONSTRAINT nome_da_chave_estrangeira
FOREIGN KEY (coluna_filha)
REFERENCES tabela_pai(coluna_pai);
ALTER TABLE alunos
ADD COLUMN professor_id INT;
ALTER TABLE alunos
ADD CONSTRAINT fk_professor_aluno
FOREIGN KEY (professor_id)
REFERENCES professores(id);
INSERT INTO alunos (nome, idade, turma, professor_id)
VALUES ('Pedro Gomes', 14, '8A', 1); -- O professor com id 1 é Carlos Souza
INSERT INTO alunos (nome, idade, turma, professor_id)
VALUES ('Carla Nunes', 13, '7B', 2); -- O professor com id 2 é Fernanda Lima
Exemplo: INNER JOIN entre alunos e professores
Queremos exibir os nomes dos alunos, suas idades, suas turmas e o nome do professor
orientador.
SELECT alunos.nome AS aluno_nome, alunos.idade, alunos.turma, professores.nome AS
professor_nome
FROM alunos
INNER JOIN professores
ON alunos.professor_id = professores.id;
EXEMPLO COMPLETO:
-- Criar o banco de dados e as tabelas
CREATE DATABASE escola;
USE escola;
CREATE TABLE professores (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100),
disciplina VARCHAR(50),
salario DECIMAL(10, 2)
);
CREATE TABLE alunos (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100),
idade INT,
turma VARCHAR(50),
professor_id INT,
FOREIGN KEY (professor_id) REFERENCES professores(id)
);
-- Inserir dados na tabela professores
INSERT INTO professores (nome, disciplina, salario)
VALUES ('Carlos Souza', 'Matemática', 3500.50);
INSERT INTO professores (nome, disciplina, salario)
VALUES ('Fernanda Lima', 'História', 3200.00);
-- Inserir dados na tabela alunos
INSERT INTO alunos (nome, idade, turma, professor_id)
VALUES ('Pedro Gomes', 14, '8A', 1);
INSERT INTO alunos (nome, idade, turma, professor_id)
VALUES ('Carla Nunes', 13, '7B', 2);
-- Buscar e mostrar dados de alunos junto com seus professores
SELECT alunos.nome AS aluno_nome, alunos.idade, alunos.turma, professores.nome AS
professor_nome
FROM alunos
INNER JOIN professores
ON alunos.professor_id = professores.id;
Estrutura do comando DROP TABLE:
DROP TABLE nome_da_tabela;
DROP TABLE salas;
Estrutura do comando DROP DATABASE:
DROP DATABASE escola;