Você está na página 1de 9

 CREATE DATABASE nome_do_banco;

create database cadastro


default character set utf8
default collate utf8_general_ci;

 CREATE TABLE nome_da_tabela;

CREATE TABLE profissao


(
id int(11) auto_increment,
nome varchar(30),
profissao varchar(10),
nascimento date,
sexo enum ('M', 'F'),
peso decimal (5,2),
altura decimal (3,2),
nacionalidade varchar(20) default 'Brasil'
primary key (id)
) DEFAULT CHARSET = utf8;

CREATE TABLE if not exists cursos ( -- uso da constrains if not exists


nome varchar(30) unique not null,
carga int unsigned,
totaulas int,
ano year default '2016'
)default charset utf8;

ALTER TABLE -- COMANDO DDL


DROP TABLE -- COMANDO DDL

 INSERT

IDÉIA BÁSICA
INSERT INTO pessoas
(id, nome, profissao, nascimento, sexo, peso, altura, nacionalidade)
VALUES
(‘1’, ‘Godofredo’, ‘Pintor’, ‘1998-6-15’, ’97,34’,’1,56’, ‘Brasil’);

ATENÇÃO
USE cadastro
DESCRIBE pessoas;
DESC pessoas;
SELECT * FROM pessoas;

 APRIMORANDO
INSERT INTO pessoas
VALUES
(DEFAULT, 'Mario', '1944-10-4', 'M', '100.35', '1.90', DEFAULT),
(DEFAULT, 'JOÃO', '1944-10-4', 'M', '104.35', '1.80', DEFAULT),
(DEFAULT, 'ALINE', '1978-10-4', 'F', '66.35', '1.70', DEFAULT),
(DEFAULT, 'ANA', '1967-10-4', 'F', '78.35', '1.34', 'Itália'),
(DEFAULT, 'Rodrigo', '1956-10-4', 'M', '98.35', '1.93', DEFAULT);

VOLTANDO AO DDL

 ALTER -----AFTER

IDÉIA BÁSICA
ALTER TABLE pessoas
ADD COLUMN profissão varchar(10);

 APRIMORANDO
 ALTER TABLE pessoas
 ADD COLUMN profissão varchar(10) AFTER nome
Ou
 ADD COLUMN código int FIRST; -- COLOCAR NA PRIMEIRA POSIÇÃO
PARA MODIFICAR O TIPO PRIMITIVO E TODAS AS CONSTRAINS

ALTER TABLE pessoas


MODIFY COLUMN profissao VARCHAR(30) DEFAULT ‘ ‘ ;

-- modify não consegue alterar o nome da coluna. Altera as constrains e tipo

alter table pessoas


change column profissao prof varchar (30) default '';

-- altera titulo, mas necessita especificar novamente todas as constrains.

PARA ALTERAR O NOME DA TABELA


alter table pessoas
RENAME TO gafanhotos;

PARA INCLUIR A CHAVE PRIMÁRIA EM UMA COLUNA


alter table cursos
add primary key(idcursos);

PARA AUTO INCREMENTAR


alter table cursos
modify column idcursos int auto_increment;

CUIDADO COM O COMANDO DROP


PODE APAGAR UM BANCO DE DADOS, UMA TABELA OU SER UM PARÂMETRO DE ALTER TABLE
XXX PARA APAGAR UMA COLUNA

alter table cursos


drop idcursos;
DROP TABLE IF EXISTS TESTES;
DROP DATABASE IF EXISTS ALUNOS;

MANIPULANDO LINHAS, REGISTROS OU TUPLAS – TODOS ESTES NOMES SÃO SINÔNIMOS

COLUNA = CAMPO OU ATRIBUTOS


EM UMA TABELA, CADA LINHA CONTÉM VÁRIAS COLUNAS OU VÁRIOS CAMPOS OU VÁRIOS
ATRIBUTOS.
CADA LINHA COMPLETA É UM REGISTRO OU UMA TUPLA

ALTER TABLE , ALTERA COLUNAS

RETORNANDO AO DML

OS COMANDOS UPDATE, DELETE e TRUNCATE ALTERAM LINHAS OU REGISTROS

Não conseguimos alterar várias linhas ao mesmo tempo em um único comando


Conseguimos alterar vários campos ao mesmo tempo com um comando

UPDATE
SET cuidado com estes comandos use where e limit
WHERE

UPDATE cursos atualize a tabela cursos


SET nome = ‘HTML5’ ajustando a coluna nome para HTML5
WHERE id=1; onde a coluna id vale 1

update cursos
set nome='JAVA', carga='40', ano='2015' múltiplas linhas atualizadas
where idcursos='5'
limit 1; parâmetro adicional de segurança a mais, limitando atualizar apenas uma coluna

delete from cursos


where idcursos='8'; exclui a linha onde idcursos é igual a 8

MANTENHA SEMPRE UM BACKUP DO SEU BANCO DE DADOS.

delete FROM cursos


where ano='2018'
limit 2; limitado a ação de apagar em apenas duas linhas, nas possíveis n linhas ano=2018

PODEMOS APAGAR TODOS OS REGISTROS, OU SEJA TODAS AS LINHAS DE UMA TABELA

TRUNCATE cursos; apaga todos os registros da tabela cursos

Qual a diferença entre DROP TABLE cursos e TRUNCATE TABLE cursos. O primeiro elimina toda
a tabela (dados e estrutura) e o segundo apenas apaga todos os dados.
Até agora vimos os seguintes comandos
DDL
CREATE DATABASE
CREATE TABLE
ALTER TABLE
DROP TABLE
DML
INSERT INTO
UPDATE
DELETE
TRUNCATE

VAMOS AGORA APRENDER A EXPORTAR NOSSA BASE DE DADOS – BACKUP E COMO


RECUPERAR DADOS DO BACKUP PARA A BASE DE DADOS

GERAR UM BACKUP = GERAR UM DUMP

VER TABELAS DE UM BANCO DE DADOS


Show tables;
Show create table nome_da_tabela; apresenta toda a estrutura - table no singular

VER AS CARACTERÍSTICAS DE UM BANCO DE DADOS


Show create database nome_do_banco; - database no singular

O PHPADMIN PERMITE MANIPULAÇÃO DE BANCO DE DADOS NO MYSQL DE FORMA GRÁFICA


AULA 10

DQL - QUERY = CONSULTA, PERGUNTA

Até agora vimos os seguintes comandos


DDL
CREATE DATABASE
CREATE TABLE
ALTER TABLE
DROP TABLE
DML
INSERT INTO
UPDATE
DELETE
TRUNCATE
Agora vamos ver

DQL

SELECT - tem várias constrains (filtros)


COMANDO SELECT – O COMANDO MAIS COMPLETO NOS BD.

SELECT * FROM nome_da_tabela; mostra toda a tabela e ordena pela primeira coluna

Constrains ORDER BY
SELECT * FROM nome_da_tabela
ORDER BY nome_da_coluna; mostra toda a tabela e ordena pela coluna indicada

Constrains ASC e DESC


Repare que por default foi na ordem crescente ------ ASC

Podemos alterar para decrescente ---- DESC

SELECT * FROM nome_da_tabela


ORDER BY nome_da_coluna DESC;

NOTE QUE desc pode ser comando ou parâmetro do select. São coisas muito diferentes
Desc ou describe – é um comando que descreve uma tabela
Order by nome_da_coluna desc - vai mostrar a tabela em ordem descrescente
Restringindo as tabelas que se deseja observar. Retira-se o * e coloca o nome ou nome das
colunas entre vírgulas

SELECT coluna_x, coluna_y, coluna_z FROM nome_da_tabela


ORDER BY nome_da_coluna_x DESC;

Além de restringir as colunas , a ordem das colunas podem ser alteradas e alteradas em
múltiplas colunas.

SELECT coluna_y, coluna_x, coluna_z FROM nome_da_tabela


ORDER BY nome da coluna_x, nome_da coluna_y;
select ano, nome, carga from cursos
order by ano desc, nome;

Até agora nos concentramos em colunas, substituindo o * e a ordenação. E as linhas, como


filtrar?

Constrains WHERE

select * from cursos


where ano ='2016'
order by nome;

select nome, carga, ano from cursos


where ano ='2014'
order by carga;
select nome, carga, ano from cursos
where ano <='2015'
order by ano;

select nome, carga, ano from cursos


where ano <='2015'
order by ano, nome;

Constrains between

select nome, carga, ano from cursos


where ano between 2015 and 2016 -- entre
order by ano, nome;

select nome, carga, ano from cursos


where ano between 2015 and 2016 -- entre
order by ano desc, nome asc;
Constrains in

select nome, carga, ano from cursos


where ano in ('2015' , 2016)
order by ano desc, nome asc;

Constrains LIKE ------- PARECIDO


% = CURINGA

O LIKE DEVE SER CONSIDERADO COMO UM OPERADOR, TAL COMO >, =, <, != .......
A POSIÇÃO DO CURINGA FAZ TODA A DIFERENÇA. ‘P% = INICIANDO COM P OU
‘%P’=TERMINADO COM P OU ‘%P%’= CONTÉM O P.

select nome, carga, ano from cursos


where nome LIKE ('p%');

A NEGAÇÃO É NOT LIKE

select nome, carga, ano from cursos


where nome NOT LIKE ('p%')
AND NOME NOT LIKE ('%A%')
AND NOME NOT LIKE ('%E%')
AND NOME NOT LIKE ('%o%')
ORDER BY ANO asc;

Você também pode gostar