sql

Downloads:

MySQL (site oficial)

Vertrigo (~15MB) (Suíte contendo o MySQL)

Xampp (~125MB) (Suíte contendo o MySQL)

Comandos básicos v14_04 Download

1KeyData (Site)

Comandos básicos de banco:

--- Criar um banco de dados -------------------------------------------------------------------

CREATE DATABASE [IF NOT EXISTS] biblioteca_bd; (if not exists é opcional)

Ex01: CREATE DATABASE biblioteca_bd;

--- Listar os bancos criados no servidor -----------------------------------------------------

SHOW DATABASES;

--- Selecionar o banco para manipulação --------------------------------------------------

USE bibioteca_bd; Seleciona o banco.

SELECT DATABASE(); Visualiza o banco selecionado.

--- Excluir o banco de dados -------------------------------------------------------------------

DROP DATABASE [IF EXISTS] biblioteca_bd; (if exists é opcional)

---------------------------------------------------------------------------------------------------------

Comandos básicos de tabela:

--- Exibir tabelas existentes no banco selecionado --------------------------------------

SHOW TABLES;

--- Criar tabela no banco de dados ----------------------------------------------------------

CREATE TABLE [IF NOT EXISTS] nome_tabela(

coluna1 tipo_dado constraints,

coluna2 tipo_dado constraints

);

Ex01:------------------

CREATE TABLE IF NOT EXISTS livro_tb(

id_livro INT(4) AUTO_INCREMENT PRIMARY KEY,

nome_livro VARCHAR(50),

preco_livro DECIMAL NOT NULL

);

--- Excluir campo de uma tabela -------------------------------------------------------------

ALTER TABLE nome_da_tabela DROP COLUMN nome_coluna;

--- Alterar tipo de dados de uma coluna ----------------------------------------------------

ALTER TABLE nome_da_tabela ALTER COLUMN nome_coluna INT(4);

--- Renomear uma tabela ----------------------------------------------------------------------

RENAME TABLE nome_antigo TO nome_novo;

--- Alias para Tabela/Coluna -------------------------------------------------------------------

Sintaxe: SELECT coluna AS apelido_coluna FROM tabela AS apelido_tabela;

Exemplo01: SELECT nome_livro AS livro FROM livros_tb;

Exemplo02: SELECT nome_livro AS livro, preco_livro AS preço FROM livros_tb;

---------------------------------------------------------------------------------------------------------

Inserção:

--- Inserir dados(registros) em uma tabela --------------------------------------------------------------

INSERT INTO nome_da_tabela (coluna1, coluna2, ...) VALUES (valor1, valor2, ...);

---------------------------------------------------------------------------------------------------------

Consultas:

--- Consultas simples ------------------------------------------------------------------------------

Ex01: SELECT coluna_especifica FROM tabela;

Ex02: SELECT * FROM tabela; (O " * " seleciona toda a tabela)

Ex03: SELECT coluna1, coluna2 FROM tabela; (Seleciona mais de uma coluna)

--- Consultas simples com ordenação -------------------------------------------------------

Ex01: SELECT * FROM tabela ORDER BY coluna ASC; (Ordem crescente, default)

Ex02: SELECT * FROM tabela ORDER BY coluna DESC; (Ordem decrescente)

--- Consultas simples com filtro WHERE(onde) ------------------------------------------

Ex01: SELECT * FROM tabela WHERE coluna = valor; (Consulta em toda a tabela)

Ex02: SELECT coluna FROM tabela WHERE coluna = valor; (Coluna específica)

Ex03: -- valor numérico - não usa aspas

SELECT nome_livro, data_publicacao

FROM tbl_livro

WHERE id_autor = 1; (Não usa aspas por ser numérico)

Ex04: -- string - usa aspas simples

SELECT id_autor, nome_autor

FROM tbl_livro

WHERE sobrenome = 'Silva'; (Usa-se aspas simples por ser string)

Ex05: -- Operadores lógicos (AND, OR ou NOT)

SELECT * FROM tbl_livro

WHERE id_livro > 2 AND id_autor < 3;

--- Consulta o último ID de uma coluna ----------------------------------------------------

SELECT MAX(id_livro) FROM livro_tb;

--- Consultar com um intervalo ---------------------------------------------------------------

Sintaxe:

SELECT * FROM tabela

WHERE coluna

BETWEEN valor1 AND valor2;

Exemplo:

SELECT * FROM tbl_livros

WHERE data_pub

BETWEEN '20160524' AND '20160801';:

--- Pesquisar item em uma coluna -------------------------------------------------------------

SELECT * FROM tabela WHERE coluna LIKE '%$item_pesquisa%' ORDER BY coluna;

--- Pesquisar item em duas ou mais colunas ------------------------------------------------

SELECT * FROM tabela WHERE (coluna1 LIKE '%$item_pesquisa%' OR coluna2 LIKE '%$item_pesquisa%') ORDER BY coluna;

% (percentual) = 0 ou mais caracteres

_ (underline) = Caractere único

NOT LIKE = inverso do LIKE

--- Consulta com expressões regulares -----------------------------------------------------

Exemplo01:

SELECT nome_livro FROM tabela

WHERE nome_livro REGEXP '^[FS]'; (consultar expressões regulares)

Exemplo02:

SELECT nome_livro FROM tabela

WHERE nome_livro REGEXP '[ng]$'; (consultar expressões regulares)

--- Consultar os livros mais emprestados em uma biblioteca --------------------------

SELECT titulo, COUNT(titulo)

FROM emprestimo_tb

GROUP BY titulo

HAVING COUNT(titulo)>0

ORDER BY COUNT(titulo)

DESC LIMIT 5;

--- Pesquisar em duas tabelas -----------------------------------------------------------------

SELECT * FROM questoes_tb

INNER JOIN categorias_tb

ON questoes_tb.id_categoria=categorias_tb.id_categoria

---------------------------------------------------------------------------------------------------------

Exclusão:

--- Excluir dados de uma tabela --------------------------------------------------------------

Sintaxe: DELETE FROM tabela WHERE coluna = valor;

Exemplo: DELETE FROM livros_tb WHERE id_autor = 5;

--- Excluir todos os dados de uma tabela sem excluir a tabela ----------------------

Sintaxe: TRUNCATE TABLE nome_tabela;

---------------------------------------------------------------------------------------------------------

Edição (Update):

--- Editar registro existente em uma tabela ------------------------------------------------

Sintaxe:

UPDATE tabela

SET coluna = novo_valor

WHERE coluna = valor_do_filtro; (sem WHERE, todos os registros serão alterados)

Ex01:

UPDATE tbl_livro

SET nome_livro = "Malba Tahan"

WHERE id_livro = 45;

---------------------------------------------------------------------------------------------------------

Backup (mysqldump):

Sintaxe para criar a cópia:

mysqldump -u root nome_banco > backup.sql

Ex01:

mysqldump -u root db_biblioteca > /home/bkp/db_biblioteca.sql

Ex02:

c:/xampp/mysql/bin/mysqldump -u root db_biblioteca > c:/xampp/mysql/bkp/db_biblioteca.sql

---------------------------------------------------------------------------------------------------------

Sintaxe para restaurar(voltar) a cópia:

mysq -u root -p banco_criado < backup.sql

Ex01:

Primeiro criar o banco (teste_restore)

CREATE DATABASE teste_restore;

Depois voltar o backup

mysql -u root -p teste_restore < /home/bkp/db_biblioteca.sql

SQL - Constraints (restrições):

AUTO_INCREMENT (Incremento de 1 para cada registro inserido, por padrão já assume também o NOT NULL)

NOT NULL (Não permite valor nulo na coluna, obrigando a ter um valor)

UNIQUE (valor único, garante que os dados não se repetem)

PRIMARY KEY (Chave primária, garante a unicidade dos dados "registros")

Para remover a primary key usa-se ALTER TABLE tabela DROP PRIMARY KEY;

Para adicionar a primary key usa-se ALTER TABLE tabela ADD PRIMARY KEY (COLUNA);

FOREIGN KEY (Chave estrangeira, para relacionar a tabela com outra)

ex: CONSTRAINT fk_id_autor FOREIGN KEY(id_autor) REFERENCES tbl_autores(id_autor);

DEFAULT (Valor padrão de inserção, caso não haja nenhum no momento) ex: UF

Funções de agregação:

MIN = Valor mínimo de uma coluna

MAX = Valor máximo de uma coluna

AVG = Média aritmética

SUM = Soma (total)

COUNT = Conta a quantidade de itens

--- Conta a quantidade de registros em uma tabela -------------------------------------

SELECT COUNT(*) FROM tabela;

--- Conta a quantidade de registros ignorando os repetidos --------------------------

SELECT COUNT(DISTINCT id_autor) FROM tbl_livro;

--- Seleciona o maior valor de uma coluna ------------------------------------------------

SELECT MAX(preco_livro) FROM tbl_livro;

--- Seleciona o menor valor de uma coluna -----------------------------------------------

SELECT MIN(preco_livro) FROM tbl_livro;

--- Retorna a média dos valores uma coluna ----------------------------------------------

SELECT AVG(preco_livro) FROM tbl_livro;

--- Retorna total dos valores uma coluna --------------------------------------------------

SELECT SUM(preco_livro) FROM tbl_livro;

---------------------------------------------------------------------------------------------------------

Expressões Regulares (REGEXP):

[...] - Qualquer caractere único em um intervalo ou conjunto especificado ([a-h], [^aeiou]);

[^...] - Qualquer caractere único que não esteja no intervalo ou conjunto especificado ([^a-h], [^aeiou]);

^ - Início da string;

$ -Fim da string;

a|b|c - Alternação (a ou b ou c).

Referências:

w3school.com

http://www.editoraerica.com.br/detalhes.asp?cod=3738

Professor Cezar Oilson Jenzura

cezarjenzura@gmail.com

Currículo Lattes