disciplinas do curso informática ênfase gestão de

Propaganda
DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE
NEGÓCIOS.
PROFESSOR: DOUGLAS DUARTE
DISCIPLINA: LPBD
5º SEMESTRE – AULA 02
MYSQL
O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a
linguagem SQL (Structured Query Language - Linguagem de Consulta Estruturada)
como interface. É atualmente um dos bancos de dados mais populares, com mais
de 10 milhões de instalações pelo mundo.
Entre os usuários do banco de dados MySQL estão: NASA, Banco Bradesco,
Dataprev, HP, Nokia, Sony, US. Federal Reserve Bank, Associated Press, Alcatel,
Cisco Systems e outros.
O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan
Larsson e Michael "Monty" Widenius, que têm trabalhado juntos desde a década de
1980. Hoje seu desenvolvimento e manutenção empregam aproximadamente 70
profissionais no mundo inteiro, e mais de mil contribuem testando o software,
integrando-o a outros produtos, e escrevendo a respeito dele.
No dia 16 de Janeiro de 2008, a MySQL AB, desenvolvedora do MySQL foi adquirida
pela Sun Microsystems, por US$ 1 bilhão, um preço jamais visto no setor das
licenças livres.
O sucesso do MySQL deve-se em grande medida à fácil integração com o PHP
incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da
Internet oferecidos atualmente. Empresas como Yahoo! Finance, MP3.com,
Motorola, NASA, Silicon Graphics e Texas Instruments usam o MySQL em
aplicações de missão crítica. A Wikipédia é um exemplo de utilização do MySQL em
sites de grande audiência.
O MySQL hoje suporta Unicode, Full Text Indexes, replicação, Hot Backup, GIS,
OLAP e muitos outros recursos.
Características
•
•
•
•
•
•
Portabilidade (suporta praticamente qualquer plataforma atual);
Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de interface
para diversas linguagens de programação, como Delphi, Java, C/C++,
Python, Perl, PHP, ASP e Ruby)
Excelente desempenho e estabilidade;
Pouco exigente quanto a recursos de hardware;
Facilidade de uso;
É um Software Livre com base na GPL;
•
•
•
•
•
•
•
Contempla a utilização de vários Storage Engines como MyISAM, InnoDB,
Falcon, BDB, Archive, Federated, CSV, Solid...
Suporta controle transacional;
Suporta Triggers;
Suporta Cursors (Non-Scrollable e Non-Updatable);
Suporta Stored Procedures e Functions;
Replicação facilmente configurável;
Interfaces gráficas ([MySQL Toolkit]) de fácil utilização cedidos pela MySQL
Inc.
Vantagens
Outra grande vantagem é ter código aberto e funcionar em um grande número de
sistemas operacionais : Windows, Linux, FreeBSD, BSDI, Solaris, Mac OS X,
SunOS, SGI, etc.
É reconhecido pelo seu desempenho e robustez e também por ser multitarefa e
multi-usuário. A própria Wikipédia, usando o programa MediaWiki, utiliza o MySQL
para gerenciar seu banco de dados, demonstrando que é possível utilizá-lo em
sistemas de produção de alta exigência e em aplicações sofisticadas.
No passado, devido a não possuir (até a versão 3.x) funcionalidades consideradas
essenciais em muitas áreas, como stored procedures, two-phase commit,
subselects, foreign keys ou integridade referencial, era frequentemente considerado
um sistema mais "leve" e para aplicações menos exigentes, sendo preterido por
outros sistemas como o PostgreSQL.
Para testar se o MySQL esta instalado corretamente , execute a seguinte linha no
prompt do DOS:
c:\mysql\bin\mysql
Se tudo estiver nos seus devidos lugares você vai receber a seguinte tela:
Vamos então a partir daqui mostrar alguns conceitos básicos relacionados com
comandos SQL para o MySQL no Windows usando o prompt de comandos. Embora
existam programas com interfaces gráficas que fazem este serviço acho bom você
conhecer esta opção. Vamos lá...
Os comandos serão digitados na linha de comando ; após o termino de cada linha
tecle Enter e para executar o comando tecle ; e Enter.
1- Para exibir os bancos de dados disponíveis use o comando : Show DataBases
O resultado do comando esta
exibindo os três bancos de dados
que eu tenho disponível no meu
MySQL
Nota: O comando Select
Database(); exibe o database
atual.
2- Agora eu vou criar um novo banco de dados chamado Teste usando o comando
: Create Database e a seguir irei exibir os banco de dados existentes , conforme
abaixo:
3- Para trabalhar com um banco de dados usamos o comando : Use
<nome_do_banco_de_dados> . Vamos usar o banco de dados Teste e exibir as
tabelas existentes usando o comando Show Tables:
O comando Show tables não encontrou nenhuma tabela
no banco de dados Teste
Nota: Para excluir um banco de dados use comando : DROP DATABASE
<nome_do_banco_de_dados>
4- Vamos criar uma tabela no banco de dados Teste. Para isto usamos o comando
Create Table com a seguinte sintaxe:
CREATE TABLE table_name (column_name1 type [modifiers]
[, column_name2 type [modifiers]])
Vamos criar uma tabela chamada Clientes com seguinte estrutura:
•
•
•
•
Codigo - chave primária
Nome - VarChar(30)
Endereco - VarChar(30)
Estado - char(2)
nota: Para definir a coluna como do tipo autoincremental basta acrescentar
:AUTO_INCREMENT na definição da coluna. Para o exemplo acima faríamos:
CODIGO BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT
5- Para inserir dados na tabela usamos o comando Insert Into :
INSERT INTO table_name (column1, column2, ..., columnN)
VALUES (value1, value2, ..., valueN)
Vamos inserir um registro na tabela usando a instrução SQL abaixo:
INSERT INTO CLIENTES (Codigo,Nome, endereco, estado)
VALUES(1,'Macoratti', 'Av. Mirassol 100', 'SP');
6- Se quisermos obter informações detalhadas da estrutura da tabela usamos o
comando : DESCRIBE <NOME_DA_TABELA>
Nota: Temos abaixo os principais tipos de dados
Tipo de
Dados
Descrição
INT
Representa um valor inteiro. Pode ser com sinal ou sem sinal
REAL
Representa um valor com ponto flutuante. Oferece uma grande
precisão e uma extensa faixa de valores
CHAR(n)
Representa um valor caractere com tamanho fixo.
TEXT
Representa um valor para caractere com tamanho variável
DATE
Representa um valor de data padrão. Formato : YYYY-MM-DD (200101-01)
TIME
Representa um valor de tempo padrão. Armazena a hora de um dia
independente de uma data particular. Formato : hh:mm:ss (06:00:00)
7- Para excluir uma tabela basta usar o comando DROP <nome_da_tabela>
8- Para atualizar uma coluna podemos usar o comando : UPDATE . Abaixo uma
das sintaxes possíveis onde atualizamos a coluna Endereco.
A sintaxe para o
comando UPDATE é :
UPDATE
table_name
SET
column1=value1,
column2=value2,
...,
columnN=valueN
[WHERE clause]
9 - Para excluir uma linha da tabela usamos o comando DELETE . Abaixo estou
excluindo a linha inserida acima . Note que é aconselhável especificar a condição na
cláusula WHERE.
A sintaxe é :
DELETE FROM table_name
[WHERE clause]
10 - Para encerrar este primeiro contato com as operações básicas SQL no MySQL
vamos realizar uma junção de duas tabelas. Para isto vamos criar uma tabela
chamada veículos que estará relacionada coma tabela teste criada acima e conterá
os dados dos veículos de cada cliente:
Exibindo as tabelas existentes e a estrutura da tabela criada teremos:
Vamos agora incluir alguns dados na tabela teste e na tabela veículos usando
INSERT INTO.
Obs.: Podemos usar a notação Insert Into values() : Ex: insert into veiculos
values( 1, 'MERCEDES', 'BRANCA', 1, 3000)
Abaixo temos o resultado final das inclusões:
Vamos fazer a nossa junção. Usamos para isto a cláusula SELECT e definimos a
tabela e o nome do campo que desejamos exibir separados por um ponto ; a seguir
relacionamos as tabelas de dados na cláusula FROM e definimos a condição na
cláusula WHERE .
O resultado é exibido abaixo:
O que foi mostrado aqui é apenas a ponto do iceberg , mas com os conceitos
expostos você pode se virar usando comandos SQL básicos na linha de comando do
prompt do MySQL.
Download