sábado, 21 de fevereiro de 2009

Introdução ao Mysql

Criei essa página como um guia de consulta rápida às coisas ja estudadas, online. Começarei por MySql.

Logando-se no MySql:


#cd \arquivos de programas\mysql\mysql server 5.1\bin
#mysql -u root -p
(Digite a Senha)

Conectando-se a um servidor remoto.
#mysql −h servidor −u (usuário) −−password=(senha)

Apos Logado exiba as base de dados existentes:
mysql>show databases;

Criando Uma database:
mysql>create database databaseteste;

Usando/Entrando numa database existente:
mysql>use NomeDaDatabase;

Exibindo Tabelas existentes na Database em uso:
mysql>show tables;

Criando tabela
mysql>Criate tables NomedaTabela(
-->id int(11) not null auto_increment primary key,
-->nome varchar(150) not null
-->);

Verificando os dados da tabela;
mysql>descrebe NomedaTabela;

Deletar tabela:
mysql>drop table NomedaTabela;

Usuários

Para adcionar um novo usuário no mysql:
mysql>GRANT ALL PRIVILEGES ON *.* TO Emanoel@localhost
-->IDENTIFIED BY 'alguma_senha' WITH GRANT OPTION;

Adcinar/Trocar Senha do usuário:
mysql> SET PASSWORD FOR root@localhost=PASSWORD(‘nova_senha’) ;

Mudando a senha do Usuário:
mysql> UPDATE user SET Password=123456
-> WHERE user=’root’;

mysql> FLUSH PRIVILEGES;

Tipos de Campos do MySql

O MySQL oferece os mais comuns campos Alguns deles estão aqui listados:

- CHAR(M): Usados para caracteres alfanuméricos, como endereços e nomes. Seu tamanho é fixo e pode armazenar 1 a 255 caracteres. Exemplo: Endereço CHAR(10);

- VARCHAR(M): Mesma Função do Anterior porem com apenas o espaço definido é alocado na memória, porem Trocamos espaço pr velocidade. Ex: Endereço2 VARCHAR(10);

- INT(M) [Unsigned]:Suporta númros inteiros numa variação de −2147483648 a 2147483647. O parâmetro Unsigned, se passado, exclui os números negativos ficando de 0 até 4294967295.

- FLOAT[(M,D)]:Os pontos flutuantes (FLOAT) representam pequenos números decimais, e são usados para representar números com maior precisão. EX: qtd FLOAT(4,2);

- DATE : Campo usado para armazenar data. A forma padrão é 'AAAA−MM−DD', onde
AAAA corresponde ao ano, MM ao mês, e DD ao dia. Ele pode variar de 0000−00−00 a 9999−12−31. Ex: nascimento DATE; 1999−12−06

- TEXT/BLOB : Usados para armazenar grandes quantidades de caracters, pode conter de 0 a 65535 bytes. Uteis para armazenar documentos inteiros. A diferença entre text e blob é que o segundo é case sensitive. Ex: relatorio BLOB

- SET : Esse campo permite que o usuário faça uma escolha dado determinado número de opções. Ex: vicio SET("Camisa", "Calça") NOT NULL; Nesse exemplo o campo pode conter apenas os seguintes itens: "Camisa", "Calça", "Camisa,Calça", "".

- ENUM : Faz a mesma coisa do set porem só pederá ser escolhido os itens indicados e vasiu.

---- Registros

Um conjunto de campo relacionados fomam o que chamamos de registros. poidendo ter a seguinte estrutura:

nome CHAR(15);
email CHAR(25);
telefone INT;

---- Tabelas

Um conjunto de registros formam uma tabela. Mas antes de tudo, para adcionar registros é necessário criar uma tabela. Vamos criar uma tabela chamada teste1;

mysql>create table teste(
-->codigo int not null auto_increment primary key,
-->nome char(15) not null,
-->email char(15),
-->telefone int(10) not null
--> );

Notas:
− Não é possível criar duas tabelas com o mesmo nome;
− Cada conjunto de dados, quando visto em uma tabela, é também chamado linha;
− Você acaba de criar sua primeira tabela!
Características das linhas:
− O nome de uma coluna pode ter até 64 letras;
− O nome de uma coluna pode começar com um número;
− O nome de uma coluna não pode ser composto de números apenas.


------Opções da Tabela

− Chave primária : Usado para que não seja permitido que o usuário consiga cadastrar dois valores de, de chave primária, iguais. Ex: nome CHAR(15) PRIMARY KEY;

- Auto incremento : Usado para que o mysql automaticamente incremente o campo ao adcionar um novo registro. Ex: codigo INT AUTO_INCREMENT;

- NOT NULL : Informa que o campo não poderá ser nulo.


------Comandos Relativos às Tabelas

- Mostrar Tabelas : show tables;

- Mostrar Colunas : show columns from teste;


------Manipulando Base de Dados
Operações básicas: Incluir, Apagar, Altera, e Pesquisar.

Inserindo Registros.
mysql>INSERT INTO teste VALUES
-->(NULL, 'Ernesto', 'ernesto@nbsnet.com.br',
-->8134665859);

Pesquisando Registros
mysql>SELECT * FROM teste
-->>WHERE (nome = "Emanoel");

Deletando Registros
mysql>DELETE FROM teste
-->WHERE (telefone = 2744747);

Auterando Registros
mysql>UPDATE teste SET nome = 'ErnestaoOBao'
-->WHERE nome = 'Ernesto';

Operadores Logicos

- AND (&&) : O operador AND verifica duas clausulas exigidas e só retorna registros se as clausula forem verdadeiras.
Ex:
mysql> select * from teste where(nome="Rebeca") AND (telefone=null);

- OR (||) : Deve ser usado numa pesquisa que deseja entrar dois valores e retorne se um dos dois forem positivos.
Ex:
mysql> select * from teste where(nome="Emanoel") OR (nome="Emanoel Almeida");

- NOT (!) : O operador lógico NOT, realiza uma pesquisa, excluindo valores determinados do resultado.
Ex:
mysql> select * from teste where (sexo != masculino);

- ORDER BY(Ordenar por) : Lista os registros colocando-os em ordem pela coluna especificada.
Ex:
select * from teste Where(nome=Emanoel) AND (idade >= 10) ORDER BY idade;