Você está na página 1de 3

:: Artigos - SQL Magazine :: Página 1 de 3

Principais comandos SQL

Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG A diferença entre SET e


SELECT
Backups no SQL Server
Principais Comandos SQL
z Criando uma tabela:
Copiar tabela sem os registros
Selecionar grupo de registros
CREATE TABLE CLIENTES
(ID VARCHAR(4) NOT NULL, Executar rotina na inicialização

NOME VARCHAR(30) NOT NULL, Introdução ao SQL Server


PAGAMENTO DECIMAL(4,2) NOT NULL);

z Deletando uma tabela:

DROP TABLE CLIENTES;

z Alterando uma tabela, adicionando uma nova coluna:

ALTER TABLE CLIENTES ADD COLUMN (TELEFONE VARCHAR(10) NOT NULL);

z Alterando uma tabela, modificando uma coluna:

ALTER TABLE CLIENTES MODIFY COLUMN (TELEFONE VARCHAR(12));

z Apagando os dados de uma tabela, retornando-a ao estado de origem:

TRUNCATE TABLE CLIENTES;

Manipulando Dados: DML - DATA MANIPULATION LANGUAGE

z Inserindo dados:

INSERT INTO EMPREGADOS VALUES ('1111', 'João da Silva', 100.50);

z Alterando dados:

UPDATE EMPREGADOS SET PAGAMENTO = 120 WHERE ID = '1111';

z Deletando dados:

DELETE FROM EMPREGADOS WHERE ID = '1111';

COMMIT;
ROLLBACK;
SAVEPOINT S1;
ROLLBACK TO S1;

Selecionando Dados: DQL - DATA QUERY LANGUAGE

SELECT column1, column2, ...


FROM table1, table2, ...
[ WHERE column1 = 'value1'
AND column2 = 'value2'
OR (column1 = 'value3'
AND column2 = 'value4')]
[GROUP BY column1, column2, ...]
[HAVING function = 'value']
[ORDER BY column1, column2, ...];

SELECT COUNT(*) FROM EMPREGADOS;

SELECT CIDADE, AVG(PAGAMENTO) FROM EMPREGADOS


GROUP BY CIDADE
HAVING AVG(PAGAMENTO) > 100;

http://www.sqlmagazine.com.br/Artigos/sqlserver/02_Comandos_SQL.asp 01/06/2011
:: Artigos - SQL Magazine :: Página 2 de 3

SELECT E.NOME, PE.PAGAMENTO


FROM EMPREGADOS E, PAGAMENTO_EMPREGADOS PE
WHERE E.EID = PE.EID;

SELECT ID, NOME FROM EMPREGADOS


WHERE PAGAMENTO > (SELECT AVG(PAGAMENTO) FROM EMPREGADOS);

Controlando o Acesso aosDados: DCL - DATA CONTROL LANGUAGE

GRANT SELECT, INSERT, UPDATE, DELETE ON EMPREGADOS TD USER12;


REVOKE DELETE ON EMPREGADOS FROM USER12;

Gerenciando Índices: DDL - DATA DEFINITION LANGUAGE

CREATE INDEX EMPREGADOS_IDX ON EMPREGADOS(NOME);

CREATE UNIQUE INDEX EMPREGADOS_IDX ON EMPREGADOS(NOME);

CREATE INDEX EMPREGADOS_IDX ON EMPREGADOS(NOME, PAGAMENTO);

DROP INDEX EMPREGADOS IDX;

Gerenciando Visões (views): DDL - DATA DEFINITION LANGUAGE

CREATE VIEW MAIOR_PAGAMENTO_EMPREGADOS AS


SELECT FROM EMPREGADOS
WHERE PAGAMENTO > 150;

CREATE VIEW NOMES AS


SELECT NOME FROM EMPREGADOS;

DROP VIEW NOMES;

Funções de Agregação:

COUNT - Retorna o número de linhas


SUM - Retorna a soma de uma coluna específica
AVG - Retorna o valor médio de uma coluna específica
MAX - Retorna o valor máximo de uma coluna específica
MIN - Retorna o valor mínimo de uma coluna específica

Exemplos:
SELECT AVG(PAGAMENTO) FROM EMPREGADOS;

SELECT COUNT(*) FROM EMPREGADOS;

Operadores Lógicos:

IS NULL
BETWEEN
IN
LIKE
EXISTS
UNIQUE
ALL and ANY

Exemplos:
SELECT * FROM EMPREGADOS
WHERE PAGAMENTO BETWEEN 100 AND 150;

SELECT NOME, PAGAMENTO


FROM EMPREGADOS
WHERE EID IN ('1111', '2222', '3333');

Negando Condições com o Operador NOT:

NOT EQUAL
NOT BETWEEN
NOT IN
NOT LIKE
NOT EXISTS
NOT UNIQUE

http://www.sqlmagazine.com.br/Artigos/sqlserver/02_Comandos_SQL.asp 01/06/2011
:: Artigos - SQL Magazine :: Página 3 de 3

Exemplos:
SELECT * FROM EMPREGADOS
WHERE PAGAMENTO NOT BETWEEN 100 AND 150;

SELECT NOME, PAGAMENTO


FROM EMPREGADOS
WHERE EID NOT IN ('1111', '2222', '3333');

SELECT NOME FROM EMPREGADOS


WHERE NOME NOT LIKE 'S%';

Por Adriana Ferreira


adriana@sqlmagazine.com.br

Todos os direitos reservados: DevMedia Group


SQL Magazine - 2004

http://www.sqlmagazine.com.br/Artigos/sqlserver/02_Comandos_SQL.asp 01/06/2011