Comandos “DDL; DML e DQL”
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 ipo 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.
Linguagem de manipulação de dados (ou DML, de Data Manipulation Language) é o grupo
de comandos dentro da linguagem SQL utilizado para a recuperação, inclusão, remoção e
modificação de informações em bancos de dados. Os principais comandos DML são Select,
Insert, Update e Delete.
SELECT[editar código-fonte]
Uma declaração SELECT permite a consulta e retorno de um conjunto de registros de uma ou
mais tabelas. O comando SELECT contém diversas cláusulas opcionais que servem para
filtrar e tratar adequadamente a informação retornada.
SELECT é normalmente a primeira palavra em uma instrução SQL. A maior parte das
instruções SQL são instruções SELECT.
A sintaxe mínima da instrução SELECT é:
SELECT campos FROM tabela
Você pode usar um asterisco (*) para selecionar todos os campos na tabela. O exemplo
abaixo seleciona todos os campos na tabela usuarios:
SELECT * FROM tabela
'Texto a negrito'===INSERT=== Uma declaração INSERT permite a inclusão de um
ou mais registros em uma tabela. Exemplo: INSERT INTO
NOME_TABELA(ATRIBUTOS) VALUES(VALORES_DOS_ATRIBUTOS); INSERT
INTO empregado (matricula, nome, cpf, dpto, salario, admissao) VALUES (‘2003509’,
‘Jose Dias’, ‘12312312312’, 1, 1789.00, ‘2011-01-09’);
UPDATE[editar código-fonte]
Uma declaração UPDATE é uma atualização dos dados de um ou mais registros de
uma tabela. O comando UPDATE contém diversas cláusulas opcionais que permitem
tratar adequadamente o tipo de atualização que deverá ser realizada.
DELETE[editar código-fonte]
Uma declaração DELETE remove um ou mais registros de uma tabela. O comando
DELETE pode conter as condições de deleção das informações.