0% acharam este documento útil (0 voto)
28 visualizações38 páginas

MySQL DDL

O documento apresenta uma introdução ao SQL, detalhando seus principais comandos e a estrutura de bancos de dados relacionais, como o MySQL. Ele aborda a Linguagem de Definição de Dados (DDL), incluindo a criação e manipulação de bancos e tabelas, além de discutir a integridade referencial. Exemplos práticos de comandos SQL são fornecidos para ilustrar a aplicação dos conceitos apresentados.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
28 visualizações38 páginas

MySQL DDL

O documento apresenta uma introdução ao SQL, detalhando seus principais comandos e a estrutura de bancos de dados relacionais, como o MySQL. Ele aborda a Linguagem de Definição de Dados (DDL), incluindo a criação e manipulação de bancos e tabelas, além de discutir a integridade referencial. Exemplos práticos de comandos SQL são fornecidos para ilustrar a aplicação dos conceitos apresentados.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 38

• SQL - DDL

• Introdução ao SQL
• Principais comandos
• Criação de Banco de Dados
• Criação de Tabelas
• Integridade Referencial

INF - Banco de Dados


Prof. Pedro Borges
Introdução ao SQL
SQL - Structured Query Language
 O nome SQL (Structured Query Language) explica a sua finalidade – não é uma
linguagem de programação para desenvolver sistemas como PHP, C ou Java,
mas sim uma linguagem declarativa usada para facilitar o acesso a dados
armazenados em bancos de dados relacionais, como o MySQL;

• Um banco de dados relacional armazena dados em tabelas (relações) que são


formadas por linhas (tuplas) e colunas (campos).

Disciplina: Banco de Dados


2
Introdução ao SQL
SQL - Structured Query Language

SQL é dividida em 3 subconjuntos (principais):

 1º DDL - Data Definition Language (Linguagem de Definição de Dados).

• 2º DML - Data Manipulation Language (Linguagem de Manipulação de Dados).

• 3º DQL - Data Query Language (Linguagem de Consulta de Dados).

Disciplina: Banco de Dados


3
Introdução ao SQL
MySQL
 O MySQL é um SGBD que usa a linguagem SQL para acessar os dados
armazenados;

• É rápido, multitarefa e multiusuário;

• Teve a sua primeira versão oficial em 1996;

• Permite trabalhar com grandes tabelas;

• No formato MyISAM suporta tabelas até 4GB.

Disciplina: Banco de Dados


4
Introdução ao SQL
Exemplos de comandos
 SELECT VERSION();

 SELECT CURRENT_DATE();

 SELECT CURDATE();

 SELECT CURRENT_TIME();

 SELECT NOW();

 SELECT USER().

Disciplina: Banco de Dados


5
Introdução ao SQL
MySQL Workbench
 O MySQL Workbench é uma
ferramenta visual de banco de dados
que integra o desenvolvimento,
administração e projeto de bancos
MySQL Workbench
de dados.

Disciplina: Banco de Dados


6
Introdução ao SQL
Alguns comandos iniciais
Os comandos terminam com ponto-e-vírgula ( ; )

SELECT
SELECT USER( );
USER( );

SELECT 5 + 5;
SELECT 12 + 8, 13 - 9;
SELECT 12 + 8AS Soma, 13 - 9 AS Subtração;
SELECT SQRT(16), SQRT(28.6);

Disciplina: Banco de Dados


7
Introdução ao SQL
SQL - Structured Query Language

SQL é dividida em 3 subconjuntos (principais):

 1º DDL - Data Definition Language (Linguagem de Definição de Dados).

• 2º DML - Data Manipulation Language (Linguagem de Manipulação de Dados).

• 3º DQL - Data Query Language (Linguagem de Consulta de Dados).

Disciplina: Banco de Dados


8
SQL - DDL
Linguagem de Definição de Dados
A Linguagem de Definição de Dados (ou DDL, de Data Definition Language) é usada
para a inclusão, remoção e modificação de estruturas (bancos e tabelas).

Exemplos de comandos SQL:

• CREATE DATABASE

• CREATE TABLE

• DROP DATABASE

Disciplina: Banco de Dados


9
SQL - DDL
Criando um banco de dados
Um banco de dados armazenará as tabelas.Asintaxe para criar de um BD em SQL é:

CREATE DATABASE IF NOT EXISTS nome;


No comando acima, nome é a representação do nome do banco de dados a ser criado.

O uso do IF NOT EXISTS é opcional. Ele apenas evita que um erro seja gerado caso se
tente usar um nome de banco já existente.

Disciplina: Banco de Dados


10
SQL - DDL
Criando um banco de dados (exemplo)

CREATE DATABASE meuBanco;

Tente executar o comando acima outra vez, e logo após execute o comando a
seguir. Note que a mensagem de erro não é exibida.

CREATE DATABASE IF NOT EXISTS meuBanco;


Os comandos e nomes de bancos de dados não são case sensitive. Tente:

CREATE DATABASE MEUBANCO;


Disciplina: Banco de Dados
11
SQL - DDL
Exibindo os bancos de dados criados

Para exibir os bancos de dados existentes no sistema, usamos o comando:

SHOW DATABASES;

Além do banco criado, são exibidos outros bancos de dados, como por exemplo
os bancos mysql, performance_schema e information_schema. São bancos de
dados que contém metadados.

Disciplina: Banco de Dados


12
SQL - DDL
Selecionando um banco de dados

Para selecionar um banco de dados existente, devemos usar o comando:

USE nome;

 Antes de executar qualquer operação, devemos executar o comando USE.

• Onde nome é o nome do banco de dados que queremos usar.

Disciplina: Banco de Dados


13
SQL - DDL
Selecionando um banco de dados (exemplo)

Para selecionar o banco meuBanco criado anteriormente, usamos:

USE meuBanco;

Disciplina: Banco de Dados


14
SQL - DDL
Apagando um banco de dados

Para remover um banco de dados, devemos executar o seguinte comando:

DROP DATABASE nome;

Onde nome é o nome do banco de dados que queremos remover;


ATENÇÃO: após remover um banco de dados, todas as tabelas com os seus
dados serão perdidas.

Disciplina: Banco de Dados


15
SQL - DDL
Apagando um banco de dados (exemplo)

Para remover o banco de dados meuBanco, criado anteriormente:

DROP DATABASE meuBanco;

DROP DATABASE IF EXISTS meuBanco;

Para confirmar que o banco foi removido, você pode executar o comando:

SHOW DATABASES;
Disciplina: Banco de Dados
16
SQL - DDL
Criação de tabelas
A sintaxe para criação de uma tabela é a seguinte:

CREATE TABLE IF NOT EXISTS tabela (


coluna1 tipo parâmetros,
colunaN tipo parâmetros
);
Onde tabela é o nome da tabela que queremos criar e dentro dos
parênteses especificamos cada coluna, o seu tipo e outros parâmetros.

Disciplina: Banco de Dados


17
SQL - DDL
Criação de tabelas

Principais tipos e descrição:


Tipo Descrição
CHAR(tam) Sequencia de caracteres de tamanho fixo.
VARCHAR(tam) Sequências de caracteres de tamanho variável de até 255 caracteres.
TINYTEXT suporta até 255 caracteres.
MEDIUMTEXT Suporta até 16.777.326 caracteres.
LONGTEXT Suporta até 4.294.967.295.
DATETIME Usado para armazenar valores que contém tanto a data quanto o horário. É usado o seguinte
formato ‘AAAA-MM-DD HH:MM:SS’.
DATE Data no formato ‘AAAA-MM-DD’ (formato ANSI).
TIME Representa informação relacionada a um determinado horário, no formato ‘HH:MM:SS’.

Disciplina: Banco de Dados


18
SQL - DDL
Criação de tabelas

Principais tipos e descrição:


Tipo Descrição
BIGINT Tipo de dado para inteiros grandes na faixa valores de -9.223.372.036.854.775.808 a
9.223.372.036.854.775.807. O unsigned vai de 0 até 18.446.744.073.709.551.615;

TINYINT Inteiros de -128 até 127, ou de 0 até 255 (unsigned).


DECIMAL(tam,dec) Valores de ponto flutuante como se fosse sequências de caracteres. O tamanho determina o
número de dígitos e o decimal determina quantos deles são casas decimais.

DOUBLE Quando for necessário usar valores com tamanho normal (dupla precisão).
FLOAT Quando for necessário usar valores com tamanho pequeno (precisão simples).
INTEGER Usado quando houver a necessidade de valores inteiros na faixa de -2147483648 a
2147483647 ou de 0 a 4294967295 (unsigned).
Disciplina: Banco de Dados
19
SQL - DDL
Criação de tabelas

Algumas definições dos tipos numéricos:

• SIGNED x UNSIGNED: basicamente, um número signed aceita dados


negativos, enquanto o unsigned não.

• Isso cria o seguinte cenário: vamos supor que temos um dado do tipo TINYINT,
que pode ter uma faixa de valores de 255, se ele for signed seu valor pode
variar de -128 a 127, caso seja unsigned seu valor irá de 0 a 255.

Disciplina: Banco de Dados


20
SQL - DDL
Criação de tabelas

Algumas definições dos tipos numéricos:

• SIGNED x UNSIGNED:
• Dados que aceitam o atributo “UNSIGNED” automaticamente aceitam o atributo
“SIGNED”, mas como este é o valor padrão, pode ser suprimido.

• Ex.: TINYINT(4) é a mesma coisa que TINYINT(4) SIGNED, caso for utilizá-lo
como UNSIGNED a forma correta de escrita é TINYINT(4) UNSIGNED.

Disciplina: Banco de Dados


21
SQL - DDL
Criação de tabelas

Algumas definições dos tipos numéricos:


• ZEROFILL: esse parâmetro é responsável por preencher com zeros à esquerda
do valor informado sempre que utilizado, o dado automaticamente recebe o
atributo UNSIGNED, ou seja, passa a não aceitar valores negativos.

• Ex.: em um TINYINT(4) ZEROFILL ao invés de armazenar o valor como “1”,


seria armazenado como “0001”.

Disciplina: Banco de Dados


22
SQL - DDL
Criação de tabelas

Algumas definições dos tipos numéricos:

Disciplina: Banco de Dados


23
SQL - DDL
Criação de tabelas

Alguns Parâmetros e suas descrições:


Parâmetro Descrição
NOT NULL É a definição de um campo não aceitar valores nulos.
DEFAULT Permite determinar um valor padrão para um determinado campo.

Determina se o campo será preenchido automaticamente quando nele forem


AUTO_INCREMENT entrados valores NULL ou em branco (apenas se o campo for do tipo
inteiro).

PRIMARY KEY Indica que aquele campo é uma chave primária.

Disciplina: Banco de Dados


24
SQL - DDL
Criação de tabelas (exemplo)

Exemplo de criação da tabela alunos no banco meuBanco:

USE meuBanco;

CREATE TABLE IF NOT EXISTS alunos (


matricula INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome varchar(50) NOT NULL, email varchar(100)
);

Disciplina: Banco de Dados


25
SQL - DDL
Exibindo as tabelas criadas

Para exibir as tabelas de um BD, usamos o seguinte comando:

SHOW TABLES;
Para exibir a estrutura de uma tabela específica, ou mesmo de uma ou mais
colunas, usamos o seguinte comando:

DESCRIBE tabela coluna;


Onde tabela é o nome da tabela e coluna é o nome do campo (opcional).

Disciplina: Banco de Dados


26
SQL - DDL
Exibindo as tabelas criadas (exemplo)

Descrevendo a tabela alunos:


DESCRIBE alunos;

Descrevendo o atributo matrícula da tabela alunos:

DESCRIBE alunos matricula;

Disciplina: Banco de Dados


27
SQL - DDL
Alterando uma tabela

Para alterar uma tabela em um BD, usamos o seguinte comando:

ALTER TABLE tabela operacao;

Onde tabela é o nome da tabela que queremos alterar e operacao é a operação


que queremos realizar nesta tabela, como adicionar ou remover um campo.

Disciplina: Banco de Dados


28
SQL - DDL
Alterando uma tabela - Renomear

Para renomear o nome de uma tabela:

ALTER TABLE alunos RENAME TO pessoas;

Disciplina: Banco de Dados


29
SQL - DDL
Alterando uma tabela - Adicionar campo

Para adicionar um campo:

ALTER TABLE alunos ADD endereco varchar(50) NOT NULL;

Para inserir um campo no início ou depois de um determinado campo:

ALTER TABLE alunos ADD cidade varchar(50) FIRST; Primeira coluna da tabela

ALTER TABLE alunos ADD cidade varchar(50) AFTER endereco; Depois da coluna endereco

Disciplina: Banco de Dados


30
SQL - DDL
Alterando uma tabela – Alterar nome e tipo de campo

Para alterar o nome e o tipo de um campo:

ALTER TABLE alunos CHANGE COLUMN endereco enderecoNovo varchar(80);

Disciplina: Banco de Dados


31
SQL - DDL
Alterando uma tabela – Alterar tipo de campo

Para alterar o tipo de um campo:

ALTER TABLE alunos MODIFY endereco varchar(120);

Disciplina: Banco de Dados


32
SQL - DDL
Alterando uma tabela - Remover campo

Para remover um campo:

ALTER TABLE alunos DROP endereco;

Disciplina: Banco de Dados


33
SQL - DDL
Removendo uma tabela

Para remover uma tabela de um BD, usamos o seguinte comando:

DROP TABLE tabela;

Onde tabela é o nome da tabela que queremos remover.

Após remover uma tabela, todos os dados contidos dentro dela serão perdidos.

Disciplina: Banco de Dados


34
SQL - DDL
Criação de tabelas (chave estrangeira)

Criação de chave estrangeira:

CREATE TABLE IF NOT EXISTS alunos (


matricula INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome varchar(50) NOT NULL, email varchar(100),
cursos_codigo INT NOT NULL,

FOREIGN KEY (cursos_codigo)


REFERENCES cursos(codigo)
); A tabela cursos deve ser
criada antes de alunos.

Disciplina: Banco de Dados


35
SQL - DDL
Integridade Referencial
Num banco de dados relacional, quando um registro aponta para outro, ou seja, é
dependente deste, há de se fazer regras para que o registro pai não possa ser
excluído se ele tiver filhos. Tais relacionamentos são feitos através das chaves
estrangeiras.

A integridade referencial visa garantir a não corrupção dos dados, de modo a


não haver como existir um registro filho sem um registro pai.

Disciplina: Banco de Dados


36
SQL - DDL
Integridade Referencial
Podemos especificar as seguintes cláusulas sobre restrições de integridade
referencial:

• CASCADE, RESTRICT, SET NULL e SET DEFAULT

As cláusulas acima definem o que é MySQL deve fazer se uma


restrição de integridade referencial for quebrada.

Disciplina: Banco de Dados


37
SQL - DDL
Integridade Referencial

Exemplo: CREATE TABLE IF NOT EXISTS alunos (


matricula INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome varchar(50) NOT NULL, email varchar(100), cursos_codigo INT NOT
NULL,

FOREIGN KEY (cursos_codigo) REFERENCES cursos(codigo) ON DELETE SET


NULL
ON UPDATE CASCADE
);

Disciplina: Banco de Dados


38

Você também pode gostar