Bóson Treinamentos em Ciência e Tecnologia

Comandos DDL SQL e sua sintaxe

Comandos DDL em linguagem SQL de bancos de dados

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:

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.

 

Sair da versão mobile