BANCO DE DADOS Prof. Patrícia Lucas 3º Trimestre ROTEIRO PARA O 3º TRIMESTRE 1. O MySQL | DDL | SQL 1. 2. 3. 4. 5. 6. Como funciona o MySQL Como criar um banco de dados no MySQL Como criar tabelas: comandos para criação, alteração e exclusão Comandos para restrições Tipos de dados do MySQL Exibição da base de dados O MYSQL | O QUE É? O MySQL é um SGBD: Multitarefa; Multiusuário; Open Source; Relacional; Suporte à SQL; Suporta vários tipos de dados Suporta vários tipos de linguagens de programação Web site: (http://www.mysql.com/) MySQL Workbench é uma ferramenta de design de banco de dados visual que integra o desenvolvimento SQL, administração, design de banco de dados, criação e manutenção em um único ambiente de desenvolvimento integrado para o sistema de banco de dados MySQL. O MYSQL | COMANDOS SQL 1. Comando para listar os bancos de dado: Sintaxe: show databases; 2. Comando para especificar qual banco de dados dejesa utilizar: Sintaxe: use nome_do_banco; 3. Comando para criar um novo BD: Sintaxe: create database nome_do_banco; nome_do_banco Ex.: create database clinica; O MYSQL | COMANDOS SQL | DDL 4. Comando para apagar um BD: Sintaxe: drop database nome_do_banco; nome_do_banco TESTE OS COMANDOS ANTERIORES 1. Conecte ao mysql 2. Crie uma base de dados chamada clinica 3. Liste todos os banco de dados 4. Faça backup do banco de dados clinica que você criou 5. Agora exclua-a 6. Verifique se o banco de dados clinica realmente foi excluído 7. Agora restaure-o O MYSQL | ALGUNS TIPOS DO MYSQL 1. CHAR(M): caracteres alfanuméricos (de 1 a 255 caracteres) 2. VARCHAR(M): caracteres alfanuméricos com espaço em memória alocado sob demanda 3. INT(M) [Unsigned]: números inteiros numa variação de −2147483648 a 2147483647, o parâmetro Unsigned exclui os números negativos 4. FLOAT[(M,D)]: números decimais (ponto flutuante) 5. DATE: informação referente a Data no formato: AAAA−MM−DD AAAA 6. TEXT/BLOB: grandes quantidades de caracteres (0 a 65535 bytes) O MYSQL | ALGUNS TIPOS DO MYSQL 7. SET: permite que o usuário faça uma escolha dado determinado número de opções (até 64 opções) 8. ENUM: semelhante ao SET, com a diferença que apenas um valor pode ser escolhido. O MYSQL | COMANDOS SQL | DDL Comandos para definição de esquemas: 5. create table: define a estrutura da tabela e suas restrições de integridade. Sintaxe: create table (colunas); Exemplo: CREATE TABLE Ambulatorio ( idAmbulatorio int unsigned not null auto_increment, andar int NOT NULL, capacidade int, PRIMARY KEY(idAmbulatorio)); KEY(idAmbulatorio O MYSQL | COMANDOS SQL | DDL Exemplo: CREATE TABLE Medico ( auto_increment idMedico int unsigned NOT NULL auto_increment, nome varchar(50) NOT NULL, idade smallint NOT NULL, especialidade char(20), CPF bigint(11) UNIQUE NOT NULL, cidade varchar(45) DEFAULT 'Montes Claros', idAmbulatorio int unsigned NOT NULL, PRIMARY KEY(idMedico), FOREIGN KEY(idAmbulatorio) REFERENCES Ambulatorio(idAmbulatorio) Ambulatorio ON DELETE CASCADE ON UPDA CASCADE) ENGINE=INNODB; O MYSQL | COMANDOS SQL | DDL Palavras-chave: NOT NULL – não permite valores nulos para os atributos. AUTO_INCREMENT – gera automaticamente os valores. PRIMARY KEY – chave primária. UNSIGNED – o atributo só poderá possuir valores positivos. UNIQUE – o valor do atributo deve ser único. DEFAULT – insere um valor padrão para o atributo quando não especificado. FOREIGN KEY – chave estrangeira. REFERENCES – de onde vem a chave estrangeira. ENGINE=INNODB – tabela que suportam restrições de chave estrangeira. O MYSQL | COMANDOS SQL | DDL 6. Comando para definir restrições de integridade: Delete e Update Sintaxe: ON DELETE ………………….. ON UPDATE ……………. No action : Especifica que se uma tentativa for feita para exclusão ou atualização de uma linha com uma chave referenciada por chaves estrangeiras em linhas existentes de outras tabelas, um erro é ativado e a instrução DELETE ou UPDATE é revertida. Cascade : Especifica que se uma tentativa for feita para exclusão ou atualização de uma linha com uma chave referenciada por chaves estrangeiras em linhas existentes de outras tabelas, todas as linhas que contenham essas chaves estrangeiras serão igualmente excluídas ou atualizadas. O MYSQL | COMANDOS SQL | DDL Set null : Especifica que se uma tentativa for feita para exclusão ou atualização de uma linha com uma chave referenciada por chaves estrangeiras em linhas existentes de outras tabelas, todos os valores que constituem a chave estrangeira nas linhas que são referenciadas serão definidos como NULL. Todas as colunas de chave estrangeira da tabela de destino devem ser anuláveis para que essa restrição seja executada. Set default : Especifica que se uma tentativa for feita para exclusão ou atualização de uma linha com uma chave referenciada por chaves estrangeiras em linhas existentes de outras tabelas, todos os valores que constituem a chave estrangeira nas linhas referenciadas serão definidos como seus valores padrão. Todas as colunas de chave estrangeira da tabela de destino precisam ter uma definição padrão para que essa restrição seja executada. Se a coluna for anulável e não houver nenhum valor padrão explícito definido, NULL se tornará o valor padrão implícito para a coluna. Todos os valores não nulos definidos porque ON DELETE SET DEFAULT precisa conter valores correspondentes na tabela primária para poder manter a validade da chave estrangeira. OBS: NO ACTION é o padrão quando ON DELETE ou ON UPDATE não estão especificadas. O MYSQL | COMANDOS SQL | DDL 7. Comando para mostrar todas as tabelas: Sintaxe: show tables; 8. Comando para mostrar todas as colunas de uma tabela: Sintaxe: describe nome_da _tabela; O MYSQL | COMANDOS SQL | DDL Comando para alteração de tabelas: 9. Adicionar colunas em uma tabela: Sintaxe: ALTER TABLE medico ADD email char(80) not null; 9. Eliminar colunas em uma tabela: Sintaxe: ALTER TABLE medico DROP email; 9. Alterar colunas em uma tabela: Sintaxe: ALTER NULL; TABLE medico CHANGE nome nome varchar(60) NOT O MYSQL | COMANDOS SQL | DDL 10. Comando para apagar tabelas: Sintaxe: Drop table nome_da_tabela; O MYSQL | COMANDOS SQL | DML 4. Comando para selecionar dados na tabela: Sintaxe: SELECT <lista de atributos> FROM <nome_tabela, > WHERE condição; Exemplo: SELECT * FROM Medico; O MYSQL | COMANDOS SQL | DML 1. Comando para inserir dados na tabela: Sintaxe: INSERT nome_tabela> (lista_atributos) INTO <nome_tabela> VALUES (lista_valores_atributos lista_valores_atributos); Exemplo: INSERT INTO Ambulatorio (andar, capacidade) VALUES (1, 30); O MYSQL | COMANDOS SQL | DML Exemplo: INSERT INTO Medico (nome,idade, especialidade, CPF, cidade, idAmbulatorio) VALUES (‘Marco Aurelio’, 48, ‘Obstetricia’, 12345678932,’Montes Claros’,1); Claros’,1 O MYSQL | COMANDOS SQL | DML 2. Comando para alterar dados na tabela: Sintaxe: UPDATE nome_tabela SET nome_atributo_1 = Valor [{, nome_atributo_n = Valor}] Valor WHERE condição; O MYSQL | COMANDOS SQL | DML Exemplo: UPDATE Ambulatorio SET capacidade = capacidade + 5, andar = 3 WHERE idAmbulatorio = 1; O MYSQL | COMANDOS SQL | DML 3. Comando para excluir dados na tabela: Sintaxe: DELETE FROM <nome_tabela> nome_tabela> WHERE condição; Exemplo: DELETE FROM Medico WHERE idMedico=1; O MYSQL | COMANDOS SQL | DML Exemplo: DELETE FROM Ambulatorio WHERE idambulatorio=1; idambulatorio=1