Dicas rápidas MySQL (atualizando…)

  • ViNaWeb

14 de jun, 2009

logo-mysql
Separei diversos comando que usamos no dia a dia e aqueles que usamos, não anotamos e quando precisamos novamente não econtramos com facilidade. Assim, se você quiser adicionar algum cmd é só enviar um contato que atualizo o post.

São comandos de manipulação de estrutura, dados e instaladores.

Comandos para manipulação de estrutura

Criando data bases

CREATE DATABASE nomedadb;

Selecionar a data base a ser usada

USE nomedadb;

Criando tabelas

CREATE TABLE `nomedatabela` (
`campo1` int(11) NOT NULL, /*campo do tipo inteiro onde not null = não nulo tornando-o obrigatório*/
`campo2` varchar(200) default NULL, /*texto, e por ae vai, é só pegar os tipos como float, datetime para data e hora, lembrando que o padrao americano é aaaa-mm-dd*/
PRIMARY KEY (`id`) /*chave primaria*/
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Mostrando tabelas criadas na db

SHOW TABLES;

Mostrando db criadas

SHOW DATABASES;

Mostrando detalhes da tabela

DESCRIBE tabela;

Mostrando somente as colunas

SHOW COLUMNS FROM tabela;

Alterar a estrutura da tabela

Adicionando uma coluna

ALTER TABLE tabela ADD COLUMN nomeDoCampoNovo CHAR(1) AFTER nomeDoCampoQueFicaraAntesDoCampoNovo;

Alterado um campo

ALTER TABLE `tabela` MODIFY COLUMN `campo` INTEGER(5);

No caso acima nos modificamos o campo para inteiro, para funcionar atente ao formato anterior para não perder nenhum dado.

Estrutura de tabela com chave estrangeira

CREATE TABLE `tabela` (
`campo` int(11) NOT NULL,
FOREIGN KEY (`campo`) REFERENCES `tabelaAssociada` (`campoAssociado`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Vale notar que o que vc quiser tratar como chave estrangeira use:

FOREIGN KEY (`campo`) REFERENCES `tabelaAssociada` (`campoAssociado`)

Excluir tabela

DROP TABLE tabela;


Comandos para manipulação de dados

Inserindo informações na tabela

INSERT INTO tabela (`campo1TipoNumero`,`campo2TipoTexto`) VALUES
(1,’João’),
(5,’Maria’);

Repare que ao inserir numero não se usa ” e para texto usa.

Atualizando

UPDATE SET campo = novaInformacao WHERE campo = informacaoBuscada;

WHERE significa quando, usado em tudo quanto é canto, busca, delete, etc.

EX.: quero todos alunos com idade abaixo de 10

WHERE aluno < 10

Excluindo

DELETE FROM tabela WHERE campo = algumaCoisa;

Consultas

Para retornar tudo da tabela

SELECT * FROM tabela;

Para retorna somente campos selecionados

SELECT campo1,campo2 FROM tabela;

Para consultar com condição

SELECT * FROM tabela WHERE campo = algumValor;

Lembrando que vc pode usar várias condições, acrescentando AND ou OR nas comparações;

SELECT * FROM tabela WHERE campo = algumValor AND campo < x;

Consultas ligando tabelas

SELECT * FROM tabela INNER JOIN tabelaLigada ON tabelaLigada.campo = tabela.campo;

pode fazer vários… INNER JOIN tabelaLigada ON tabelaLigada.campo = tabela .campo INNER JOIN tabelaLigada ON tabelaLigada.campo = tabela .campo, etc.
você poderá usar tabém o LEFT ALTER JOIN e o RIGHT ALTER JOIN, etc.

Ordenando a consulta

De forma crescente

SELECT * FROM showsvistos ORDER BY campo;

De forma decrescente (de z para a, de 9 para 0)

SELECT * FROM showsvistos ORDER BY campo DESC;

OPERAÇÕES

Soma = SUM(campo)

Média = AVG(campo)

Contar registros da tabela = COUNT(*)

Selecionar infomações distintas = DISTINCT(campo)

Limitar resultados em sua consulta = LIMIT x /* Insira no final do SELECT e substitua x pelo numero de registros que vc quer retornar*/

Atribuir novo nome ao campo buscado = AS nomeNovo (EX. SELECT nome AS nomeQualquer FROM tabela)

Converter string para data = STR_TO_DATE(’06/02/1985′,’%d/%m/%Y’) /* Este recurso é muito útil quando pegamos tabelas onde as datas estão armazenadas como varchar, e quando precisamos ordenar a pesquisa dá erro. Basta você converter a string para data e ordenar, a saída será a data no padrão americano, usado pelo banco de dados. Aonde está %d/, a ‘/’ significa a separação, se a sua data estiver separada por ‘,’ coloque %d, */


Comandos para manutenção

Limpar tabela

TRUNCATE table tabela;

Otimizar tabela

OPTIMIZE table tabela;

Reparar tabela

REPAIR table tabela;

Dar permissão a USUÁRIO

GRANT ALL PRIVILEGES ON nomedabase.* to usuario@ip_de_onde_vai_acessar IDENTIFIED by ‘senha_do_caboco’;

Você  pode ser mais cuidadoso e falar o que e onde o cara vai poder mexer:

GRANT insert,delete ON nomedabase.tabela to usuario@ip_de_onde_vai_acessar IDENTIFIED by ‘senha_do_caboco’;


****** LEMBRETES QUE UM DIA PODE SERVIR PARA ALGUMA COISA ******
>> O MySQL funciona por padrão na porta: 3306

>> Manual de referências online: Clique aqui

>> A versão pdf do manual é: http://downloads.mysql.com/docs/refman-4.1-pt.pdf

>> Instalação e programas de gerenciamento (SGBD) como: MySQL Administrator, MySQL Query Browser, MySQL Workbench, CONECTORES, etc… estão disponíveis aqui: http://dev.mysql.com/downloads/

—> O Query Browser é usado para manipular as tabelas, procedures, etc.. O Administrator, para criar usuários, permissões, enfim, como o próprio nome diz Administrar e o Worbench para criar estruturas visuais e afins.

Um bom recurso para usar quando trabalhamos como MySQl é o MySQL System Tray Monitor, ele fica na barra ao lado do relógio e com isso facilmente você gerencia conexões, chama o Query Browser, Administrator e outros.

João Gabriel
joaodosite.com

Comentarios sobre: Dicas rápidas MySQL (atualizando…)