UFES – Universidade Federal do Espírito Santo Centro de Ciências Agrárias Departamento de Engenharia Rural Disciplina de Banco de Dados Tutorial MySQL Ativando o MySQL Passo1: Verificar onde (path, caminho) o MySQL está instalado. Figura 1. Diretório de instalação do MySQL Nome do Arquivo MySqld Mysqld-debug Mysqld-nt Mysqld-max Mysqld-max-nt Descrição Trata-se de um arquivo compilado com todas as funcionalidades de servidor, incluindo o gerenciamento da alocação dinâmica de memória e suporte das tabelas. Idêntico ao MySqld; porém inclui checagem e depuração da alocação dinâmica de memória. Trata-se de umarquivo compilado (binário) com os mesmos recursos do mysqld; está otimizado para ser executado nos sistemas operacionais Windows NT/2000/XP. Trata-se de mysqld extendido; isto é, possui todas as funcionalidades do mysqld, com suporte aos tipos de tabelas InnoDb e BDB (Berkeley DB). Igual ao Mysqld-max, porém otimizado para ser executado nos sistemas operacionais Windows NT/2000/XP. Tabela1. Executáveis para SGBD do MySQL. Os arquivos (tipos de servidores) que podem ser executados como SGBD para o MySQL, por default encontram-se localizados na pasta Bin no path (caminho) onde foi instalado o MySQL, como por exemplo: “C:\mysql\bin”. Prof. Antonio Almeida de Barros Junior Pág. 1 UFES – Universidade Federal do Espírito Santo Centro de Ciências Agrárias Departamento de Engenharia Rural Disciplina de Banco de Dados Ao exibir o conteúdo do diretório Bin, encontra-se mais de um tipo de servidor, o qual, deve ser acionado de acordo com as características de ambiente e recursos, conforme mostra a Tabela 1. Passo2: Acionando o SGBD MySQL de forma manual. Primeiramente cancela-se o processamento de qualquer instância do SGBD que eventualmente esteja em execução: Microsoft Windows XP [versão 5.1 2600] © Copyright 1985-2001 Microsoft Corp. C:\WINDOWS>cd \mysql C:\mysql>cd Bin C:\mysql\bin>mysqladmin –uroot –proot shutdown C:\mysql\bin> Onde, Mysqladmin = software utilitário administrador do banco de dados -u = parâmetro indicando o usuário (no exemplo: root) -p = parâmetro indicando a senha (no exemplo: root) Shutdown = comando para encerrar a execução do MySQL. Para acionar o servidor MySQL: C:\WINDOWS>cd \mysql C:\mysql>cd Bin C:\mysql\bin>mysqld-max-nt C:\mysql\bin> Linguagem SQL para MySQL O Departamento de Pesquisas da IBM desenvolveu a linguagem SQL como forma de interface para o sistema de Banco de Dados relacional denominado SYSTEM R, início dos anos 70. Em 1986, a American National Standard Institute (ANSI), publicou o primeiro padrão SQL. A partir daí, a SQL estabeleceu-se como linguagem padrão de Banco de Dados Relacional. Extensões procedurais à SQL Padrão Extensões não procedurais à SQL Padrão SQL Padrão Figura 2. Extensões da SQL. A SQL empregada para uso do MySQL, em parte é compatível com o padrão ANSI SQL 92 e, para alguns casos, o padrão ANSI SQL 99 (stored procedures, views e triggers). Prof. Antonio Almeida de Barros Junior Pág. 2 UFES – Universidade Federal do Espírito Santo Centro de Ciências Agrárias Departamento de Engenharia Rural Disciplina de Banco de Dados Show databases: Mostra os Banco de dados existentes que estão sendo gerenciados pelo SGBD. mysql > show databases; Figura 3. Arquivos de Dados. mysql > use mysql; Database changed mysql > Com o propósito de servir para a administração realizada pelo SGBD, por default, apenas o administrador (root) tem acesso aos bancos criados. mysql – contém tabelas utilizadas para controles de privilégios no acesso aos bancos de dados. information_schema – contém informações estruturais (esquema) de todos os bancos. test – é criado vazio (sem nenhuma tabela) e, não contém utilidade para o SGBD. Prof. Antonio Almeida de Barros Junior Pág. 3 UFES – Universidade Federal do Espírito Santo Centro de Ciências Agrárias Departamento de Engenharia Rural Disciplina de Banco de Dados Criando e excluindo um Banco de Dados no MySQL: Criando tabelas no MySQL: O MySQL representa cada tabela através de um arquivo com extensão .frm, dentro do diretório do banco de dados onde ela foi criada. # The default storage engine that will be used when create new tables when default-storage-engine=INNODB Prof. Antonio Almeida de Barros Junior Pág. 4 UFES – Universidade Federal do Espírito Santo Centro de Ciências Agrárias Departamento de Engenharia Rural Disciplina de Banco de Dados Visualizando índices de tabelas no MySQL: Inserindo, Alterando e Excluindo Dados nas tabelas do MySQL INSERT INTO cliente (CodCliente, Nome) VALUES (1, ‘Antonio’); INSERT INTO cliente (CodCliente, Nome) SELECT CodCliente, Nome FROM Cliente_Backup WHERE Nome LIKE ‘MARIA%’; INSERT INTO Compra SET CodProduto = 212, CodFornecedor = (SELECT CodFornecedor FROM Fornecedor WHERE Nome = ‘Martins’). Valor = 12.2, Quantidade = 3; Agora, vamos considerar que se tenha digitado um arquivo do tipo texto (ascii) de nome dadosprodutos.sql, cujo conteúdo esteja conforme se mostra a seguir: USE Aula01; INSERT INTO Produto (CodProduto, Nome, Estoque) VALUES (1, ‘Prod01’, 0); INSERT INTO Produto (CodProduto, Nome, Estoque) VALUES (2, ‘Prod02’, 0); INSERT INTO Produto (CodProduto, Nome, Estoque) VALUES (3, ‘Prod03’, 0); INSERT INTO Produto (CodProduto, Nome, Estoque) VALUES (4, ‘Prod04’, 0); INSERT INTO Produto (CodProduto, Nome, Estoque) VALUES (5, ‘Prod05’, 0); INSERT INTO Produto (CodProduto, Nome, Estoque) VALUES (6, ‘Prod06’, 0); INSERT INTO Produto (CodProduto, Nome, Estoque) VALUES (7, ‘Prod07’, 0); INSERT INTO Produto (CodProduto, Nome, Estoque) VALUES (8, ‘Prod08’, 0); INSERT INTO Produto (CodProduto, Nome, Estoque) VALUES (9, ‘Prod09’, 0); Cada linha do arquivo dadosprodutos.sql refere-se a um comando INSERT. De posse deste arquivo, pode-se acionar o monitor mysql.exe, de acordo com o exemplo que segue: C:\mysql\bin>mysql –ualuno –paluno < dadosprodutos.sql Prof. Antonio Almeida de Barros Junior Pág. 5 UFES – Universidade Federal do Espírito Santo Centro de Ciências Agrárias Departamento de Engenharia Rural Disciplina de Banco de Dados Uma terceira alternativa para se carregar dados para uma tabela, de forma que não se tenha que executar diversos comandos INSERT é obter os dados a partir de uma fonte externa, através da execução do comando LOAD. Considere um arquivo do tipo texto (ascii) de nome dadoscidade.sql, cujo conteúdo esteja conforme mostra a seguir: 1, ‘Muriaé’, ‘MG’ 2, ‘São Chico’, ‘MG’ 3, ‘Rio de Janeiro’, ‘RJ’ 4, ‘Viçosa’, ‘MG’ 5, ‘Vitória’, ‘ES’ 6, ‘Alegre’, ‘ES’ Referências Tonsig, S.L. MySQL Aprendendo na Prática. Editora Ciência Moderna. Rio de Janeiro, 2006. Prof. Antonio Almeida de Barros Junior Pág. 6