APOSTILA DE MYSQL - · PDF fileapostila de mysql 4 esta obra pode ser reproduzida e...

download APOSTILA DE MYSQL - · PDF fileapostila de mysql 4 esta obra pode ser reproduzida e distribuÍda parcial ou integralmente desde que citada a fonte. material copyleft - venda proibida

If you can't read please download the document

Transcript of APOSTILA DE MYSQL - · PDF fileapostila de mysql 4 esta obra pode ser reproduzida e...

  • 1

    APOSTILA DE MYSQL

  • APOSTILA DE MYSQL

    2

  • 3

    APOSTILA DE MYSQL

    Apostila de

    MySQL

  • APOSTILA DE MYSQL

    4

    ESTA OBRA PODE SER REPRODUZIDA E DISTRIBUDA PARCIAL OUINTEGRALMENTE DESDE QUE CITADA A FONTE.

    MATERIAL COPYLEFT - VENDA PROIBIDA

    Todo material desenvolvido pela Coordenadoria do GovernoEletrnico resultado de um processo coletivo de produo,

    que se iniciou em 2001 e que permanente.Agradecemos a todos que colaboraram e que queiram contribuir.

    CGE COORDENADORIA DO GOVERNO ELETRNICOEquipe de Treinamento Tcnico

    Aparecido QuesadaAdriana Tosta

    Eder Moura DouradoSimone Leal dos Santos

    Thyago Akira de Morais RibeiroYuri Robinson de Souza

    [email protected]

    [email protected]

    PALCIO DO ANHANGABAVIADUTO DO CH N 15

    CEP 01002-000 SO PAULOTEL: 3113-8938 FAX 3113-8939

  • 5

    APOSTILA DE MYSQL

    ndice

    Introduo .............................................................................. pg. 09Popularizao dos Bancos de Dados .................................... pg. 10Sistema de Gerenciamento de Banco de Dados? ................ pg. 11

    Controle de Redundncias .................................. pg. 11Compartilhamento dos Dados ............................. pg. 12Controle de Acesso .............................................. pg. 12Interfaceamento ................................................... pg. 12Esquematizao ................................................... pg. 12Controle de Integridade ........................................ pg. 12Cpias de segurana ........................................... pg. 13

    Quem utiliza os Bancos de Dados? ....................................... pg. 13Usurios ................................................................ pg. 13Administrador de Banco de Dados (DBA) ........... pg. 13Projetista de Banco de Dados ............................. pg. 14Usurios Finais ..................................................... pg. 14Analistas de Sistemas e Programadores deAplicaes ............................................................ pg. 14

    Banco de Dados Relacional ................................................... pg. 15O MySQL .............................................................................. pg. 17Caractersticas do MySQL ...................................................... pg. 17SQL .............................................................................. pg. 18

    Introduo ............................................................. pg. 18SQL para manipulao de bancos de dados MySQL ........... pg. 19

    Comando CREATE .............................................. pg. 19Comando DROP .................................................. pg. 21Comando ALTER ................................................. pg. 21

    Manipulando dados das tabelas ............................................ pg. 22Comando SELECT .............................................. pg. 22

    Where como base das Restrio de linhas ........................... pg. 22Operadores lgicos ................................................................ pg. 23

    Comando INSERT ............................................... pg. 24Comando UPDATE .............................................. pg. 25Comando DELETE .............................................. pg. 26Outros operadores ............................................... pg. 28

  • APOSTILA DE MYSQL

    6

    Funes de Agrupamento ................................... pg. 28Administrao do MySQL ....................................................... pg. 28

    Modo Texto ........................................................... pg. 29A ferramenta phpMyAdmin ................................... pg. 34

    Programas aplicativos do MySQL .......................................... pg. 38msql2mysql ........................................................... pg. 38mysql ..................................................................... pg. 38mysqlaccess ......................................................... pg. 38mysqladmin .......................................................... pg. 38mysqlbinlog ........................................................... pg. 38mysqldump ........................................................... pg. 39mysqlimport .......................................................... pg. 39mysqlshow ............................................................ pg. 39replace .................................................................. pg. 39

    Tipos de campos suportados no MySQL .............................. pg. 39Bibliografia .............................................................................. pg. 49

  • 7

    APOSTILA DE MYSQL

  • APOSTILA DE MYSQL

    8

  • 9

    APOSTILA DE MYSQL

    Introduo

    No mundo atual existem gigantescos bancos de dadosgerenciando nossas vidas. Nossa conta bancria faz parte de umacoleo imensa de contas bancrias de nosso banco. Nosso TtuloEleitoral ou nosso Cadastro de Pessoa Fsica, certamente estoarmazenados em Bancos de Dados colossais. Sabemos tambmque quando sacamos dinheiro no caixa eletrnico de nosso banco,nosso saldo e as movimentaes existentes em nossa contabancria j esto nossa disposio.

    Nestas situaes sabemos que existe uma necessidade emse realizar o armazenamento de uma srie de informaes queno se encontram efetivamente isoladas umas das outras, ou seja,existe uma ampla gama de dados que se referem a relacionamentosexistentes entre as informaes a serem manipuladas.

    Para gerenciar tantos dados como os citados so utilizadosos Sistemas de Gerenciamento de Banco de Dados (SGBD).Sem tais sistemas o mundo atual estaria bastante diferente de comovemos hoje. O mercado financeiro tal como vemos hoje noexistiria. As praticidades como compras pela Internet, cartes dedbito, caixas automticos e mais uma infinidade de exemplosno seriam possveis.

  • APOSTILA DE MYSQL

    10

    Popularizao dos Bancos de Dados

    H poucas dcadas atrs os bancos de dados eram utilizadosapenas por grandes instituies, e seu uso era restrito aos grandesnegcios, onde simplesmente seria impossvel a operao de certasindstrias ou empresas.

    Com a popularizao e barateamento da plataforma IBM/PC,logo surgiram programas aplicativos para algum tipo dearmazenamento de dados.

    Antes desses equipamentos e softwares tornarem-seacessveis muitas vezes eram utilizadas fichas cadastrais paraarmazenar dados de clientes em pequenos e mdios negcios(essas fichas e armrios de fichrios so ainda hoje utilizados emalguns locais).

    Para se entender como isso funcionava vamos usar umexemplo de uma pessoa que ao visitar uma clnica mdica/odontolgica fornecia seu nome, endereo, telefone, etc. Essesdados eram ento anotados nessas fichas, que eram a maneira dese guardar as informaes de clientes, pacientes, estudantes, peasnuma oficina mecnica, etc..

    Exemplo de ficha cadastral:

    N de cadastro: 19.000/2

    Nome: Fulano Beltrano Santos ............. RG N:165.956.401/26Endereo: Rua Alpha, Bairro Cariru N 308Cidade: Ituporanga-SP ......................... Fone: (79)5555-5555

    Problema encontrado: Paciente apresentava constirpao.

  • 11

    APOSTILA DE MYSQL

    Quando era necessrio saber o nmero de telefone de umcliente chamado "Raoni Guimares Villar de Pinho" era precisoabrir o fichrio, encontrar a letra R e ir olhando aos poucos ondehavia o nome Raoni. Se fosse preciso saber, em uma escola, se oaluno "Artur Magno Horta de Abreu" havia repetido alguma srie,era preciso verificar as fichas que continham os histricos escolares,depois procurar pelo histrico do aluno e ainda procurar nessaficha se o aluno havia repetido alguma srie. No caso de umafarmcia, saber quais produtos custavam mais que R$ 5,00 seriaextremamente difcil, e nada disso era feito.

    Atualmente os bancos de dados esto por toda parte, desde afarmcia da esquina at a lojinha do posto de gasolina.

    Sistema de Gerenciamento de Banco de Dados?

    Um SGBD - Sistema de Gerenciamento de Banco de Dados uma coleo de programas que permitem ao usurio definir,construir e manipular Bancos de Dados para as mais diversasfinalidades.

    Um SGBD deve possuir as seguintes caractersticas:

    CONTROLE DE REDUNDNCIAS

    A redundncia consiste no armazenamento de uma mesmainformao em locais diferentes, provocando inconsistncias. Emum Banco de Dados as informaes s se encontram armazenadasem um nico local, no existindo duplicao descontrolada dosdados. Quando existem replicaes dos dados, estas sodecorrentes do processo de armazenagem tpica do ambienteCliente-Servidor, totalmente sob controle do Banco de Dados.

  • APOSTILA DE MYSQL

    12

    COMPARTILHAMENTO DOS DADOS

    O SGBD deve incluir software de controle de concorrncia aoacesso dos dados, garantindo em qualquer tipo de situao a escrita/leitura de dados sem erros.

    CONTROLE DE ACESSO

    O SGDB deve dispor de recursos que possibilitem selecionara autoridade de cada usurio. Assim um usurio poder realizarqualquer tipo de acesso, outros podero ler alguns dados e atualizaroutros e outros ainda podero somente acessar um conjunto restritode dados para escrita e leitura.

    INTERFACEAMENTO

    Um Banco de Dados dever disponibilizar formas de acessogrfico, em linguagem natural, em SQL ou ainda via menus deacesso, no sendo uma "caixa-preta" somente sendo passvel deser acessada por aplicaes.

    ESQUEMATIZAO

    Um Banco de Dados dever fornecer mecanismos quepossibilitem a compreenso do relacionamento existentes entreas tabelas e de sua eventual manuteno.

    CONTROLE DE INTEGRIDADE

    Um Banco de Dados dever impedir que aplicaes ouacessos pelas interfaces po