Baixe 161 tutorial mysql e outras Notas de estudo em PDF para Análise de Sistemas de Engenharia, somente na Docsity! MAMA
á postilandoscom
O Portal do conhecimento
http://apostilando.com
Tutorial MySQL - Apostilando.com
Table of Contents Tutorial − MySQL..............................................................................................................................................1 Sobre este tutorial....................................................................................................................................1 Nota do autor.....................................................................................................................................1 Molhando seus pés...................................................................................................................................2 Breve introdução ao MySQL............................................................................................................2 Indo mais fundo.......................................................................................................................................3 Visão geral.........................................................................................................................................3 Até seu pescoço em MySQL....................................................................................................................6 Tabelas e campos...............................................................................................................................6 Campos..............................................................................................................................................7 Tipos de campos no MySQL.............................................................................................................7 Registros..........................................................................................................................................12 Tabelas.............................................................................................................................................12 Totalmente imerso em MySQL.............................................................................................................15 Manipulando a base de dados..........................................................................................................15 Afogando−se em MySQL......................................................................................................................20 Comando avançados........................................................................................................................20 Tutorial MySQL − Apostilando.com i − Siemens (www.siemens.com) − Yahoo (www.yahoo.com) − IFX Networks (www.ifx.com.br) − Dezenas de Web hosting e Provedores devido ao enorme sucesso que o MySQL vem fazendo Existem sistemas rodando servidor MySQL com bases de dados de 200 Gigabytes!!! Caso você ache isto insuficiente, verifique a lista completa de usuários do MySQL no site oficial − www.mysql.com Indo mais fundo Visão geral A partir deste capítulo, começaremos a usar o MySQL na prática, para tal, é preciso que você tenha acesso a algum servidor com o MySQL instalado e funcionando devidamente. A instalação do MySQL será abordada posteriormente. A forma mais comum de se utilizar o MySQL, é via telnet. Uma vez conectado ao servidor, um segundo comando permite o acesso ao servidor MySQL. Para acessar o servidor MySQL, é preciso utilizar o comando que segue. É importante lembrar, que o MySQL tem seu próprio cadastro de nomes e senhas, sendo que você pode possuir uma conta no servidor SQL, mas não telnet, e o oposto também é válido. Você também pode usar clienter gráficos para o MySQL, como o FreeMascon e o MyNavigator. −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− mysql −u elaine −p supersenha Sintaxe: mysql −u (usuário) −p (senha) Tutorial MySQL − Apostilando.com Indo mais fundo 3 ou mysql −h servidor −u (usuário) −−password=(senha) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Após validada a senha, e pré−supondo que o MySQL tenha sido corretamente instalado, você verá algo como: −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Cliente MySQL − NBS Bem vindo ao monitor do MySQL. Use ; após os comandos ou \g. Sua id é 49, e você está conectado a um servidor versão 3.21.23−beta−log Digite 'help' para ajuda. mysql> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Uma vez no prompt do MySQL, podemos começar a utilizar os comandos do MySQL e manipular os dados e o servidor. Contudo, antes de modificar a base de dados, nós devemos escolher qual desejamos usar, da seguinte forma: −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Tutorial MySQL − Apostilando.com Indo mais fundo 4 mysql>use teste; Base de dados alterada. −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Troque teste, pelo nome da base de dados desejada. Você obterá uma mensagem confirmando a alteração da base de dados. Isto significa que você está conectado a ela. Repare que o comando está seguido de ponto e vírgula, pois como em C, a maioria dos comandos do MySQL são sucedidos por ponto e vírgula. Antes de fazer qualquer coisa, seria interessante você consultar a ajuda, que listará os comandos disponíveis neste momento da execução do MySQL. Isto deve ser feito através do comando help. −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− mysql>help ... ... −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Provavelmente, nem todas as funções serão úteis neste momento, porém é bom gastar um tempo aprendendo cada uma delas para uso futuro. Por outro lado, funções como status, connect, clear, e quit serão usadas com uma freqüência tão grande que você deve se familiarizar com elas. Neste ponto, você deve ter um conhecimento básico de como conectar−se ao servidor, selecionar a base de dados, e executar operações simples. No próximo capítulo, aprenderemos os conceitos e técnicas necessárias Tutorial MySQL − Apostilando.com Indo mais fundo 5 Exemplo: endereco_comercial CHAR(10); Define um campo chamado 'endereco_comercial', que pode conter até dez letras. Observe que não há acentos no nome do campo, pois muitos servidores não acentuam, e sua tabela teria difícil acesso. VARCHAR(M) Sua estrutura e funcionamento é idêntico ao campo anterior, salvo que no tipo CHAR, o tamanho definido é fixo, e mesmo que não usado, aquele espaço em disco é alocado. Já o campo VARCHAR, aloca apenas o espaço necessário para gravação. Contudo, vale lembrar que trocamos espaço por velocidade, pois este campo é 50% mais lento que o anterior. Exemplo: endereco_comercial VARCHAR(10); Define um campo chamado endereco_comercial que pode conter até dez letras. Se você preencher apenas duas, o campo não ocupara todos dez bytes, mas apenas 2. INT(M) [Unsigned] O campo INT, que como o próprio número diz, suporta o conjunto dos números inteiros numa variação de −2147483648 a 2147483647. O parâmetro Unsigned pode ser passado, excluindo os números negativos, proporcionando um intervalo de 0 até 4294967295. Exemplos: Tutorial MySQL − Apostilando.com Tipos de campos no MySQL 8 carros_estocados INT; Inteiro válido: −245 Inteiro válido: 245 Inteiro inválido: 3000000000 carros_estocados INT unsigned; Inteiro válido: 245 Inteiro inválido: −245 Inteiro inválido: 3000000000 FLOAT[(M,D)] Os pontos flutuantes (FLOAT) representam pequenos números decimais, e são usados para representar números com maior precisão. Exemplo: voltagem_cadeira_eletrica FLOAT(4,2); Float válido: 324.50 DATE Campo usado para armazenar informações referentes a 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. Tutorial MySQL − Apostilando.com Tipos de campos no MySQL 9 O MySQL possui um conjunto poderoso de comandos de formatação e manipulação de datas. Consulte documentação adicional, se houver interesse. Exemplo: data_de_nascimento DATE; Data válida: 1999−12−06 Data inválida: 1999−06−12 TEXT/BLOB Os campos texto e blob são usados para guardar grandes quantidades de caracteres. Podendo conter de 0 a 65535 bytes, os blobs e texts são úteis para armazenar documentos completos, como este que você está lendo. A única diferença entre os campos BLOB e TEXT está no fato de um campo TEXT não ser sensível a letras maiúsculas e minúscula quando uma comparação é realizada, e os BLOBs sim. Exemplo: relatorio BLOB; BLOB válido: 'Minha terra tem palmeiras onde canta o...' relatorio TEXT; TEXT válido: 'A que saudades que eu sinto...' Tutorial MySQL − Apostilando.com Tipos de campos no MySQL 10 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− mysql> CREATE TABLE teste( >codigo INT, >nome CHAR(15), >email CHAR(25), >telefone INT); −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 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 de uma tabela: As seguintes opções podem ser adicionadas a qualquer campo de uma tabela, concatenando recursos adicionais a estes campos. −Chave primária: Usado para que não seja permitido, que o usuário consiga cadastrar dois registros com chaves primárias iguais. Isto é claramente útil, quando não é desejado que seja digitado um segundo registro igual ao primeiro por engano. Para se definir uma chave primária, basta adicionar 'PRIMARY KEY' a definição do campo que se deseja a não duplicidade. Tutorial MySQL − Apostilando.com Tabelas 13 Exemplo: nome CHAR(15) PRIMARY KEY; Esta declaração faz com que não seja permitido o cadastro na tabela de dois registros com nomes iguais. −Auto incremento: Este recurso, faz com que conforme novos registros são criados, automaticamente estes obtém valores que correspondem ao valor deste mesmo campo no registro anterior, somado a 1. Exemplo: codigo INT AUTO_INCREMENT; Soma um a cada registro automaticamente neste campo. Começando de 1, com inserção subsequente. Comandos relativos as tabelas: Podemos executar comandos para saber as condições que as tabelas se encontram, e também manipulá−las. Abaixo, poderemos conhecer os fundamentais: −Mostrar tabelas Função: Lista todas as tabelas existentes no banco de dados atual. Comando: mysql>show tables; Tutorial MySQL − Apostilando.com Tabelas 14 −Mostrar colunas Função: Mostra as informações referentes a estrutura, ou seja, as colunas da tabelas desejada. Comando: mysql>show columns from teste; Lembre−se de dedicar algum tempo a testes. Não tenha medo de danificar a base de dados, pois o Administrador do servidor que você usa não daria a você controle total dos dados, e se o servidor pertencer a você..."vai, faça o que tu queres". Totalmente imerso em MySQL Manipulando a base de dados Uma base de dados pode ser manipulada com quatro operações básicas: Incluir, Apagar, Altera, e Pesquisar. Estes tópicos serão brevemente abordados nas seções seguintes, mas antes de mais nada, eu gostaria de lembrar que como toda linguagem para computadores, o MySQL tem suas regras. Um erro de parênteses que seja pode resultar no inverso do que você espera. Portanto, fique atento a sintaxe de seus comandos. É bom saber também, que faremos todas experiências a partir de agora, usando a tabela teste, criada no capítulo anterior. Portanto se você ainda não a criou, esta é uma boa hora. Aqui está ela novamente como uma rápida referência: Seleciona base de dados: −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Tutorial MySQL − Apostilando.com Totalmente imerso em MySQL 15 caso de qualquer base de dados, uma das roda é a pesquisa, afinal de contas, o que seria um site de busca na Internet sem pesquisa? As pesquisas no MySQL são feitas através do comando SELECT. Este comando pode fazer desde uma simples e trivial pesquisa até uma pesquisa extremamente complexa. Exemplos: Ação: mysql>SELECT * FROM teste; Resultado: Lista todos registros da tabela teste. Ação: mysql>SELECT * FROM teste mysql>WHERE (nome = "Ernesto"); Resultado: Lista todos os registros da tabela teste que contém "Ernesto" no campo nome. Nota: Consulte maiores detalhes, e estude mais itens relacionados a pesquisas SQL. Você pode economizar centenas de linha de código em seus programas usando recursos de pesquisa. Apagando registros Quando um registro não nos é mais útil, podemos apagá−lo, para que a tabela não contenha dados obsoletos. Tutorial MySQL − Apostilando.com Manipulando a base de dados 18 Isto pode ser facilmente feito usando o comando DELETE, que tem o funcionamento semelhante ao comando INSERT. Ação: mysql>DELETE FROM teste mysql>WHERE (telefone = 2744747); Resultado: Apaga da tabela teste todos os registros que têm o conteúdo "2744747" no campo telefone. Alterando registros Suponhamos agora que sua namorada trocou o telefone. A primeira providência, é alterar sua tabela para que você não possua dados desatualizados. Para tal, existe o camando UPDATE. Observe os exemplos: Ação: mysql>UPDATE teste SET nome = 'ErnestaoOBao' mysql>WHERE nome = 'Ernesto'; Resultado: Procura na tabela um registro que contenha no campo nome o conteúdo 'Ernestao', definido pelo comando WHERE. Encontrado o registro, ele é substituido pelo nome definido no comando SET, que é 'ErnestaoOBao'. Tutorial MySQL − Apostilando.com Manipulando a base de dados 19 Afogando−se em MySQL Comando avançados O que aprendemos até agora, quando comparado a quantidade de recursos do MySQL, não chega a ser a ponta de um gigante ice−berg. O MySQL é repleto de comandos avançados que permitem fazer operações para todas as necessidades. Veremos agora alguns comandos avançados do MySQL: Operadores lógicos: O MySQL suporta todas operações lógicas, estando abaixo listadas as mais conhecidas: AND (&&) O operador lógico AND, ou E, deve ser usado em uma pesquisa que se deseja entrar dois valores. O AND, verifica ambas as clausulas da comparação, e só retorna algum valor se as duas tiverem uma resposta verdadeira. Observe o exemplo: −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− mysql>SELECT * FROM teste WHERE mysql>(nome = "Aline") AND mysql>(telefone = 2728918); −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Esta pesquisa mostrara todos os registros que contém no campo nome e conteúdo "Aline", E (AND) no campo telefone, o conteúdo 2728988. OR (||) O operador lógico OR, ou OU, deve ser usado em uma pesquisa que se deseja entrar dois valores. O OR, Tutorial MySQL − Apostilando.com Afogando−se em MySQL 20