Você está na página 1de 15

A Linguagem SQL

Base de Dados MSc. Eugénio. Macumbe


A Linguagem SQL

As raízes da linguagem SQL remontam a 1974, altura em que na


IBM corp. se desenvolvia o protótipo de um sistema relacional
designado System R. Em paralelo com o desenvolvimento do
System R., a IBM corp. concebeu uma linguagem, designada
SEQUEL, destinada a ser utilizada nesse sistema, que mais tarde
veio dar origem à linguagem SQL.
Comandos SQL
Comando SELECT

O comando select é usado para interrogar a base de dados e


recuperar os dados seleccionados e que verifiquem certas
condições.

Sintaxe:
SELECT <coluna(s)>
FROM <tabela(s)>
<WHERE <condição>>;

A clausula WHERE especifica valores ou linhas que devem ser


apresentados, baseando-se na condição descrita após a palavra
WHERE.
Operadores que podem ser usados numa clausula WHERE

• = Igual
• > Maior que
• < Menor que
• >= Maior ou igual
• <= Menor ou igual
• < > Diferente
• LIKE

LIKE – permite seleccionar todas as linhas que são


parecidas com uma dada sequencia. Usa-se o simbolo %.
Comando CREATE

O comando CREATE é usado para criar objectos da base de dados,


inclusive a própria base de dados.

Comando CREATE database: Usado para criar bases de dados.

Sintaxe:
CREATE database “Nome da Base de dados”;

Comando CREATE table: Usado para criar tabelas.

Sintaxe:
CREATE TABLE <nome da tabela> ( <definição de colunas e
restrições de integridade>);
Comando INSERT

Comando INSERT: Usado para inserir ou adiccionar dados numa tabela.

Sintaxe:
INSERT INTO “Nome da tabela”
[(“coluna 1” ,“coluna 2”)]
VALUES (coluna1_valor, coluna2_valor);
Comando UPDATE
Comando UPDATE: Usado para actualizar registos.

Sintaxe:
UPDATE “Nome da tabela”
SET (“coluna 1= Novo valor”)
WHERE (“nome da coluna” OPERADOR “valor”);

Comando DELETE
Comando DELETE: Usado para eliminar registos.

Sintaxe:
DELETE FROM “Nome da tabela”
WHERE “nome da coluna” OPERADOR “valor” and/or [“nome da
coluna” OPERADOR “valor” ]
Comando ALTER
Da mesma forma que se criam tabelas, também se alteram as tabelas
existentes através da adição de novas colunas ou restrições de integridade,
da modificação das características de uma coluna, ou da eliminação de
colunas ou restrições de integridades existentes. O comando utilizado é
ALTER TABLE.

Para adicionar uma coluna usa-se a sintaxe:


ALTER TABLE <nome da tabela> ADD COLUMN <nome da coluna>
<tipo de dados>;

Para eliminar uma coluna usa-se a sintaxe:


ALTER TABLE <nome da tabela> DROP COLUMN <nome da coluna>;
Comando DROP
A eliminação de uma tabela do esquema de uma base de dados faz-se
através do comando DROP TABLE.

Sintaxe:
DROP TABLE <nome da tabela>;
TIPO DE DADOS
Inteiros Ponto Decimal String Binário Data/ Boolean
Flutuante Hora o
Microso TINYINT, FLOAT, NUMERIC CHAR, BINARY, DATE, BIT
ft SMALLINT, REAL , VARCHAR, VARBINARY, DATETIMEOFFSET,
SQL INT, DECIMAL TEXT, IMAGE, DATETIME2,
Server BIGINT , NCHAR, FILESTREAM SMALLDATETIME,
SMALLM NVARCHA DATETIME, TIME
ONEY, R, NTEXT
MONEY
MySQL TINYINT FLOAT (32- DECIMAL CHAR, TINYBLOB, DATETIME, DATE, BOOLEA
(8-bit), bit), BINARY, BLOB, TIMESTAMP, YEAR N
SMALLINT DOUBLE VARCHAR, MEDIUMBLO
(16-bit), (aka REAL) VARBINAR B,
MEDIUMIN (64-bit) Y, TEXT, LONGBLOB
T (24-bit), TINYTEXT,
INT (32- MEDIUMT
bit), EXT,
BIGINT LONGTEX
(64-bit) T

Oracle NUMBER BINARY_FLO NUMBER CHAR, BLOB, RAW, DATE, TIMESTAMP N/A
AT, VARCHAR LONGRAW, (with/without
BINARY_DO 2, CLOB, BFILE TIMEZONE),
UBLE NCLOB, INTERVAL
NVARCHA
R2,
NCHAR
Postgre SMALLINT REAL (32- DECIMAL CHAR, BYTEA DATE, TIME BOOLEA
SQL (16-bit), bit), , VARCHAR, (with/without N
INTEGER DOUBLE NUMERIC TEXT TIMEZONE),
(32-bit), PRECISION TIMESTAMP
BIGINT (64-bit) (with/without
(64-bit) TIMEZONE),
INTERVAL
Cliente(cod_cliente, cliente, profssao, localidade)
Agencia(cod_agencia, agencia, localidade)
Conta(num_conta, tipo_conta, cod_cliente, cod_agencia, saldo)

Create table Cliente(cod_cliente char(5), cliente Varchar(30) NOT NULL,


profssao Varchar(10), localidade Varchar(50) NOT NULL,
CONSTRAINT pk_clientes PRIMARY KEY(cod_cliente));

Create table Agencia(cod_agencia char(4), agencia Varchar(30) NOT NULL,


localidade Varchar(50) NOT NULL,
CONSTRAINT CandidateKey_agencia UNIQUE (agencia),
CONSTRAINT pk_agencia PRIMARY KEY(cod_agencia));

Create table Conta(num_conta INTENGER(10), tipo_conta Varchar(30) NOT


NULL, cod_cliente char(5) NOT NULL, cod_agencia char(4),
saldo decimal(10,2) NOT NULL,
CONSTRAINT pk_Conta PRIMARY KEY(num_conta)),
CONSTRAINT FK_Conta_Cliente
FOREIGN KEY (cod_cliente) REFERENCES Cliente(cod_cliente),
ON UPDATE CASCADE
ON DELETE SET NULL,
CONSTRAINT FK_Conta_Agencia
FOREIGN KEY (cod_agencia) REFERENCES Agencia(cod_agencia),
ON UPDATE CASCADE
ON DELETE SET NULL);
Create table Cliente(cod_cliente char(5), cliente
Varchar(30) NOT NULL, profssao Varchar(10),
localidade Varchar(50) NOT NULL, CONSTRAINT
pk_clientes PRIMARY KEY(cod_cliente));

Create table Cliente(cod_cliente char(5) PRIMARY KEY,


cliente Varchar(30) NOT NULL, profssao Varchar(10),
localidade Varchar(50) NOT NULL);

Create table Cliente(cod_cliente char(5), cliente


Varchar(30) NOT NULL, profssao Varchar(10),
localidade Varchar(50) NOT NULL, PRIMARY
KEY(cod_cliente));
Exercicio 1
1. Crie uma base de dados com o nome Gestao.
2. A base de dados deverá ser constituida pelas seguintes tabelas:
a) curso(cod_curso, designacao_curso, dur_curso);
b) cadeira (cod_cadeira, designacao_cadeira, regime);
c) curso_cadeira(cod_curso,cod_cadeira);
d) estudante (cod_estudante, nome, data_nasc, cod_curso);
e) docente (cod_docente, nome_docente);
f) docente_cadeira(cod_docente,cod_cadeira).
Exercicio 1
I. Crie as tabelas acima.
II. Escreva um comando que permita visualizar todos os
estudantes cadastrados.
III. Escreva um comando que faça a listagem de todos os
estudantes a frequentarem o curso ELECT01.
IV. O estudante X mudou-se do curso ELECT01 para o curso
INF_01.
Escreva um comando que permita efectuar a alteração acima
referida.
Cont.
V. Escreva um comando que elimine todos os estudantes que
não sejam do curso INF_01.
VI. Escreva um comando que elimine a tabela estudante.

create table avaliacao(cod_estudante Text(10), cod_cadeira Text(10),


nota Number, Primary Key (cod_estudante,cod_cadeira),
CONSTRAINT av_est Foreign Key(cod_estudante) references
estudante(cod_estudante),CONSTRAINT av_cad Foreign
Key(cod_cadeira)references cadeira(cod_cadeira) );

Você também pode gostar