Beruflich Dokumente
Kultur Dokumente
MySQL 5
Juliano Niederauer
Rubens Prates
Novatec Editora
Copyright 2006 da Novatec Editora Ltda.
Todos os direitos reservados e protegidos pela Lei 9.610 de
19/02/1998. proibida a reproduo desta obra, mesmo
parcial, por qualquer processo, sem prvia autorizao,
por escrito, do autor e da Editora.
Editor: Rubens PRates
ISBN: 85-7522-081-0
novatec editoRa Ltda.
Rua Lus Antnio dos Santos 110
02460-000 So Paulo SP Brasil
Tel.: +55 11 6959-6529
Fax: +55 11 6950-8869
E-mail: novatec@novatec.com.br
Site: www.novatec.com.br
3
Introduo.......................................................................................................................5
Objetivos.....................................................................................................................5
O.que..MySQL?...........................................................................................................5
Download.e.instalao................................................................................................5
Extenso.MySQL.para.o.PHP........................................................................................6
Novidades.do.MySQL.5.0.............................................................................................6
Outras.funcionalidades.e.melhorias............................................................................6
Operaes.bsicas.do.MySQL............................................................................................7
Criando.um.banco.de.dados........................................................................................7
Criando.tabelas...........................................................................................................7
Inserindo.dados...........................................................................................................8
Alterando.registros.ou.tabelas.....................................................................................9
Excluindo.registros.ou.tabelas.....................................................................................9
Executando.consultas................................................................................................10
Ordenando.e.limitando.os.resultados........................................................................11
Numerao.automtica.de.campos...........................................................................12
Comentrios.no.cdigo.SQL.......................................................................................12
Nomes.de.identifcadores..........................................................................................13
Comandos.SQL...............................................................................................................14
Banco.de.dados.INFORMATION_SCHEMA.......................................................................43
Tipos.de.dados.do.MySQL...............................................................................................44
Operadores....................................................................................................................50
Operador.LIKE...........................................................................................................50
Operador.REGEXP......................................................................................................50
Operadores.aritmticos.............................................................................................51
Operadores.bitwise...................................................................................................51
Operadores.lgicos....................................................................................................51
Operadores.de.comparao.......................................................................................51
Funes.do.MySQL.........................................................................................................52
Funes.de.agregao...............................................................................................52
Funes.de.comparao............................................................................................52
Funo.CASE..............................................................................................................53
Funes.numricas....................................................................................................54
Funes.de.string......................................................................................................56
Funes.de.Data.e.Hora.............................................................................................60
Outras.funes..........................................................................................................66
Principais.programas.do.MySQL.....................................................................................70
Opes.de.programas................................................................................................70
myisamchk.e.isamchk...............................................................................................79
myisampack.e.pack_isam.........................................................................................81
mysql........................................................................................................................82
mysqladmin..............................................................................................................83
mysqldump...............................................................................................................84
mysqlimport.............................................................................................................87
mysqlshow................................................................................................................88
Controle.de.acesso.a.banco.de.dados.............................................................................89
Ferramentas.externas.de.administrao........................................................................91
phpMyAdmin............................................................................................................91
MySQL-Front.............................................................................................................91
Funes.PHP.relacionadas.com.MySQL...........................................................................92
Extenso.MySQL........................................................................................................92
Extenso.MySQLi.......................................................................................................96
Informaes.gerais.sobre.o.MySQL...............................................................................104
Informaes.adicionais................................................................................................106
ndice.remissivo...........................................................................................................107
Somrio
4
Introduo
Objetivos
Este guia foi criado para orientar os programadores e administradores
de bancos de dados que desejam conhecer as funcionalidades do
SGBD (Sistema de Gerncia de Bancos de Dados) MySQL. Para isso,
sero apresentados os principais recursos desse software, incluindo a
referncia dos comandos SQL, operadores, funes, tipos de dados,
programas clientes e procedimentos de confgurao do SGBD.
O guia tambm apresenta a descrio das funes de conectividade
entre o MySQL e a linguagem PHP, utilizada para a criao de
pginas dinmicas na Web.
O que MySQL?
MySQL um SGBD relacional que utiliza a linguagem padro
SQL (Structured Query Language) e largamente utilizado em
aplicaes para a Internet. o mais popular entre os bancos de dados
com cdigo-fonte aberto. H mais de cinco milhes de instalaes
do MySQL no mundo todo, inclusive em sites com alto volume de
dados e de trfego, como Associated Press, Google, NASA, Sabre
Holdings e Suzuki.
O MySQL uma alternativa atrativa porque, mesmo possuindo uma
tecnologia complexa de banco de dados, seu custo bastante baixo.
Tem como destaque suas caractersticas de velocidade, escalabilidade
e confabilidade, o que vem fazendo com que ele seja adotado por
departamentos de TI (Tecnologia da Informao), desenvolvedores
Web e vendedores de pacotes de softwares.
A seguir so listadas algumas vantagens do MySQL:
nmero ilimitado de utilizao por usurios simultneos;
capacidade de manipulao de tabelas com mais de 50.000.000
de registros;
alta velocidade de execuo de comandos;
fcil e efciente controle de privilgios de usurios.
Para o desenvolvimento de sites dinmicos, o MySQL forma uma
excelente dupla com a linguagem PHP, tanto para websites pequenos
como para grandes portais.
Download e instalao
Para efetuar o download do MySQL, acesse o site http://www.mysql.
com, entre na seo de produtos, escolha Database Server e faa o
download do arquivo de instalao para o seu sistema operacional.
Se voc pretende instalar o MySQL no Linux, uma boa opo fazer
o download do pacote rpm, que de fcil instalao.
No caso do Windows, ao terminar o download do arquivo, execute-o
para inciar a instalao, e siga as instrues que iro aparecer na tela.
Durante a instalao, voc poder optar se deseja que o servidor
MySQL seja iniciado automaticamente na inicializao do sistema.
bom voc marcar essa opo, para no ter que iniciar manualmente
o servidor cada vez que a mquina for reiniciada.
Qualquer dvida, consulte a documentao contida no subdiretrio
Docs.
lnlroooo
5
Extenso MySQL para o PHP
Se voc pretende usar o MySQL com a linguagem PHP, ser
necessrio habilitar a extenso mysql (ou mysqli) no arquivo de
confgurao do PHP, chamado php.ini. Isso feito atravs da
seguinte linha:
extension=php_mysql.dll
Se a sua verso do MySQL for a 4.1 ou superior, voc ter que usar
a extenso mysqli:
extension=php_mysqli.dll
Normalmente essas linhas j existem no seu arquivo php.ini, mas
esto comentadas com uma vrgula na frente. Nesse caso, basta
remover a vrgula. Em seguida, reinicie o servidor Web para que as
alteraes tenham efeito.
Novidades do MySQL 5.0
As caractersticas listadas a seguir devem fazer parte da verso
5.0 do MySQL, sendo que algumas delas, como os procedimentos
armazenados (stored procedures), j esto includas desde a verso
alpha. Outras esto apenas parcialmente implementadas, como por
exemplo os cursores.
Views
As vises (views) permitem que os usurios acessem um conjunto
de tabelas como se fosse uma nica tabela. Ou seja, seria como uma
tabela virtual.
Stored Procedures e Triggers
Os procedimentos armazenados (stored procedures) so conjuntos
de comandos SQL que podem ser armazenados no servidor, para
posteriormente serem chamados pelos clientes. Esto implementados
com base no padro SQL:2003.
Os gatilhos (triggers) so objetos que podem ser associados s tabelas
do banco de dados, e so ativados na ocorrncia de determinados
eventos nessas tabelas.
Outras funcionalidades e melhorias
Suporte elementar aos cursores. Os cursores simples so
suportados dentro dos procedimentos armazenados e funes, e
utilizam a mesma sintaxe do SQL embutido (embedded SQL).
Especifcao explcita do uso de ndices RTREE para criao
tabelas MyISAM. No MySQL 4.1, os ndices RTREE so
usados apenas internamente para dados geomtricos.
Linhas de tamanho dinmico para tabelas MEMORY. A nova
verso tambm possui um melhor suporte a esse tipo de
tabelas.
Suporte a dicionrio de dados / INFORMATION_SCHEMA.
Linhas de tamanho dinmico e manipulao mais rpida das
mesmas, devido reduo no nmero de cpias.
Para ver uma descrio mais detalhada de todas as melhorias e novas
funcionalidades, assim como as mudanas planejadas para verses
futuras, consulte a seo News do manual do MySQL.
lnlroooo