You are on page 1of 43

Bases de Dados SQL Conceitos e Comandos Bsicos a

Caetano Traina Jr.

Grupo de Bases de Dados e Imagens Instituto de Cincias Matemticas e de Computao e a ca Universidade de So Paulo - So Carlos a a caetano@icmc.usp.br
28 de setembro de 2009 So Carlos, SP - Brasil a

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

1 / 47

Outline

Introduo ca DDL DML DCL

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

2 / 47

Introduo ca

Introduo a SQL ca

Desenvolvida e implementada pelo Laboratrio de Pesquisa da IBM o em San Jose entre os anos de 1964 e 1969, a Linguagem SQL Structured Query Language, inicialmente chamada SEQUEL foi , criada como uma interface entre os usurios e o Sistema de a Gerenciamento de Bancos de Dados Relacional, o System R que , estava sendo desenvolvido no Laboratrio. o Por apresentar-se promissora devido ` sua simplicidade e o grande a poder de consulta em SGBDR, a linguagem SQL atualmente o e padro industrial em linguagemde consultas a banco de dados, e a atinge mais de 95% do mercado de sistemas de gerenciamento de bases de dados.

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

4 / 47

Introduo ca

Introduo ca

SQL uma linguagem de consulta sosticada, que vem evoluindo e continuamente, embora mantendo um n de padronizao muito vel ca alto. Entre seus principais atrativos est a pequena quantidade de a comandos extremamente poderosos, atendendo ao paradigma Relacional, ou seja, o programador expressa em SQL o que ele quer recuperar, no como deve ser recuperado. a SQL padronizado pelo American National Standart Institute e (ANSI) e pela International Standard Organization (ISO). A ultima verso foi aprovada pela ISO em 2001, tendo sido designada a SQL:2001.

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

5 / 47

Introduo ca

Introduo ca

SQL composta por 3 sub-linguagens: e


1 2 3

Linguagem de Denio de Dados - DDL ca Linguagem de Manipulao de Dados - DML ca Linguagem de Controle de Dados - DCL

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

6 / 47

DDL

Linguagem de Denio de Dados - DDL ca


Elementos fundamentais da linguagem:
DATABASE USER ROLE SCHEMA TABLESPACE TABLE INDEX DOMAIN FUNCTION SEQUENCE TRIGGER VIEW

Todos os elementos podem ser criados (CREATE), corrigidos (ALTER) e removidos (DROP), totalizando 36 comandos (cada um com sintaxe prpria). o
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 8 / 47

DDL

DDL Comando CREATE TABLE


Criar uma Tabela no Esquema da Aplicao ca

Sintaxe: CREATE TABLE <nome da tabela> ( <defini~o de Coluna>,... ca <Restri~es de Integridade>,... co ); <defini~o de Coluna> pode ser: ca <nome atr> <tipo de dado> [ NULL | NOT NULL | USER | DEFAULT <default- value> | COMPUTED BY <expresion> ]

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

9 / 47

DDL

DDL Comando CREATE TABLE


Tipos de Dados

<tipo de dado> pode ser: {SMALLINT | INTEGER | FLOAT | DOUBLE PRECISION} | {DECIMAL | NUMERIC} [( precision [, scale])] | DATE | {CHAR | CHARACTER | CHARACTER VARYING | VARCHAR} [(int)] | BLOB }

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

10 / 47

DDL

DDL Comando CREATE TABLE


Restrioes de Integridade c

<Restri~es de Integridade> podem ser: co PRIMARY KEY [<nome da chave>] (<Atributo>,...) | UNIQUE [<nome da chave>] (<Atributo>,...) | FOREIGN KEY [<nome da chave>] (<Atributo>,...>) REFERENCES <tabela> (<Atributos chaves>, ...)[<a~es>] co | CHECK [<nome da condi~o>] ( <condi~o> ) ca ca

<a~es> podem ser: co ON {UPDATE|DELETE} {CASCADE|RESTRICT|SET NULL|SET DEFAULT|NO A

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

11 / 47

DDL

DDL Comando CREATE TABLE


Restrioes de Integridade como Declarao de Restrioes c ca c

Restries de Integridade so tratadas em SQL como Restries co a co (CONSTRAINT). Elas podem ser restries de Atributo ou de Tabela. co Restries de atributos (ou de colunas) so declaradas para cada co a atributo: <nome atr> <tipo de dado> CONSTRAINT <nome Constraint> {PRIMARY KEY | UNIQUE | FOREIGN KEY ... | CHECK ...} Restries de tabela so declaradas separadamente, depois que todos co a os atributos necessrios tenham sido declarados: a <nome atr> <tipo de dado> CONSTRAINT <nome Constraint> {PRIMARY KEY (ATR,...)| UNIQUE (ATR,...)| FOREIGN KEY .. CHECK ...} Ambas podem ser avaliadas de imediato, ou postergadas: [DEFERRABLE | NOT DEFERRABLE] [INITIALLY DEFERRED | INITIALLY IMMEDIATE]
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 12 / 47

DDL

DDL Comando CREATE TABLE


Criar uma Tabela no Esquema da Aplicao Exemplo ca

Exemplo: CREATE TABLE Turma ( sigla char(7) NOT NULL, numero decimal(2) NOT NULL, codigo decimal(4) PRIMARY KEY, NNalunos decimal(3), FOREIGN KEY SiglaDaTurma (Sigla) REFERENCES Discip (Sigla) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE SiglaNumero (Sigla, Numero), CHECK LimiteDeVagas (NNalunos<50) );
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 13 / 47

DDL

DDL Comando ALTER TABLE


Modica tabelas j denidas a

Sintaxe: ALTER TABLE <nome da tabela> ADD <defini~o de Coluna> ca ADD <Restri~o de integridade> -- Chaves primria, ca a -- Secund., Estrang.
MODIFY <defini~o de Coluna> ca MODIFY <defini~o de Coluna> {SET|DROP} DEFAULT <default-value> ca MODIFY <defini~o de Coluna> {SET|DROP} NOT NULL ca

DROP DROP DROP DROP

<defini~o de Coluna> ca CHECK | DROP <nome da chave> UNIQUE (<defini~o de Coluna>, ...) ca PRIMARY KEY | DROP FOREIGN KEY

RENAME <novo nome> -- Renomeia a tabela RENAME <Atributo> TO <novo atributo>


Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 14 / 47

DDL

DDL Comando ALTER TABLE


Modica tabelas j denidas a

<defini~o de coluna> pode ser: ca <Nome Atributo> <Tipo de Dado> {SET|DROP} [NULL] | [DEFAULT default-value ]

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

15 / 47

DDL

DDL Comando ALTER TABLE


Modicar tabelas j denidas Exemplos a

ALTER TABLE Professor ADD CorCabelos CHAR(25) DEFAULT Branco; ALTER TABLE Aluno ADD Altura INT DEFAULT NULL; ALTER TABLE Aluno DROP Altura; ALTER TABLE Professor MODIFY CorCabelos CHAR(30) ; ALTER TABLE Aluno ADD MonitoraDiscip CHAR(7) REFERENCES Disciplina (Sigla) ON UPDATE CASCADE ON DELETE SET NULL; ALTER TABLE Aluno DROP MonitoraDiscip;
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 16 / 47

DDL

DDL Comando DROP TABLE


Remove completamente uma tabela e sua denio ca

Sintaxe: DROP TABLE [IF EXISTS] <nome da tabela> [, ...] [CASCADE | RESTRICT]; Exemplo: DROP TABLE Aluno;

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

17 / 47

DDL

DDL Comando CREATE DOMAIN


Cria um tipo de dado denido pelo usurio a

Sintaxe: CREATE DOMAIN <Nome do Domnio> [AS] <Tipo de Dado> | [[NOT] NULL] | [DEFAULT valor-default] | [CHECK ( Condi~o)] ca

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

18 / 47

DDL

DDL Comando CREATE DOMAIN


Cria um tipo de dado denido pelo usurio a

<condi~o> = { ca VALUE <operador> <val> | VALUE [NOT] BETWEEN <val> AND <val> | VALUE [NOT] LIKE <val> [ESCAPE <val>] | VALUE [NOT] IN ( <val> [, <val> ...]) | VALUE IS [NOT] NULL | VALUE [NOT] CONTAINING <val> | VALUE [NOT] STARTING [WITH] <val> | (<Condi~o>) ca | NOT <Condi~o> ca | <Condi~o> OR <Condi~o> ca ca | <Condi~o> AND <Condi~o> ca ca } <operador> = {= | < | > | <= | >= | !< | !> | <> | !=}
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 19 / 47

DDL

DDL Comando CREATE DOMAIN


Criar tipos de dado denidos pelo usurio Exemplos a

Exemplos: CREATE DOMAIN DNome_Pessoa CHAR (40) NULL; CREATE DOMAIN DCodigo INT NOT NULL;

CREATE DOMAIN DIdade INT CHECK (VALUE BETWEEN 1 AND 120);

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

20 / 47

DDL

DDL Comando DROP DOMAIN


Elimina um tipo de dado j denido pelo usurio a a

Sintaxe: DROP DOMAIN <Nome do Domnio> Exemplo: DROP DOMAIN Nome_Pessoa;

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

21 / 47

DML

Linguagem de Manipulao de Dados - DML ca

A sub-liguagem de Manipulao de Dados tem quatro comandos: ca


1 2 3 4

SELECT INSERT INTO UPDATE DELETE

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

23 / 47

DML

DML Comando SELECT


Realiza as consultas em uma base de dados

Sintaxe: <Consulta>={ SELECT [ ALL | DISTINCT ] <lista de atributos> FROM <lista de Tabelas> [WHERE <condi~o>] ca [GROUP BY <lista de atributos> [HAVING <condi~o>]] ca [ORDER BY <Lista de atributos> [ASC|DESC], ...] }; <Consulta1> UNION [ALL] <Consulta2>; | <Consulta1> INTERSECT [ALL] <Consulta2>; | <Consulta1> EXCEPT [ALL] <Consulta2>;
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 24 / 47

DML

DML Comando SELECT


Realiza as consultas em uma base de dados

SELECT A1 FROM R WHERE C1 ;

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

25 / 47

DML

DML Comando SELECT


Realiza as consultas em uma base de dados

SELECT A1 FROM R WHERE C1 ; GROUP BY A2 HAVING C2 ;

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

26 / 47

DML

DML Comando SELECT


Exemplo 1

Exemplo: Listar os alunos, disciplinas e notas tiradas em turmas com mais de 10 alunos SELECT A.Nome, T.Sigla Disciplinas, M.Nota FROM Alunos A, Turma T, Matricula M WHERE A.NUSP=M.NUSP AND M.CodigoTurma=T.Codigo AND T.NNAlunos>10 ORDER BY A.Nome, T.Sigla;

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

27 / 47

DML

DML Comando SELECT


Exemplo 2

Exemplo: Listar A mdia das notas das disciplinas em turmas com mais de e 10 alunos SELECT T.Sigla, AVG(M.Nota) FROM Turma T, Matricula M WHERE M.CodigoTurma=T.Codigo GROUP BY T.sigla HAVING Count(*)>10;

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

28 / 47

DML

DML Comando SELECT


Meta-modelo Relacional

O Modelo Relacional um Meta Modelo: capaz de modelar a si mesmo. e e Assim existem: Tabelas de Tabelas, Tabelas de Atributos, etc. No gerenciador Interbase (e vrios outros), as tabelas do sistemas so a a ltradas para no serem mostradas no ISQL, mas podem ser acessadas a normalmente. Seus nomes comeam com RDB$. c Exemplo: SELECT RDB$Field_Name, RDB$Relation_Name, RDB$Field_Position FROM RDB$Relation_Fields WHERE RDB$Relation_Name NOT LIKE RDB$% ORDER BY RDB$Relation_Name, RDB$Field_Position

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

29 / 47

DML

DML Comando SELECT


Juno na Clusula FROM ca a

Junes so especicadas na clusula WHERE ou na clusula FROM, mas a forma completa co a a a somente pode ser especicada na clusula FROM. a <Lista de Tabelas> = <joined_table> | <Tabela> <joined_table> = <Tabela> <join-type> <Tabela> {ON <Condi~oJun~o> | ( <joined_table>) | ca ca USING (<atrib1> [, ...] | NATURAL} <join-type> = {[INNER] | [CROSS] | {LEFT | RIGHT | FULL}[OUTER] } JOIN A <Condi~oJun~o> pode ser indicada como: ca ca

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

30 / 47

DML

DML Comando SELECT


Juno na Clusula FROM ca a

<Condi~oJun~o> = { ca ca <val> <operator> <val> | <val> [NOT] BETWEEN <val> AND <val> | <val> [NOT] LIKE <val> [ESCAPE <val>] | <val> [NOT] IN ( <val> [, <val> ] | <select_list>) | <val> IS [NOT] NULL | <val> {[NOT] {=<|>}|>=|<=} {ALL|SOME|ANY} (<select_list>) | EXISTS ( <select_expr>) | SINGULAR ( <select_expr>) | <val> [NOT] CONTAINING <val> | <val> [NOT] STARTING [WITH] <val> | (<Condi~oJun~o>) ca ca | NOT <Condi~oJun~o> ca ca | <Condi~oJun~o> OR <Condi~oJun~o> ca ca ca ca | <Condi~oJun~o> AND <Condi~oJun~o> ca ca ca ca }
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 31 / 47

DML

DML Comando SELECT


Exemplo 3

Exemplo: Listar todas as disciplinas, com seus respectivos pr-requisitos. e SELECT D.Sigla, D.Nome, Pre.Sigla FROM Discip D LEFT OUTER JOIN Discip Pre ON D.SiglaPreReq=Pre.Sigla;

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

32 / 47

DML

DML Comando INSERT INTO - DML


Insere tuplas em uma Relao ca

Sintaxe: Formato 1: Insere uma tupla de cada vz. e INSERT INTO <Tabela> [( <Atributo>, ... )] VALUES ( expression | DEFAULT, ... ); Formato 2: Insere mltiplas tuplas a partir de uma tabela.z u INSERT INTO <Tabela> [( <Atributo>, ... )] <Comando SELECT>;

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

33 / 47

DML

DML Comando INSERT INTO - DML


Exemplos

Formato 1: Insere uma tupla de cada vz. e insert into Professor values (Antonio,5656,MS-3,33); insert into Professor ( Nome, Grau, NNfuncional) values (Antoninho, MS-3, 5757); Formato 2: Insere mltiplas tuplas a partir de uma tabela. u INSERT INTO pessoa ( Nome, Idade ) SELECT nome, idade from Aluno; INSERT INTO pessoa ( Nome, Idade ) SELECT nome, idade from Professor; INSERT INTO Saocarlenses SELECT * FROM aluno WHERE cidade like S%Carlos;
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 34 / 47

DML

DML Comando UPDATE- DML


Altera o valor de atributos de tuplas de uma relao ca

Sintaxe: UPDATE <tabela> SET <Atributo> = <express~o>, ... a [ WHERE <Condi~o> ] ca <express~o> = {<Atributo>|<constante>|<expr>|NULL|USER} a Onde <expr> qualquer comando SELECT que resulte em apenas uma e tupla e uma coluna.

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

35 / 47

DML

DML Comando UPDATE- DML


Exemplos

Aumentar em um a idade de todos os alunos. UPDATE Alunos SET Idade=Idade+1 UPDATE Turma SET NNAlunos= ( SELECT count (*) FROM matricula WHERE codigoTurma=101) WHERE Codigo=101; Note-se que a clusula WHERE deve selecionar apenas as tuplas de Turma a com cdigo=101. o
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 36 / 47

DML

DML Comando DELETE FROM


Remove tuplas de uma relao ca

Sintaxe: DELETE [FROM] <tabela> [WHERE <Condi~o>] ca Exemplos: Apaga todas as tuplas do aluno cujo NUSP vale 1234: DELETE FROM Aluno WHERE NUSP=1234; Remove todos os Alunos em que o atributo Cidade tem o valor indicado: DELETE FROM Aluno WHERE Cidade = Mirim-Guau; c Apaga Todas as tuplas da relao; ca DELETE FROM Aluno;
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 37 / 47

DML

Uso de Funoes c
Funoes usadas em comandos da DML c

Funes podem ser utilizadas em geral, em qualquer lugar onde um co <atributo> pode ser utilizado. Por exemplo, nas clusulas SELECT e a WHERE do comando SELECT. Existem funes para todos os tipos de dados da linguagem co
1 2 3 4

Nmeros u Cadeias de caracteres Datas e funes especiais para Agregados. co

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

38 / 47

DML

Uso de Funoes c
Funoes para Agregados c

Funes para Agregados podem ser utilizadas apenas em comandos co SELECT que tenham as clausulas HAVING e ORDER BY. AVG(<Param_agreg>) Retorna a mdia e COUNT(*) Retorna o nmero de tuplas no grupo. u COUNT(<Param_agreg>) Retorna o nmero de tuplas distintas ou u onde os atributos no so nulos. a a MAX(<Param_agreg>) Retorna o maior valor encontrado MIN(<Param_agreg>) Retorna o menor valor encontrado SUM(<Param_agreg>) Retorna a soma dos valores <Param_agreg> pode ser: DISTINCT <atributos> | <atributos>
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 39 / 47

DML

Uso de Funoes c
Funoes sobre tipos de dados: Tipos Numricos c e

ABS (num-expr) ACOS (num-expr) -- em radianos ASIN (num-expr) ATAN (num-expr) ATAN2 (num-expr1, num-expr2) -- Arco-tangente de num-expr1/num-expr2 em radianos. CEILING (num-expr) -- Menor inteiro nao menor que COS (num-expr) COT (num-expr) -- Cotangente DEGREES (num-expr) -- Converte de Radianos para Graus EXP (num-expr) FLOOR (num-expr) -- Maior inteiro n~o maior que a LOG (num-expr) LOG10 (num-expr) PI (*) POWER (num-expr1, num-expr2) -- num-expr1 elevado a num-expr2 RADIANS (num-expr) -- Converte de Graus para Radianos RAND ([integer-expr]) REMAINDER (num-expr, num-expr) ROUND (num-expr, integer-expr) --Arredonda para integer-expr casas decimais SIGN (num-expr) SIN (num-expr) SQRT (num-expr) TAN (num-expr) TRUNCATE (num-expr, integer-expr) --Trunca para integer-expr casas decimais

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

40 / 47

DML

Uso de Funoes c
Funoes sobre tipos de dados: Cadeias de Caracteres c

BYTE_LENGTH (Cadeia) BYTE_SUBSTR (Cadeia, posic_inicial[, num_bytes]) CHAR (Numero-ASCII) INSERTSTR (num-posic, Cadeia1, Cadeia2) -- Insere Cadeia2 em Cadeia1 a partir de Posic. LCASE (Cadeia) LEFT (Cadeia, num-expr) LENGTH (Cadeia) LOCATE (Cadeia1, Cadeia2[, num-posic]) -- Retorna a posicao onde Cadeia2 foi encontrada em Cadeia 1, procurando a partir da Posicao dada. LTRIM (Cadeia) -- Remove brancos do incio REPEAT (Cadeia, num-vezes) RIGHT (Cadeia, num-expr) RTRIM Cadeia) -- Remove brancos do final SIMILAR (Cadeia1, Cadeia2) -- Porcentagem de caracteres que comparam por =. SPACE (integer-expr) STRING (Cadeia[, ...]) -- Concatena as cadeias dadas SUBSTR (Cadeia, num_inicio[, Num_bytes]) TRIM (Cadeia) -- Remove brancos do incio e do final UCASE (Cadeia)

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

41 / 47

DML

Uso de Funoes c
Funoes sobre tipos de dados: Tempo e Data c

DATE (Cadeia) -- Data DATEFORMAT (DataHora, Cadeia-formato) -- Retorna cadeia com datahora dada, no formato dado em Cadeia_formato. DATETIME (Cadeia) -- Data e Hora DAY (Data) -- Dia da Data indicada DAYNAME(Data) -- Nome do dia da semana DAYS (Data) -- Diferena em dias de hoje at a data indicada c e DAYS (Data, Data) -- Diferena em dias das datas c DAYS (Data, Num-dias) -- Data indicada mais o numero de dias indicado DOW (Data) -- 1= domingo, 2=segunda,... HOUR (DataHora) HOURS (DataHora) HOURS (DataHora, DataHora) HOURS (DataHora, Num-Horas) MINUTE (DataHora) MINUTES (DataHora) MINUTES (DataHora, DataHora) MINUTES (DataHora, Num_minutos) MONTH (Data) MONTHNAME (Data) MONTHS (Data) MONTHS (Data, Data) MONTHS (Data, Num_Minutos) ...

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

42 / 47

DML

Uso de Funoes c
Funoes sobre tipos de dados: Tempo e Data c

... NOW (*) -- Data e Hora QUARTER(Data) -- Jan/fev/mar =1, abr/mai/jun=2... SECOND (expression) SECONDS (DataHora) SECONDS (DataHora, DataHora) SECONDS (DataHora, Num_Segundos) TODAY (*) --Data WEEKS (Data) WEEKS (Data, Data) WEEKS (Data, Num_Semanas) YEAR (Data) YEARS (Data) YEARS (Data, Data) YEARS (Data, Num_Anos) YMD (Num_anos, Num_meses, Num_dias)

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

43 / 47

DML

Uso de Funoes c
Funoes sobre tipos de dados: Miscelnea c a

CAST(expression AS datatype) Retorna o valor da expresso como a sendo do tipo Datatype. DATALENGTH (<Atributo>) Retorna o nmero de bytes gastos para u armazenar. DB_NAME( ) Retorna o nome da base de dados. NUMBER (*) Gera nmeros desde 1 at o nmero de tuplas, para cada u e u tupla de um comando SELECT. Pode ser usado para gerar chaves em comandos INSERT, mas nesse caso deve-se ddar preferenci ao uso da clausula AUTOINCREMENT.

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

44 / 47

DCL

Linguagem de Controle de Dados DCL

Os comandos da sub-liguagem de Manipulao de Dados tm estrutura ca e individual. Alguns exemplos so: a CONNECT: Permite a conexo a uma base de dados atravs de um a e gerenciador; DISCONNECT: Desconecta de uma base de dados; COMMIT: Torna permanente todas as alteraes feitas desde o in co cio da conexo; a ROLLBACK: Descarta todas as alteraes feitas desde o in da co cio conexo, ou do ultimo comando COMMIT ou ROLLBACK. a

Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a

GBdI-ICMC-USP

46 / 47

Bases de Dados SQL Conceitos e Comandos Bsicos a

Caetano Traina Jr.

Grupo de Bases de Dados e Imagens Instituto de Cincias Matemticas e de Computao e a ca Universidade de So Paulo - So Carlos a a caetano@icmc.usp.br
28 de setembro de 2009 So Carlos, SP - Brasil a

FIM
Grupo de Bases de Dados e Imagens () Linguagem SQL Conceitos e Comandos Bsicos a GBdI-ICMC-USP 47 / 47

You might also like