BANCO DE DADOS
TABELAS SQL
Professor Carlos Muniz
BANCO DE DADOS
TABELAS SQL
Criando uma Tabela
SINTAXE:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] <nome da
tabela>
( <nome-atributo> <tipo-dado> [NULL | NOT NULL] [DEFAULT
<default-value>]
[AUTO_INCREMENT] [PRIMARY KEY] )
{ENGINE | TYPE}=engine_name
AUTO_INCREMENT = value
COMMENT='string'
MAX_ROWS = value
MIN_ROWS = value
PACK_KEYS = {0 | 1 | default}
ROW_FORMAT = {default | dynamic | fixed | compressed |
redundant | compact }
Professor Carlos Muniz
[email protected]
CREATE TABLE para especificar o layout de sua tabela:
2
BANCO DE DADOS
TABELAS SQL
Criando uma Tabela
Professor Carlos Muniz
[email protected]
Vamos criar o banco baseado no DER abaixo:
3
BANCO DE DADOS
TABELAS SQL
Criando a Tabela 1 (TITULARES)
Professor Carlos Muniz
[email protected]
CREATE TABLE TITULARES (
INSCRICAO INT UNIQUE
AUTO_INCREMENT,
NOME VARCHAR(50),
ENDERECO VARCHAR(50),
BAIRRO VARCHAR(30),
CIDADE VARCHAR(30),
UF VARCHAR(2));
4
BANCO DE DADOS
TABELAS SQL
Criando a Tabela 1 (TITULARES)
Professor Carlos Muniz
[email protected]
5
BANCO DE DADOS
TABELAS SQL
Criando a Tabela 1 (TITULARES)
* FOREIGN KEY – Chave estrangeira que se relaciona com a
chave primária INSCRIÇÃO na tabela TITULARES
Professor Carlos Muniz
[email protected]
CREATE TABLE DEPENDENTES(
ID_DEP INT UNIQUE AUTO_INCREMENT,
INSCRICAO INT,
NOME VARCHAR(50),
ENDERECO VARCHAR(50),
BAIRRO VARCHAR(30),
CIDADE VARCHAR(30),
UF VARCHAR(2),
FOREIGN KEY (INSCRICAO) REFERENCES
TITULARES(INSCRICAO));
6
BANCO DE DADOS
TABELAS SQL
Criando a Tabela 2 (DEPENDENTES)
Professor Carlos Muniz
[email protected]
7
BANCO DE DADOS
TABELAS SQL
Criando a Tabela 3 (FILMES)
* FOREIGN KEY – Chave estrangeira que se relaciona com a
chave primária INSCRIÇÃO na tabela TITULARES
Professor Carlos Muniz
[email protected]
CREATE TABLE FILMES(
ID_DVD INT UNIQUE AUTO_INCREMENT,
NOME VARCHAR(50),
GENERO VARCHAR(50),
ARTISTA VARCHAR(30),
ANO YEAR,
RESPONSAVEL INT,
FOREIGN KEY (RESPONSAVEL) REFERENCES
TITULARES(INSCRICAO));
8
BANCO DE DADOS
TABELAS SQL
Criando a Tabela 3 (FILMES)
Professor Carlos Muniz
[email protected]
9
BANCO DE DADOS
TABELAS SQL
Populando a Tabela Titulares
Professor Carlos Muniz
[email protected]
INSERT INTO TITULARES (nome,endereco,bairro,cidade,uf) VALUES
('Claudio','Rua Samoa 71','Vila da Penha','Rio de Janeiro','RJ'),
('Martha','Rua Coronel Vieira 71','Iraja','Rio de Janeiro','RJ'),
('Anderson','Rua Leopoldina Seabra, 25','Bento Ribeiro','Rio de Janeiro','RJ'),
('Rogerio','Rua Capitao Teixeira','Realengo','Rio de Janeiro','RJ'),
('Adriana','Rua da Prata','Prata','Belford Roxo','RJ'),
('Milena','Rua Carlos Frahia 71','Centro','Nova Iguacu','RJ'));
10
BANCO DE DADOS
TABELAS SQL
Populando a Tabela Dependentes
Professor Carlos Muniz
[email protected]
INSERT INTO DEPENDENTES (inscricao,nome,endereco,bairro,cidade,uf)
VALUES
(7,'Claudio','Rua Samoa 71','Vila da Penha','Rio de Janeiro','RJ'),
(6,'Martha','Rua Coronel Vieira 71','Iraja','Rio de Janeiro','RJ'),
(4,'Anderson','Rua Leopoldina Seabra, 25','Bento Ribeiro','Rio de Janeiro','RJ'),
(11,'Rogerio','Rua Capitao Teixeira','Realengo','Rio de Janeiro','RJ'),
(4,'Adriana','Rua da Prata','Prata','Belford Roxo','RJ');
11
BANCO DE DADOS
TABELAS SQL
Populando a Tabela Filmes
Professor Carlos Muniz
[email protected]
INSERT INTO FILMES (nome,genero,artista,ano) VALUES
('As Mil Palavras','Comedia','Eddie Murphy',2012),
('Roubo nas Alturas','Comedia','Eddie Murphy',2011),
('Shrek para sempre','Comedia','Eddie Murphy',2010),
('O Grande Dave', 'Comedia','Eddie Murphy',2008),
('Shrek Terceiro', 'Comedia','Eddie Murphy',2007),
('8 Mile Rua das Ilusoes', 'Drama','Eminem',2002),
('Rota de Fuga - 2013','Acao','Arnold Schwarzenegger',2013),
('O Homem do Futuro','Comedia','Wagner Moura',2011),
('Tropa de Elite','Acao','Wagner Moura',2007),
('Tropa de Elite2 - O inimigo agora e outro','Acao','Wagner Moura',2010);
12
BANCO DE DADOS
TABELAS SQL
Alterando a estrutura da tabela
Professor Carlos Muniz
[email protected]
ALTER TABLE nome_tabela
ADD [COLUMN] nome_atributo_1 tipo_1 [{RIs}]
[{, nome_atributo_n tipo_n [{RIs}]}]
MODIFY [COLUMN] nome_atributo_1 tipo_1 [{RIs}]
[{, nome_atributo_n tipo_n [{RIs}]}]
CHANGE [COLUMN] nome_antigo_1 nome_novo_1 tipo_1 [{RIs}]
[{, nome_antigo_n nome_novo_n tipo_n [{RIs}]}]
DROP COLUMN nome_atributo_1
[{, nome_atributo_n }]
[ADD|DROP] [PRIMARY KEY ...|FOREIGN KEY ...]
13
BANCO DE DADOS
TABELAS SQL
Alterando a estrutura da tabela
ALTER TABLE ambulatorios ADD nome VARCHAR(30)
ALTER TABLE medicos DROP PRIMARY KEY
ALTER TABLE pacientes DROP COLUMN doenca, DROP COLUMN
cidade
Professor Carlos Muniz
[email protected]
Exemplos para alter table:
ALTER TABLE funcionários
ADD FOREIGN KEY(nroa) REFERENCES Ambulatórios
ALTER TABLE funcionarios CHANGE COLUMN cic cpf INT(11) NOT
NULL;
14
BANCO DE DADOS
TABELAS SQL
Alterando a estrutura da tabela
Se a alteração desejada na verdade é a alteração do nome da tabela,
deve-se utilizar o comando “rename” com a seguinte sintaxe:
RENAME TABLE nome_atual_da_tabela TO novo_nome;
Professor Carlos Muniz
[email protected]
ALTER TABLE TITULARES ADD Data_Nasc DATE;
15
BANCO DE DADOS
TABELAS SQL
Apagando uma tabela
Assim como drop tatabase esse comado apagará a tabela com todo seu
conteúdo.
Professor Carlos Muniz
[email protected]
DROP TABLE nome_da_tabela;
16
Download

Tabelas e Relacionaentos em MySQL