Tag: mysql

Saiu a edição 22 da Revista Espírito Livre!

Revista Espírito Livre - Edição 22

A Revista Espírito Livre é uma publicação gratuita sobre software livre. A revista é liberada todos os meses em PDF no site. Na edição 22, o tema é “Software Livre nas Empresas”, e entre outras coisas fala sobre como o software livre já é uma realidade em grande parte das empresas, e aquelas que, dizem não usar, muito provavelmente acabam usando, seja na hospedagem de seu site, seja no framework utilizado para criar uma solução web, seja para navegar, já que a própria Internet tem como pilares, softwares de código-aberto.

Além disso, a edição apresenta várias outros artigos que ajudam a compor o tema do mês. Albino Biasutti apresenta um pequeno case de sucesso de implantação de software livre em uma empresa hospitalar, Estefânio Luiz Almeira fala sobre o MySQL e como ele pode ser uma boa solução empresarial, no que diz respeito a Sistemas de Gerenciamento de Banco de Dados. Evaldo Júnior, que andava sumido, mas que retoma suas contribuições junto a revista, fala sobre um case de implantação de software livre em uma micro empresa. Gilberto Sudré, deixa claro em seu artigo, que o software livre já está maduro para o mercado.

Baixe a revista de graça aqui!


Acessar o MySQL pelo Prompt do Windows

Vez ou outra é necessário acessar o MySQL por linha de comando. Se você estiver no Windows, isso também é possível.

Clique no menu Iniciar, depois Todos os Programas (Windows 7). Em seguida clique em Acessórios, e depois em Prompt de Comando.

Se você tiver instalado o MySQL utilizando o Wamp ou XAMPP ele fica em uma pasta diferente de c:\mysql. Acesse – pelo prompt – a pasta onde fica o MySQL.

Se for o XAMPP, por exemplo, o executável fica em c:\xampp\mysql\bin

Depois que abrir a telinha preta, digite:

mysql -u <nome de usuário*> -p

Pronto. Agora é só digitar qualquer comando (SELECT, UPDATE etc.) que ele irá funcionar normalmente.

* o nome de usuário padrão, geralmente é root. Se a instalação é padrão, a senha está em branco, então é só apertar enter.


Converter de maiúsculas para minúsculas e vice-versa com o MySQL

Uma maneira bem simples de converter de maiúsculas para minúsculas, e vice-versa direto pelo banco de dados MySQL, sem utilizar de programação é utilizar as funções UPPER e LOWER do MySQL.

Exemplos:

De minúscula para maiúscula

SELECT upper( `nome` ) FROM `clientes`

De maiúscula para minúscula

SELECT lower( `nome` ) FROM `clientes`

Você também pode renomear os campos, para facilitar a exibição:

Exemplo:

SELECT upper( `nome` ) as `nome_do_cliente` FROM `clientes`

Se você quizer selecionar outros campos:

SELECT upper( `nome` ) as `nome_do_cliente`,`telefone`,`cidade` FROM `clientes`

A função UPPER é sinônimo da função UCASE e a função LOWER é sinônimo da função LCASE.


Realizando duas ou mais consultas com UNION e UNION ALL no MySQL

Algumas vezes não conseguimos obter os resultados que desejamos com uma só consulta no banco de dados. Para resolver esse problema existem os operadores UNION e UNION ALL.

Vamos a um exemplo:

(SELECT * FROM clientes WHERE idcidade = 1 LIMIT 3)
UNION (SELECT * FROM clientes WHERE idcidade = 5 LIMIT 3)
UNION (SELECT * FROM clientes WHERE idcidade = 8 LIMIT 3)

No exemplo acima ele vai retornar de uma só vez o mesmo que retornaria se você fizesse três selects diferentes.

Você também pode utilizar UNION ALL ao invés de UNION. A diferença é que ele vai retornar todos os resultados, inclusive as linhas repetidas.

Se não tiver como serem retornados registros duplicados, é mais vantagem usar o UNION ALL, que é mais rápido.

Observe que esse operador torna a consulta extremamente mais lenta, e ele só deve ser usados em casos bem específicos. Use com cautela.


Principais tipos de campos no MySQL

Muita gente tem dificuldade de escolher que campo usar para cada tipo de dado. Montei esse guia para facilitar o entendimento de quem tem dúvidas sobre isso.

Campos Numéricos
Alguns campos numéricos possuem a opção UNSIGNED. Isso quer dizer que o número não pode ser negativo. Por exemplo: o campo TINYINT com a opção UNSIGNED vai de 0 até 255, sem a opção UNSIGNED vai de -128 até 127.

A opção ZEROFILL completa o campo com zeros. Por exemplo: se você cadastrar ’65’ em um campo INT(5) – ou seja, inteiro com 5 dígitos – com a opção ZEROFILL habilitada, o MySQL irá cadastrar ‘00065’. Sem a opção ZEROFILL habilitada, o MySQL irá cadastrar ’65’.

  • TINYINT: Um número muito pequeno, de 0 até 255 (UNSIGNED) ou -128 até 127. Ocupa 1 byte.
  • SMALLINT: Um inteiro pequeno, de 0 a 65535 (UNSIGNED) ou -32768 até 32767. Ocupa 2 bytes.
  • MEDIUMINT: Um inteiro de tamanho médio, de 0 a 16777215 (UNSIGNED) ou -8388608 a 8388607. Ocupa 3 bytes.
  • INT ou INTEGER: Um inteiro de tamanho normal. De 0 a 4294967295 (UNSIGNED) ou -2147483648 a 2147483647. Ocupa 4 bytes.
  • BIGINT: Um inteiro grande. De 0 a 18446744073709551615 ou -9223372036854775808 a 9223372036854775807. Ocupa 8 bytes.
  • DECIMAL: Um número decimal. Para armazenar um valor monetário, por exemplo, você pode definir o tamanho dele como 8,2. Isso quer dizer que ele poderá ter 8 dígitos à esquerda da vírgula, e duas casas decimais à direita da vírgula. O campo é armazenado como string, então não deve ocorrer nenhuma perda de precisão (arredondamento).
  • DATE: Data no formato ‘AAAA-MM-DD’. Entre ‘1000-01-01’ e ‘9999-12-31’.
  • DATETIME: Combinação de data e hora no formato ‘AAAA-MM-DD HH:MM:SS’. Entre ‘1000-01-01 00:00:00’ e ‘9999-12-31 23:59:59’.
  • TIME: Hora no formato ‘HH:MM:SS’. A faixa é entre ‘-838:59:59’ e ‘838:59:59’.
  • YEAR: Ano com 2 ou 4 dígitos (padrão 4 dígitos).
  • ENUM: Uma enumeração. Exemplo de uso: você tem um campo chamado “ativo” que possui apenas duas opções (0 e 1). Pode ter até 65535 valores diferentes.

Campos String (texto)

  • VARCHAR: String com tamanho entre 1 e 255 caracteres.
  • CHAR: String com tamanho entre 1 e 255 caracteres. Para campos com tamanho fixo (CPF, CEP etc.) é mais vantagem usar o CHAR, porque ele ocupa um byte a menos que o VARCHAR. Por exemplo: você vai cadastrar o valor “abcde” em um campo CHAR(5), ele vai ocupar 5 bytes, se você cadastrar em um VARCHAR(5), ele vai ocupar 6 bytes, porém se você cadastrar o valor “ab” em um campo CHAR(5) ele vai ocupar os mesmos 5 bytes, e o VARCHAR(5) vai ocupar 3 bytes (1 byte a mais do que a quantidade de caracteres).
  • TINYTEXT ou TINYBLOB: String com até 255 bytes.
  • TEXT ou BLOB: String com até 65535 bytes ou 64KB.
  • MEDIUMTEXT ou MEDIUMBLOB: String com até 16777215 bytes ou 16MB.
  • LONGBLOB: String com até 4294967295 bytes ou (4GB).

Conectar ao MySQL e escolher um banco de dados com o PHP

Exemplo das funções utilizadas para conectar com o MySQL e escolher um banco de dados.

<?php
mysql_connect("localhost", "USUARIO", "SENHA") or die(mysql_error());
mysql_select_db("BANCO_DE_DADOS") or die(mysql_error());
?>

Algumas vezes o nome do servidor pode ser diferente, mas na grande maioria se usa localhost mesmo.


Instalar LAMP – Linux + Apache + MySQL + PHP no Ubuntu

Atualizado em 15/03/2016

Quase todo programador web que programa em PHP com banco de dados MySQL precisa desses softwares funcionando localmente (em sua máquina), seja para fazer testes, ou para programar sistemas e sites. Vou mostrar como instalar esses dois servidores, além do Apache, que é o servidor web, e é necessário para que o PHP funcione. 1. Abra o Terminal (Aplicativos/Acessórios/Terminal) 2. Digite o seguinte código no terminal:

sudo apt-get install apache2

3. O Terminal vai perguntar sua senha. Digite ela, e depois aperte enter. 4. Para testar o Apache, acesse o seguinte endereço a partir do seu navegador: http://localhost/. Se aparecer "It Works!", quer dizer que o Apache foi instalado com sucesso. 5. Para instalar o PHP, digite novamente no Terminal:

sudo apt-get install php5 libapache2-mod-php5

6. É necessário reiniciar o Apache. Digite no Terminal:

sudo /etc/init.d/apache2 restart

7. Para testar o Servidor PHP, crie um arquivo chamado teste.php em /var/www com o conteúdo abaixo:

<?php phpinfo(); ?>

8. Acesse o endereço: http://localhost/teste.php . Se tudo estiver OK, irão aparecer informações sobre seu computador, o Apache e o PHP. 9. Para instalar o MySQL,  digite o seguinte no Terminal:

sudo apt-get install mysql-server

10 Vai aparecer uma tela soliicitando que você digite a senha de root, que é a senha de administrador do banco de dados. Você pode deixar em branco – se tiver medo de esquecer 😛 – mas é altamente recomendável que você defina uma. 11. Agora você deve instalar o PHPMyAdmin, que é uma aplicativo web que ajuda a administrar bancos de dados MySQL. Digite no terminal:

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

12. Escolha o apache2 para configurar automaticamente. 13.  O sistema vai pergunta se você quer configurar banco de dados para phpmyadmin com dbconfig-common. Escolha "Sim". Depois digite a senha do banco que você escolheu antes, e escolha uma senha para a base do PHPMyAdmin (pode ser a mesma do MySQL). PARABÉNS! Se você conseguiu completar todos os passos, instalou o Apache, o MySQL, o PHP e o PHPMyAdmin no seu computador. Todos os arquivos devem ser armazenados em /var/www. O PHPMyAdmin pode ser acessado através do endereço http://localhost/phpmyadmin

Atualização em 15/03/2016

Seis anos depois e esse post continua útil :P. Acabei de usá-lo novamente, mas tive um pequeno problema no final. Depois de instalar o PHPMyAdmin, ele não abria pelo navegador. Se isso acontecer com você no Ubuntu 14.04 em diante ou no Linux Mint 17 (onde testei) em diante, basta criar um link apontando para o PHPMyAdmin:

sudo ln -s /usr/share/phpmyadmin /var/www/html

Fonte: http://askubuntu.com/questions/387062/how-to-solve-the-phpmyadmin-not-found-issue-after-upgrading-php-and-apache


Alterar o valor de Auto Increment no MySQL

Quando for preciso começar o ID (em auto increment) de uma tabela por um número específico, ou seja, se você quizer que os IDs dos clientes comecem por 1000, ao invés de zero, ou qualquer outro numero, ou até mesmo modificar esse valor depois que já existem registros na tabela, basta fazer da seguinte forma:

ALTER TABLE `banco`.`tabela` AUTO_INCREMENT = VALOR

Exemplo:

ALTER TABLE `loja`.`clientes` AUTO_INCREMENT = 953

Identificar o último registro inserido em uma tabela do MySQL com o PHP

Em uma tabela com um campo com autoincrement (onde a cada registro é gerado um número sequencial para identificá-lo), as vezes necessitamos identificar qual o id desse último registro inserido.

Para isso existe uma função muito simples do PHP: mysql_insert_id()

O uso dela também é muito simples. Logo após ter feito o mysql_query(), basta igualar a uma variável. Se houver mais de uma conexão ao banco de dados, você deve passar esse link através da função (mysql_insert_id($link)).

Exemplo:

$sql = "INSERT INTO `pessoas` (`id_pessoa` , `nome_pessoa` )
VALUES (NULL , 'Tiago Passos');";
$query = mysql_query($sql);

$ultimo_id = mysql_insert_id(); // SE SÓ HOUVER UMA CONEXÃO COM O BANCO

Utilizando a função now() do MySQL ou PostgreSQL

Algumas vezes é necessário fazer o registro do momento em que um INSERT (cadastro) foi feito.

Para fazer isso existe a função now() do MySQL ou do PostgreSQL. Essa função pode ser utilizada em um campo de data (DATE, DATETIME etc.). Basta colocar como valor no seu INSERT a função now() (sem as aspas), que ele vai cadastrar a data (ou data e hora, se for DATETIME) do servidor na hora em que o registro foi criado.

INSERT INTO `pessoas`
(`nome`, `data_registro`)
VALUES
('Tiago Passos', now())

  • Publicidade

  • Redes Sociais

    Facebook  Twitter
  • Estatísticas

    Page Views (desde março de 2010):

    Estatísticas detalhadas
  • Novidades por e-mail!

    Digite seu e-mail:


    Fique tranquilo. Seu e-mail não será usado para outros fins, e você poderá se descadastrar quando quizer.

    Eu!

    Tiago Passos
    Todo o conteúdo desse site esta licenciado sob a licença Creative Commons 3.0 (CC BY 3.0). Você pode copiar e modificar o conteúdo desde que cite o autor.
    iDream theme by Templates Next | Powered by WordPress