Comandos DDL SQL e sua sintaxe

Comandos DDL SQL e sua sintaxe

Neste artigo discuto os comandos SQL do grupo que chamamos de “comandos DDL”, ou Data Definition Language (Linguagem de Definição de Dados), com a sintaxe das principais declarações e exemplos gerais.

O que são comandos DDL – Data Definition Language

Os comandos DDL são um subconjunto dos comandos da linguagem SQL cujo propósito é definir a estrutura de um banco de dados. Assim, esse comandos são empregados para criar, alterar e excluir objetos do banco, como tabelas, colunas e até mesmo o banco de dados em si.

Os comandos DDL que estudaremos são os seguintes:

  • CREATE
  • ALTER
  • DROP
  • RENAME
  • TRUNCATE
Comandos DDL - Data Definition Language

Comandos DDL

Declaração CREATE

Este comando permite criar um objeto no banco, como uma nova tabela, visão, índice ou outro elemento estrutural.

Vejamos sua sintaxe em diversos SGBDs e alguns exemplos.

1. Para criar um banco de dados no MySQL:

CREATE DATABASE [IF NOT EXISTS] nome_banco;

O uso dos colchetes na sintaxe indica que a cláusula é opcional.

Por exemplo, para criar um banco de dados de nome db_MeusLivros:

CREATE DATABASE IF NOT EXISTS db_MeusLivros;

A sintaxe para outros sistemas de bancos de dados é a seguinte:

Criar banco de dados no SQL Server:

CREATE DATABASE nome_banco;

Criar banco de dados no PostgreSQL:

createdb nome_banco;

2. Para criar uma tabela no MySQL:

CREATE TABLE [IF NOT EXISTS] nome_tabela (
    coluna1 tipo_dado restrições,
    coluna2 tipo_dado restrições,
    colunaN tipo_dado restrições,
    [restrições extras]
);

Por exemplo, para criar uma tabela de autores em um banco, contendo as colunas id de autor, nome e sobrenome:

CREATE TABLE tbl_autores (
    IdAutor SMALLINT AUTO_INCREMENT,
    NomeAutor VARCHAR(30) NOT NULL,
    SobrenomeAutor VARCHAR(60) NOT NULL,
    CONSTRAINT pk_id_autor PRIMARY KEY (IdAutor)
);

A sintaxe para outros sistemas de bancos de dados é a seguinte:

Criar tabela no SQL Server:

CREATE TABLE [nome_banco].[nome_esquema].nome_tabela (
    coluna1 tipo_dado restrições,
    coluna2 tipo_dado restrições,
    colunaN tipo_dado restrições,
    [restrições extras]
) ON [Filegroup];

Criar tabela no PostgreSQL:

CREATE TABLE [IF NOT EXISTS] nome_tabela (
    coluna1 tipo_dado restrições,
    coluna2 tipo_dado restrições,
    colunaN tipo_dado restrições,
    [restrições extras]
);

Criar tabela no Oracle Database:

CREATE TABLE nome_esquema.nome_tabela (
    coluna1 tipo_dado restrições,
    coluna2 tipo_dado restrições,
   colunaN tipo_dado restrições,
    restrições_da_tabela
);

3. Para criar um índice em uma tabela:

CREATE INDEX nome_índice ON tabela(colunas);

Exemplo – criar um índice na tabela de editoras, na coluna NomeEditora:

CREATE INDEX idx_editora ON tbl_Editoras(NomeEditora);

 

Declaração ALTER

Com a declaração ALTER podemos adicionar, modificar ou excluir colunas em uma tabela. Também é possível alterar outros objetos do banco de dados, como procedimentos armazenados.

Sintaxe e exemplos a seguir.

1. Adicionar uma coluna a uma tabela existente:

ALTER TABLE tabela
ADD coluna tipo_dados constraints;

Exemplo – adicionar a coluna ISBN10 a uma tabela de livros, de nome tbl_livro:

ALTER TABLE tbl_livro
ADD isbn10 VARCHAR(10) NOT NULL;

2. Excluir uma coluna de uma tabela:

ALTER TABLE nome_tabela
DROP COLUMN nome_coluna;

Exemplo – excluir a coluna SobrenomeAutor da tabela de autores:

ALTER TABLE tbl_autores
DROP COLUMN SobrenomeAutor;

Neste caso combinamos o uso da declaração ALTER com a declaração DROP, que exclui objetos do banco de dados.

3. Alterar o tipo de dados de uma coluna

Podemos alterar colunas, por exemplo mudando o tipo de dados, com a seguinte sintaxe:

ALTER TABLE nome_tabela
MODIFY COLUMN nome_coluna tipo_dado constraints;

Exemplo: Vamos alterar o tipo de dado da coluna IdAutor da tabela de livros para o tipo TINYINT:

ALTER TABLE tbl_livros
MODIFY COLUMN IdAutor TINYINT NOT NULL;

 

Declaração DROP

O comando DROP permite excluir objetos do banco de dados (lida com a estrutura ou esquema, não com os registros).

Sintaxe e exemplos a seguir.

1. Excluir um banco de dados existente:

DROP DATABASE [IF EXISTS] nome_BD;

2. Excluir tabelas:

DROP TABLE [IF EXISTS] nome(s)_tabela(s);

Exemplo: excluir a tabela de editoras:

DROP TABLE IF EXISTS tbl_editoras;

3. Excluir um índice configurado em uma tabela:

DROP INDEX nome_índice ON tabela;

Por exemplo, para excluir o índice idx_editora executamos o comando:

DROP INDEX idx_editora ON tbl_Editoras;

 

Declaração TRUNCATE

Permite excluir todas as linhas de uma tabela (todos os registros), sem no entanto excluir a tabela em si.

Sintaxe e exemplos a seguir.

TRUNCATE TABLE nome_tabela;

Exemplo: Vamos limpar a tabela de editoras:

TRUNCATE TABLE tbl_editoras;

A sintaxe para outros sistemas de bancos de dados é a seguinte:

Limpar tabela no SQL Server:

TRUNCATE TABLE [nome_banco].[esquema].nome_tabela;

 

É isso aí! No próximo artigo vamos explorar os comandos DML (Data Manipulation Language) em SQL.

 

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*