APOSTILA BÁSICA DE MYSQL



Documentos relacionados
BANCO DE DADOS II. AULA MySQL.

MySQL. Prof. César Melo. com a ajuda de vários

DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS.

Prof. Carlos Majer Aplicações Corporativas UNICID

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

PHP INTEGRAÇÃO COM MYSQL PARTE 1

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Banco de Dados SQL (Structured Query Language) Ana Paula Toome Wauke

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Principais Comandos SQL Usados no MySql

Trabalhando com MySQL: Uma Introdução

Redes de Computadores

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC DR. EMILIO HERNANDEZ AGUILAR

Conteúdo O que é?... 4 Histórico... 4 Onde Baixar?... 4 Diferença entre Firebird e o Interbase... 4 Como instalar?... 4 Instalando o Ibexpert...

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

ETEC Dr. Emílio Hernandez Aguilar. Manual Simplificado: MySQL

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

SQL. Autor: Renata Viegas

- O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de ferramentas gráficas.

O essencial do comando mysqladmin, através de 18 exemplos

Minicurso3 Introdução ao Banco de Dados MySQL

A linguagem SQL

Disciplina: Unidade V: Prof.: Período:

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Introdução à linguagem SQL

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Treinamento sobre SQL

SQL Structured Query Language

O que são Bancos de Dados?

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL)

MySQL: Controle de Acesso

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

Transações Seguras em Bancos de Dados (MySQL)

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel


Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Programação SQL. Introdução

Noções de. Microsoft SQL Server. Microsoft SQL Server

Segurança de Acesso a Banco de Dados no MS SQL Server

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Projeto de Banco de Dados: Empresa X

Operação de União JOIN

1. Domínio dos Atributos

Passos Preliminares: Acessando a máquina virtual via ssh.

Modelo Cliente/Servidor Por HIARLY ALVES

Iniciando o MySQL Query Brower

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr

Gerência de Banco de Dados

Aula 1 Acesso a Banco de Dados

MySQL - Operações com SQL básico

Administração de Usuários e Privilégios no Banco de Dados

Modelagem de banco de dados com MySQL Workbench

Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

Banco de Dados. Maurício Edgar Stivanello

CRIANDO, ALTERADO E EXCLUINDO TABELAS, INSERINDO, SELECIONANDO, ALTERANDO E EXCLUINDO DADOS

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Python Acessando o Banco de Dados MySQL

Segurança de Dados no PostgreSQL

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Apostila Delphi V 1.0

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

Comandos de Manipulação

Manipulação de Banco de Dados com Java 1. Objetivos

JDBC Java Database Connectivity

INSTALANDO E CONFIGURANDO O MY SQL

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Introdução ao Sistema. Características

Linguagem SQL (Parte I)

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

Curso PHP Aula 08. Bruno Falcão

A criação de utilizadores no MySQL pode passar pela utilização de dois comandos: - Create user; - Grant;

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de

Persistência de Classes em Tabelas de Banco de Dados

Gatilhos (Triggers) Prof. Márcio Bueno Elaborado por Maria Lígia B. Perkusich

Persistindo dados com TopLink no NetBeans

s editores de s Como configurar contas de nos principais Como configurar contas de s nos principais editores de s

Transcrição:

APOSTILA BÁSICA DE MYSQL

História 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 400 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 de licenças livres. No dia 20 de Abril de 2009 a Oracle compra a Sun Microsystems e todos o seu produtos, incluindo o MySQL. 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.

A Estrutura Um banco de dados nada mais é do que uma hierarquia de estruturas de dados complexas. Em MySQL, como em muitos outros bancos de dados, o conceito da estrutura que mantém os blocos (ou registros) de informações é chamado de tabela. Estes registros, por sua vez, são constituídos de objetos menores que podem ser manipulados pelos usuários, conhecidos por tipos de dados (datatypes). Juntos, um ou mais datatypes, formam um registro (record). Uma hierarquia de banco de dados pode ser considerada como: Banco de dados > Tabela > Registro > Tipo de dados. Os tipos de dados possuem diversas formas e tamanhos, permitindo ao programador criar tabelas específicas de acordo com suas necessidades. MySQL provê um conjunto bem grande de tipos de dados, entre eles:!" CHAR(M): strings de tamanho fixo entre 1 e 255 caracteres;!" VARCHAR(M): strings de tamanho flexível entre 1 e 255 caracteres. VARCHAR ocupa sempre o menor espaço possível, no entanto é 50% mais lento que o tipo CHAR; 5!" INT(M) [Unsigned]: números inteiros entre -2147483648 e 2147483647. A opção "unsigned" pode ser usada na declaração mudando o intervalo para 0 e 4294967295 para inteiros nãosinalizados;!" 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.

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, 6 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. 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 7 uma_tabela values(1,2); ), criar bancos de dados ( create uma_bd; ), criar tabelas ( create table teste(id int, descricao varchar(50)); ), mostrar tabelas do banco de dados selecionado ( show tables; ), descrever a estrutura de uma tabela ( describe uma_tabela; ou show columns from uma_tabela; ), remover tabelas ( drop table teste; ) e outros comandos SQL comuns à manipulação e controle de bancos de dados. O comando para desconectar-se do ambiente é quit.

Como usá-lo? O Mysql é um serviço, com ele instalado é possível criar o banco de dados através do Prompt de comando (DOS), mas se você preferir criar seu banco de dados através de uma interface gráfica será necessária a instalação de uma ferramenta para realizar essa tarefa, ferramentas como o Mysql Front e o Yog. Abaixo será mostrado como proceder para entrar efetivamente no mysql, e assim começar a fazer seu banco de dados: Através do Prompt de comando: Execute o Prompt de comando; Dentro dele digite os seguintes comandos: cd \ cd mysql cd bin cd mysql u root Veja:

* root é o nome do usuário padrão

Agora veja como entrar através da interface gráfica (No caso mysql front): *Coloque o nome de sua preferência; * Nesta aba a única coisa que você vai inserir é o numero 127.0.0.1 no campo servidor, isso quer dizer que você conectará o banco no ip do seu computador.

*Insira em usuário o nome do usuário padrão,ou seja, root por padrão esse usuário vem sem senha, então é necessário inserir apenas o nome root no campo do usuário. *Nesta aba não é preciso fazer nenhuma modificação; clique em OK.

Clique novamente em OK. Tela principal do mysql Front:

Abaixo será mostrado o exemplo de como criar, alterar e excluir um banco de dados através do Prompt de comando:

[shell]$ mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 3.22.25 Type 'help' for help. mysql> show databases; Database mysql test 2 rows in set (0.00 sec) mysql> create database Curso; Query OK, 1 row affected (0.00 sec) mysql> show databases; Database Curso mysql test 3 rows in set (0.00 sec) mysql> use Curso; Database changed mysql> create table Aluno ( -> ID int not null auto_increment primary key, -> Nome varchar(40), -> Email varchar(30), -> DataNasc date, -> Matricula char(9) ); Query OK, 0 rows affected (0.00 sec) mysql> show tables; 8 +-----------------+ 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; 9 +----+-----------+ 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.25 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) 10 mysql> drop table Aluno; Query OK, 0 rows affected (0.00 sec) mysql> drop database Curso; Query OK, 0 rows affected (0.00 sec) mysql> show databases; Database mysql test 2 rows in set (0.00 sec) mysql> quit Bye

No exemplo acima foram utilizados o seguintes comandos: Create Utilizado para criar o banco ou as tabelas; Use Para utilizar o Banco; Show Utilizado para mostrar todas as tabelas ou todos os bancos; Desc- Mostra todos campos que estão dentro da tabela; Alter Utilizado para alterar dados; Add Adiciona um novo campo; Drop Deleta um campo, um banco ou tabela Insert Utilizado para inserir dados nos campos da tabela ; Select*from Seleciona todos elementos da tabela; Select Seleciona determinados campos da tabela; Delete Utilizado para apagar dados inseridos na tabela; Update Utilizado para atualizar dados que foram inserido nos campos da tabela; Quit Utilizado para encerrar o programa.