Você está na página 1de 3

Professor Reidner

Banco de Dados

Alterando a estrutura do BD

create database cadastro


default CHARACTER set utf8mb4
default collate utf8mb4_unicode_ci; # based on the official Unicode rules

use cadastro;

create table pessoas(


id int NOT NULL AUTO_INCREMENT,
nome varchar(30) NOT NULL,
dt_nascimento date,
sexo enum(‘M’, ‘F’),
peso decimal(5,2),
altura decimal(3,2),
nacionalidade varchar(20) DEFAULT ‘BRASIL’,
PRIMARY KEY(id)
);

• Vamos adicionar uma nova coluna chamada “profissao” na tabela, para isso faça:

ALTER TABLE pessoas ADD COLUMN profissao varchar(10);

Depois vamos exibir todos os dados da tabela.

SELECT * FROM pessoas

Observe que a nova coluna é a ultima na tabela. Veremos agora como mudar sua posição
ao ser inserida, mas para isso precisaremos deletar ela antes. Para isso faça:

ALTER TABLE pessoas DROP COLUMN profissao;

Agora vamos adicionar a coluna em uma posição específica.

ALTER TABLE pessoas ADD COLUMN profissao varchar(10) AFTER nome;

Vamos adicionar uma nova coluna, porém ela será a primeira da tabela:

ALTER TABLE pessoas ADD COLUMN codigo int FIRST;

AFTER – adiciona a coluna após o campo definido

FIRST – adiciona a coluna como sendo a primeira da tabela

Caso não utilize AFTER ou FIRST, a coluna será adicionada ao fim da tabela.
Modificando definições

Vamos modificar a quantidade de caracteres que a coluna “profissao” pode receber:

ALTER TABLE pessoas MODIFY COLUMN profissao varchar(20) NOT NULL DEFAULT '';

Observe que adicionamos o NOT NULL, caso você já tenha registrados cadastrados na sua
tabela, teremos um problema ao utilizar o NOT NULL. Isso ocorre por que quando a nova
coluna profissao foi adicionada, o MySql definiu os valores como nulos. Para resolver essa
questão adicionamos o comando DEFAULT ‘’ (abre aspas simples e fecha aspas simples).

Isso evita que tenhamos valores nulos em uma coluna que não deve aceitar valores nulos.

O comando MODIFY permite mudar o tipo primitivo e as constraints.

Alterando o nome de uma coluna

Para alterar o nome de uma coluna, utilizar:


ALTER TABLE pessoas CHANGE COLUMN profissao prof varchar(20) NOT NULL DEFAULT ‘’;

Par amudar o nome da columa é preciso usar o comando CHANGE e repetir as


constraints utilizadas(NOT NULL, DEFAULT, ...), do contrário a coluna não vai manter a
configuração inicial.

Também é preciso adicionar qual o nome utilizado anteriomente na coluna (profissao) e


apontar qual o novo nome da coluna(prof)

Renomeando a TABELA

Para isso, fala:

ALTER TABLE pessoas RENAME TO clientes;

Criando uma tabela caso ela não exista

Vamos adicionar uma clausula que apenas criará uma tabela caso ela ainda não exista no
banco de dados.

CREATE TABLE IF NOT EXISTS cursos(

nome varchar(30) NOT NULL UNIQUE,

descricao text,

carga int UNSIGNED,

totalaulas int,

ano year DEFAULT '2024'

);

Adicionando uma chave primária em uma tabela que já existe

Primeiramente vamos adicionar a coluna que receberá a chave primária(PK):

ALTER TABLE cursos ADD COLUMN idcurso int FIRST;


Agora vamos adicionar a PK:

ALTER TABLE cursos ADD PRIMARY KEY(idcurso);

Nesse caso é preciso fazer os comandos separadamente.

Excluindo uma tabela, caso exista

Para excluir uma tabela precisamos do comando DROP TABLE, porém para garantir que o
comando será executado apenas caso a tabela exista, vamos adicionar o IF EXISTS,
ficando assim:

• Primeiro vamos criar uma tabela “teste” para ser excluida:


CREATE TABLE IF NOT EXISTS test( id int);
• Agora vamos deletar a tabela:

DROP TABLE IF EXISTS test;

Você também pode gostar