Você está na página 1de 10

Ciência da Computação

Banco de Dados
Prof. Me. Nelson Batista Leitão Neto

Principais comandos SQL


A linguagem SQL dividida em tipos de acordo com a funcionalidade dos comandos:

DDL - Data Definition Language - Linguagem de Definição de Dados.

São os comandos que interagem com os objetos do banco. Os objetos são as tabelas,
ligações, etc.

Exemplo: CREATE, ALTER e DROP

DML - Data Manipulation Language - Linguagem de Manipulação de Dados.

São os comandos que interagem com os dados dentro das tabelas. Deletar dados,
inserções, etc.

Exemplo: INSERT, DELETE e UPDATE

DQL - Data Query Language - Linguagem de Consulta de dados.

Exemplo: SELECT (é o comando de consulta)

Em alguns livros o SELECT fica na DML em outros tem esse grupo próprio.

DTL - Data Transaction Language - Linguagem de Transação de Dados.

São os comandos para controle de transação.

Exemplo: BEGIN TRANSACTION, COMMIT E ROLLBACK

DCL - Data Control Language - Linguagem de Controle de Dados.

São os comandos para controlar a parte de segurança do banco de dados.

Exemplo: GRANT, REVOKE E DENY.

1
Criando um Banco de Dados UNIP no MySQL:

Clicar em SQL para executar os comandos a seguir:

/* CRIANDO UMA TABELA*/

CREATE TABLE ESTADO (EST_CODIGO CHAR(2) NOT NULL, EST_DESCRICAO


VARCHAR(25))

/*INSERINDO DADOS NA TABELA*/

INSERT INTO ESTADO (EST_CODIGO, EST_DESCRICAO) VALUES ('GO','Goiás')

INSERT INTO ESTADO (EST_CODIGO, EST_DESCRICAO) VALUES ('TO', 'Tocantins')

2
INSERT INTO ESTADO (EST_CODIGO, EST_DESCRICAO) VALUES ( 'MG' , 'Minas Gerais' )

INSERT INTO ESTADO (EST_CODIGO, EST_DESCRICAO) VALUES ( 'SP' , 'São Paulo' )

INSERT INTO ESTADO (EST_CODIGO, EST_DESCRICAO) VALUES ( 'RJ' , 'Rio de Janeiro' )

INSERT INTO ESTADO (EST_CODIGO, EST_DESCRICAO) VALUES ( 'ES' , 'Espirito Santo' )

INSERT INTO ESTADO (EST_CODIGO, EST_DESCRICAO) VALUES ( 'RS' , 'Rio Grande do


Sul' )

Agora você irá inserir, na tabela ESTADO, os estados que ainda não foram
cadastrados.

/*COMANDOS DE SELEÇÃO*/

SELECT * FROM ESTADO WHERE EST_DESCRICAO='TOCANTINS'

SELECT * FROM ESTADO WHERE EST_CODIGO='GO'

/*COMANDO DE ALTERAÇÃO*/

UPDATE ESTADO SET EST_DESCRICAO = ('GOIÁS') WHERE EST_CODIGO='GO'

/*COMANDO DE SELEÇÃO */

SELECT * FROM ESTADO WHERE EST_CODIGO='GO'

/*COMANDO DE EXCLUSÃO */

DELETE FROM ESTADO WHERE EST_CODIGO='GO'

/*VERIFICANDO QUAIS ESTADOS ESTÃO CADASTRADOS NA TABELA */

SELECT * FROM ESTADO

3
/*COMANDO DE INSERÇÃO */

INSERT INTO ESTADO (EST_CODIGO, EST_DESCRICAO) VALUES ('GO','GOIÁS')

/* CRIANDO NOVA TABELA*/

CREATE TABLE `EMPREGADOS` (`CODIGO` INT NOT NULL , `NOME` VARCHAR( 30 )


NULL , `PAGAMENTO` DECIMAL NULL , PRIMARY KEY ( `CODIGO` ))

/*CONSULTANDO A TABELA EMPREGADOS*/

SELECT * FROM EMPREGADOS

/* DELETANDO UMA TABELA*/

DROP TABLE EMPREGADOS;

/* CRIANDO NOVAMENTE A TABELA EMPREGADOS*/

CREATE TABLE `EMPREGADOS` (`CODIGO` INT NOT NULL ,`NOME` VARCHAR( 30 )


NULL ,`PAGAMENTO` DECIMAL NULL ,PRIMARY KEY ( `CODIGO` ))

/*ALTERANDO UMA TABELA*/


/* ADICIONANDO UMA NOVA COLUNA*/

ALTER TABLE EMPREGADOS ADD TELEFONE VARCHAR(10)

/*CONSULTANDO A TABELA EMPREGADOS*/

SELECT * FROM EMPREGADOS

/* MODIFICANDO UMA COLUNA*/

ALTER TABLE EMPREGADOS MODIFY COLUMN TELEFONE VARCHAR(12)

SELECT * FROM EMPREGADOS

4
ALTER TABLE EMPREGADOS MODIFY COLUMN TELEFONE VARCHAR(15)

SELECT * FROM EMPREGADOS

INSERT INTO EMPREGADOS (CODIGO, NOME, PAGAMENTO, TELEFONE) VALUES (1,


'Sampaio', 500, '62 62626262')

SELECT * FROM EMPREGADOS

/* APAGANDO OS DADOS DE UMA TABELA*/


/* TORNANDO A TABELA NO ESTADO DE ORIGEM*/

TRUNCATE TABLE EMPREGADOS;

SELECT * FROM EMPREGADOS

/*MANIPULANDO DADOS: DML - DATA MAIPULATION LANGUAGE*/

INSERT INTO EMPREGADOS (CODIGO, NOME, PAGAMENTO, TELEFONE) VALUES(1,


'Zelaide', 500, '62 62626262')

INSERT INTO EMPREGADOS (CODIGO, NOME, PAGAMENTO, TELEFONE) VALUES (2,


'Soninha', 1500, '62 63626263')

INSERT INTO EMPREGADOS (CODIGO, NOME, PAGAMENTO, TELEFONE) VALUES (3,


'Frantiny', 3500, '62 65626265')

INSERT INTO EMPREGADOS (CODIGO, NOME, PAGAMENTO, TELEFONE) VALUES (4,


'Pereira', 1200, '11 21212343')

INSERT INTO EMPREGADOS (CODIGO, NOME, PAGAMENTO, TELEFONE) VALUES (5,


'Franthseca', 230, '61 42236263')

5
INSERT INTO EMPREGADOS (CODIGO, NOME, PAGAMENTO, TELEFONE) VALUES (6,
'Marieta', 5430, '67 65456265')

INSERT INTO EMPREGADOS (CODIGO, NOME, PAGAMENTO, TELEFONE) VALUES (7,


'Adelia', 300, '61 61616161')

INSERT INTO EMPREGADOS (CODIGO, NOME, PAGAMENTO, TELEFONE) VALUES (8,


'Laura', 200, '63 63636399')

/*TENTANDO INSERIR COM CÓDIGO JÁ CADASTRADO*/

INSERT INTO EMPREGADOS (CODIGO, NOME, PAGAMENTO, TELEFONE) VALUES (7,


'Adelia', 300, '61 61616161')

SELECT * FROM EMPREGADOS

/*ORDENAÇÃO POR COLUNAS */

SELECT * FROM EMPREGADOS ORDER BY CODIGO

SELECT * FROM EMPREGADOS ORDER BY NOME

SELECT * FROM EMPREGADOS ORDER BY NOME DESC

SELECT * FROM EMPREGADOS ORDER BY NOME ASC

SELECT * FROM EMPREGADOS ORDER BY PAGAMENTO DESC

SELECT * FROM EMPREGADOS ORDER BY PAGAMENTO ASC

SELECT * FROM EMPREGADOS ORDER BY PAGAMENTO

SELECT * FROM EMPREGADOS ORDER BY TELEFONE DESC

SELECT * FROM EMPREGADOS ORDER BY TELEFONE ASC

SELECT * FROM EMPREGADOS ORDER BY TELEFONE

SELECT * FROM EMPREGADOS WHERE PAGAMENTO > 2000 order by NOME

SELECT * FROM EMPREGADOS WHERE PAGAMENTO > 200 AND PAGAMENTO < 1000
order by NOME

6
/** ALTERANDO DADOS*/
/*MUDAR VALOR DO SALÁRIO*/

UPDATE EMPREGADOS SET PAGAMENTO = 550 WHERE CODIGO = 1

SELECT * FROM EMPREGADOS

/*DELETANDO DADOS*/

DELETE FROM EMPREGADOS WHERE CODIGO =1

SELECT * FROM EMPREGADOS

INSERT INTO EMPREGADOS (CODIGO, NOME, PAGAMENTO, TELEFONE) VALUES (1,


'Geisa', 500, '62 62626262')

/*CONTANDO QUANT DE REGISTROS NA TABELA = NUMERO DE LINHAS*/

SELECT COUNT(*) FROM EMPREGADOS;

/*SUM - RETORNA A SOMA DE UMA COLUNA ESPECÍFICA*/

SELECT SUM(PAGAMENTO) FROM EMPREGADOS

/*AVG - RETORNA O VALOR MÉDIO DE UMA COLUNA ESPECÍFICA*/

SELECT AVG(PAGAMENTO) FROM EMPREGADOS

/*MAX - RETORNA O VALOR MAXIMO DA COLUNA ESPECIFICA*/

SELECT MAX(PAGAMENTO)FROM EMPREGADOS

SELECT MAX(NOME)FROM EMPREGADOS

/*MIN - RETORNA O VALOR MINIMO DA COLUNA ESPECIFICA*/

SELECT MIN(PAGAMENTO)FROM EMPREGADOS

7
SELECT MIN(NOME)FROM EMPREGADOS

/*OPERADORES LÓGICOS*/
BETWEEN /*ENTRE O INTERVALO*/
IN /*APENAS VALORES INFORMADOS*/
LIKE /*CONTENDO*/

SELECT * FROM EMPREGADOS WHERE PAGAMENTO BETWEEN 100 AND 600

SELECT CODIGO,NOME, PAGAMENTO FROM EMPREGADOS WHERE CODIGO IN (1,3,6)

SELECT NOME FROM EMPREGADOS WHERE NOME LIKE 'S%' /*COMEÇANDO COM S*/

SELECT EST_DESCRICAO FROM ESTADO WHERE EST_DESCRICAO LIKE 'T%'

/*COMEÇANDO COM T*/

SELECT NOME FROM EMPREGADOS WHERE NOME LIKE 'SO%' /*COMEÇANDO COM
SO*/

SELECT NOME FROM EMPREGADOS WHERE NOME LIKE 'SOL%' /*COMEÇANDO COM
SOL*/

SELECT NOME FROM EMPREGADOS WHERE NOME LIKE '%S%' /*CONTENDO COM S*/

SELECT NOME FROM EMPREGADOS WHERE NOME LIKE '%O%' /*CONTENDO COM
O*/

SELECT NOME FROM EMPREGADOS WHERE NOME LIKE '%A%' /*CONTENDO COM
A*/

SELECT NOME FROM EMPREGADOS WHERE NOME LIKE '%AN%' /*CONTENDO COM
AN*/

8
SELECT NOME FROM EMPREGADOS WHERE NOME LIKE '%HI%' /*CONTENDO COM
HI*/

SELECT NOME FROM EMPREGADOS WHERE NOME LIKE '%NY' /*TERMINANDO COM
NY*/

SELECT NOME FROM EMPREGADOS WHERE NOME LIKE '%A' /*TERMINANDO COM
A*/

/*NEGANDO CONDIÇÕES COM O OPERADOR NOT*/


/*NOT BETWEEN,NOT IN,NOT LIKE*/

SELECT * FROM EMPREGADOS WHERE PAGAMENTO NOT BETWEEN 100 AND 600

SELECT CODIGO,NOME, PAGAMENTO FROM EMPREGADOS WHERE CODIGO NOT IN


(1,3,6)

SELECT NOME FROM EMPREGADOS WHERE NOME NOT LIKE 'S%' /*NAO
COMEÇANDO COM S*/

SELECT NOME FROM EMPREGADOS WHERE NOME NOT LIKE 'FR%' /*NAO
COMEÇANDO COM FR*/

SELECT NOME FROM EMPREGADOS WHERE NOME NOT LIKE 'SOL%' /*NAO
COMEÇANDO COM SOL*/

SELECT NOME FROM EMPREGADOS WHERE NOME NOT LIKE '%Z%' /*NAO
CONTENDO COM Z*/

SELECT NOME FROM EMPREGADOS WHERE NOME NOT LIKE '%O%' /*NAO
CONTENDO COM O*/

9
SELECT NOME FROM EMPREGADOS WHERE NOME NOT LIKE '%A%' /*NAO
CONTENDO COM A*/

SELECT NOME FROM EMPREGADOS WHERE NOME NOT LIKE '%AN%' /*NAO
CONTENDO COM AN*/

SELECT NOME FROM EMPREGADOS WHERE NOME NOT LIKE '%HI%' /*NAO
CONTENDO COM HI*/

SELECT NOME FROM EMPREGADOS WHERE NOME NOT LIKE '%NY' /*NAO
TERMINANDO COM NY*/

SELECT NOME FROM EMPREGADOS WHERE NOME NOT LIKE '%A' /*NAO
TERMINANDO COM A*/

10

Você também pode gostar