Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


MySQL - Apostilas - Informática Part1, Notas de estudo de Informática

Apostilas de Informática sobre MySQL, Principais Características, Estrutura, Sistema de privilégios, Ambiente MySQL, PHP, Operações Matemáticas, Tratando formulários, Funções, Classes.

Tipologia: Notas de estudo

2013

Compartilhado em 27/08/2013

Garoto
Garoto 🇪🇸

4.6

(121)

1 / 11

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
2
Índice
1 – MySQL .............................................................................................................................3
1.1 - Principais Características ...........................................................................................3
1.2 - A Estrutura .................................................................................................................4
1.3 - O Sistema de privilégios.............................................................................................5
1.4 - O Ambiente MySQL ..................................................................................................6
1.5 - Exemplos....................................................................................................................7
2 - PHP..................................................................................................................................11
2.1 - Um breve histórico de PHP......................................................................................13
2.2 - Comentários..............................................................................................................14
2.3 – Variáveis..................................................................................................................14
2.3.1 – Inteiros e ponto flutuante..................................................................................15
2.3.2 – Arrays ...............................................................................................................15
2.3.3 – Strings...............................................................................................................16
2.3.4 – Variáveis de variáveis.......................................................................................17
2.3.5 – Type casting...................................................................................................... 17
2.3.6 – Variáveis por referência no PHP4 ....................................................................17
2.4 - Operações Matemáticas............................................................................................ 18
2.5 - Operadores................................................................................................................18
Exemplo........................................................................................................................18
Exemplo........................................................................................................................19
2.6 - Operações com strings..............................................................................................20
2.7 - Controlando o fluxo e LOOPS.................................................................................21
2.8 - Tratando formulários................................................................................................22
2.9 – Funções....................................................................................................................23
2.10 – Classes ...................................................................................................................25
2.11 - Acesso à banco de dados........................................................................................26
2.12 - FTP e HTTP ...........................................................................................................28
2.13 - Sessões....................................................................................................................29
2.14 - Tratamento de Arquivos.........................................................................................29
2.15 - Tratamento de Erros...............................................................................................31
Bibliografia...........................................................................................................................32
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe MySQL - Apostilas - Informática Part1 e outras Notas de estudo em PDF para Informática, somente na Docsity!

Índice

  • 1 – MySQL
    • 1.1 - Principais Características
    • 1.2 - A Estrutura
    • 1.3 - O Sistema de privilégios.............................................................................................
    • 1.4 - O Ambiente MySQL
    • 1.5 - Exemplos
  • 2 - PHP..................................................................................................................................
    • 2.1 - Um breve histórico de PHP
    • 2.2 - Comentários..............................................................................................................
    • 2.3 – Variáveis
      • 2.3.1 – Inteiros e ponto flutuante
      • 2.3.2 – Arrays
      • 2.3.3 – Strings
      • 2.3.4 – Variáveis de variáveis.......................................................................................
      • 2.3.5 – Type casting......................................................................................................
      • 2.3.6 – Variáveis por referência no PHP4
    • 2.4 - Operações Matemáticas............................................................................................
    • 2.5 - Operadores................................................................................................................
      • Exemplo........................................................................................................................
      • Exemplo........................................................................................................................
    • 2.6 - Operações com strings..............................................................................................
    • 2.7 - Controlando o fluxo e LOOPS
    • 2.8 - Tratando formulários................................................................................................
    • 2.9 – Funções
    • 2.10 – Classes
    • 2.11 - Acesso à banco de dados
    • 2.12 - FTP e HTTP
    • 2.13 - Sessões....................................................................................................................
    • 2.14 - Tratamento de Arquivos.........................................................................................
    • 2.15 - Tratamento de Erros
  • Bibliografia

1 – MySQL

MySQL é um servidor de banco de dados SQL multi-usuário e multi-threaded. SQL é a linguagem de banco de dados mais popular no mundo. MySQL é uma implementação cliente-servidor que consiste de um servidor e diferentes programas clientes e bibliotecas. SQL é uma linguagem padronizada que torna fácil o armazenamento e acesso de informações. Por exemplo, pode-se usar SQL para recuperar informações de produtos e armazenar informações de clientes para um site Web. O servidor MySQL é também rápido e flexível o suficiente para permitir armazenar logs e figuras nele. As principais vantagens do MySQL são velocidade, robustez e facilidade de uso. MySQL foi originalmente desenvolvido pois a equipe da T.c.X. DataKonsultAB (empresa que desenvolveu MySQL) precisava de um servidor SQL que pudesse manipular banco de dados grandes numa ordem de magnitude mais rápida que qualquer banco de dados comercial pudesse lhes oferecer. A equipe da TcX tem usado MySQL desde 1996 em um ambiente com mais de 40 banco de dados contendo 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de registros. Isto soma aproximadamente 100 Gbytes de dados.

1.1 - Principais Características

As principais características do MySQL são:

!" Manipula um número ilimitado de usuários simultâneos; !" Alta velocidade de execução; !" Possui APIs C, C++, Eiffel, Java, Perl, PHP, Python e TCL; !" Trabalha com diferentes plataformas: Unix, Windows etc.; !" Disponibiliza diversos tipos de dados: INT (inteiros sinalizados e não- sinalizados de 1, 2, 3, 4 e 8 bytes ), FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET e ENUM; !" Alta velocidade na execução de joins usando multi-join otimizado; !" Suporte completo a operadores e funções nas cláusulas SELECT e

WHERE;

!" Suporte às cláusulas GROUP BY e ORDER BY e a funções de grupo (COUNT(), AVG(), STD(), SUM(), MAX() e MIN()); !" Suporte a LEFT OUTER JOIN com a sintaxe ANSI SQL e ODBC; !" Possibilidade de misturar tabelas de diferentes bancos de dados na mesma query ;

!" INT(M) [Unsigned]: números inteiros entre -2147483648 e

  1. A opção "unsigned" pode ser usada na declaração mudando o intervalo para 0 e 4294967295 para inteiros não- sinalizados; !" FLOAT [(M,D)]: números decimais com D casas decimais; !" DATE: armazena informação relativa a datas. O formato default é 'YYYY-MM-DD' e as datas variam entre '0000-00-00' e '9999-12-31'. MySQL provê um poderoso conjunto de comandos para formatação e manipulação de datas; !" TEXT/BLOB: strings entre 255 e 65535 caracteres. A diferença entre TEXT e BLOB é que no primeiro o texto não é sensível ao caso e no segundo sim; !" SET: conjunto de valores strings ; !" ENUM: conjunto de valores strings , difere do SET pois só são armazenados valores previamente especificados.

Além dos tipos de dados existem outras opções a serem usadas em conjunto com os tipos de dados para a criação de tabelas e especificação de colunas:

!" Primary Key (Chave Primária): usada para diferenciar um registro do outro. Cada registro, desta forma, não pode ter a mesma chave primária. !" Auto_increment: uma coluna com esta opção é automaticamente incrementada quando da inserção de um registro; !" NOT NULL: não permite a inserção de valores nulos.

1.3 - O Sistema de privilégios

Administrar o servidor MySQL, envolve a manutenção do banco de dados com as configurações do servidor ( hosts , usuários e bancos de dados), ou seja, o sistema de privilégios. O conceito do sistema de privilégios é simples, pela atribuição de um conjunto de privilégios, um usuário em determinado host tem permissão para executar comandos sobre uma base de dados. Estes privilégios estabelecem um conjunto de regras no qual o servidor MySQL se baseia, e estas regras podem ser, por exemplo, permissão para inserir, selecionar, excluir informações de uma tabela, ou criar, modificar tabelas etc. Portanto, o sistema de privilégio, se resume em três tabelas principais: host, user e db tendo como hierarquia, da mais alta para a mais baixa, a ordem apresentada.

!" A tabela host determina quais os hosts que estão habilitados a acessar o servidor MySQL. Sua estrutura de colunas é a seguinte: Host, Db, Select_priv, Insert_priv, Update_priv, Delete_priv,

Create_priv, Drop_priv, sendo que as duas primeiras colunas estabelecem, de qual host o banco de dados pode ser acessado e as colunas termindas em priv são privilégios de acesso especificados com Y ou N (o default é N). !" A tabela user determina os usuários que podem acessar o servidor e suas senhas de identificação a partir de um host. Sua estrutura de colunas é: Host , User , Password , Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv; !" A tabela db contém as informações relativas a qual banco de dados um usuário de um certo host pode acessar: Host , Db, User , Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv.

1.4 - O Ambiente MySQL

As tabelas acima funcionam exatamente como tabelas normais MySQL. Elas podem ser facilmente modificadas usando comandos como INSERT, UPDATE e DELETE. Para entrar no ambiente MySQL monitor, ou o programa cliente mysql, e acessar o servidor MySQL, o comando a ser executado é o seguinte:

shell> mysql –h host –u username –p databasename

A opção -h host significa especificar o nome do host, –u username significa especificar o nome do usuário que está acessando, -p solicita um pedido de senha e o databasename é o nome do banco de dados que se deseja acessar. A resposta a este comando é o pedido de identificação do usuário através da senha e em seguida a apresentação e o prompt do ambiente a espera de comandos:

Enter password: ****** Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 459 to server version: 3.22.20a-log

Type 'help' for help.

mysql>

A partir do momento que se está conectado ao servidor, é possível realizar vários comandos sobre os bancos de dados que se tem permissão, como selecionar um banco de dados (“use db_name;”), buscar de dados em tabelas através de queries (consultas do tipo “select

  • from uma_tabela;”), inserir valores em uma tabela (“insert into

+-----------------+ | Tables in Curso | +-----------------+ | Aluno | +-----------------+ 1 row in set (0.00 sec)

mysql> desc Aluno; +-----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+----------------+ | ID | int(11) | | PRI | 0 | auto_increment | | Nome | varchar(40) | YES | | NULL | | | Email | varchar(30) | YES | | NULL | | | DataNasc | date | YES | | NULL | | | Matricula | varchar(9) | YES | | NULL | | +-----------+-------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)

mysql> alter table Aluno drop Email; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0

mysql> alter table Aluno add Endereco varchar(100) after Nome; Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0

mysql> desc Aluno; +-----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+----------------+ | ID | int(11) | | PRI | 0 | auto_increment | | Nome | varchar(40) | YES | | NULL | | | Endereco | varchar(100) | YES | | NULL | | | DataNasc | date | YES | | NULL | | | Matricula | varchar(9) | YES | | NULL | | +-----------+--------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)

mysql> insert into Aluno values( NULL, 'Guilherme', 'Rua Pirineus, 43', '1979-11-18', '9723220-3' ); Query OK, 1 row affected (0.00 sec)

mysql> insert into Aluno values( NULL, 'Fulano', 'Rua Pigmeus, 69', '1980-10-24', '9723299-9' ); Query OK, 1 row affected (0.01 sec)

mysql> select * from Aluno; +----+-----------+------------------+------------+-----------+ | ID | Nome | Endereco | DataNasc | Matricula | +----+-----------+------------------+------------+-----------+ | 1 | Guilherme | Rua Pirineus, 43 | 1979-11-18 | 9723220-3 | | 2 | Fulano | Rua Pigmeus, 69 | 1980-10-24 | 9723299-9 | +----+-----------+------------------+------------+-----------+ 2 rows in set (0.00 sec)

mysql> select ID, Nome from Aluno where ID < 10;

+----+-----------+ | ID | Nome | +----+-----------+ | 1 | Guilherme | | 2 | Fulano | +----+-----------+ 2 rows in set (0.00 sec)

mysql> delete from Aluno where ID=2; Query OK, 1 row affected (0.00 sec)

mysql> update Aluno set Nome='Guilherme Birckan' where ID=1; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from Aluno; +----+-------------------+------------------+------------+-----------+ | ID | Nome | Endereco | DataNasc | Matricula | +----+-------------------+------------------+------------+-----------+ | 1 | Guilherme Birckan | Rua Pirineus, 43 | 1979-11-18 | 9723220-3 | +----+-------------------+------------------+------------+-----------+ 1 row in set (0.00 sec)

mysql> grant all privileges on Curso.* to visitante@localhost identified by ‘senha2000’; Query OK, 0 rows affected (0.02 sec)

mysql> quit Bye

[shell]$ mysql -u visitante;

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 3.22.

Type 'help' for help.

mysql> use Curso; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A

Database changed mysql> show tables; +-----------------+ | Tables in Curso | +-----------------+ | Aluno | +-----------------+ 1 row in set (0.00 sec)

mysql> select * from Aluno; +----+-------------------+------------------+------------+-----------+ | ID | Nome | Endereco | DataNasc | Matricula | +----+-------------------+------------------+------------+-----------+ | 1 | Guilherme Birckan | Rua Pirineus, 43 | 1979-11-18 | 9723220-3 | +----+-------------------+------------------+------------+-----------+ 1 row in set (0.00 sec)

2 - PHP

PHP é uma linguagem de script no lado do servidor ( server-side ) embutida no HTML, portanto é necessário instalar o interpretador da linguagem no servidor de Web. PHP, assim como MySQL, estão disponíveis para download para sistemas UNIX, mas para o sistema operacional Windows precisam de uma licença. PHP é diferente de um script CGI escrito em linguagens como Perl ou C pois, ao invés de escrever um programa com muitos comandos para saída em HTML, você escreve um script HTML com um código embutido para fazer a mesma coisa. O código PHP é encapsulado em tags especiais de início e fim que permitem você alternar para dentro e fora do modo PHP. O que distingue PHP de algo como um Javascript no lado do cliente é que o código é executado no servidor. Se você tivesse um script PHP em seu servidor, o cliente iria receber os resultados da execução deste script , e de maneira alguma poderia determinar qual o código que está por baixo desta execução. É possível configurar um servidor Web para processar todos os arquivos HTML com código PHP, e então realmente não há maneira de os usuários perceberem que existe código embutido na página HTML. No nível mais básico, PHP pode fazer qualquer outra coisa que um programa CGI pode fazer, tal como coletar dados de um formulário, gerar conteúdo de páginas dinâmicas, ou enviar e receber cookies. Talvez a maior e mais significante característica em PHP é seu suporte a uma faixa muito ampla de bancos de dados. Escrever uma página Web baseada em um banco de dados é muito simples. Os seguintes bancos de dados são atualmente suportados: Adabas D, Interbase, Solid, Dbase, mSQL, Sybase, Empress, MySQL, Velocis, FilePro, Oracle, Unix dbm, Informix, PostgreSQL. PHP também tem suporte a comunicação para outros serviços usando protocolos tais como IMAP, SNMP, NNTP, POP3, ou mesmo HTTP. Você pode também abrir sockets de rede e interagir usando outros protocolos. Um exemplo de um script dinâmico que imprime a data atual está a seguir:

Script de exemplo

Bem-vindo ao script de exemplo: Hoje é: $hoje.";

o sinal "?>" seguinte indica o fim do script

Assumindo que hoje é dia 06 de maio de 2000, a saída do script acima seria:

Bem-vindo ao script de exemplo:

Hoje é: 2000-05-06.

Alguns pontos a considerar:

  1. Todos os comandos PHP3.0 devem ser envolvidos pelas tags . Uma segunda maneira de denotar comandos PHP é envolvendo-os nas tags ;
  2. Todas as sentenças de saída para a tela devem ser envolvidas por aspas (“) e conduzidas pelos comandos print ou echo;
  3. Quase todos os comandos PHP3.0 terminam com um ponto-e-vírgula;
  4. Todo comando HTML dentro do comando print será executado normalmente pelo browser e desempenhará sua função usual;
  5. Documentos incluindo código PHP devem ser salvos com a extensão .php ou .php3, isto informará ao interpretador PHP3.0 para executar os comandos encontrados dentro das tags . É possível também utilizar extensões diferentes do padrão, mas isso acarretará o uso das tags no sentido de informar ao servidor Web que é o interpretador PHP3.0 que se encarregará de executar o script , já que isto não pode ser identificado pela extensão do arquivo;
  6. A função date apresentada no script acima é uma das milhares de funções que o PHP disponibiliza, ela tem o formato: string date (string formato, int timestamp);, ou seja, retorna um string e aceita dois parâmetros: o tipo de formato a ser aprensentado e um valor timestamp^1 de data opcional (quando omitido, como no nosso caso, considera a data atual). Uma grande característica de PHP3.0 é a capacidade de construção de templates HTML, que são muito úteis quando se está desenvolvendo um site com muitas páginas. Isso é possível através do comando include que permite a inserção de código, provindo de um arquivo separado, dentro de um documento HTML. Desta maneira é possível estabelecer, por exemplo, um arquivo de rodapé num arquivo chamado rodape.txt que aparecerá em várias páginas sem precisar reescrever o código, apenas utilizando o comando include, como segue:

(^1) Timestamp é um formato especial de data, geralmente usado em sistemas UNIX, ele

armazena sob a forma de um número inteiro, os segundos, minutos, horas, dia, mês e

ano de uma data. Sendo que a cada segundo ele incrementa o seu valor, tornando

simples a manipulação de data a partir de operadores como soma, subtração etc.