Você está na página 1de 9

Banco de Dados

Principais Comandos SQL Usados no MySql

O que um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) o conjunto de programas de computador (softwares) responsveis pelo gerenciamento de uma base de dados. O principal objetivo retirar da aplicao cliente a responsabilidade de gerenciar o acesso, manipulao e organizao dos dados. O SGBD disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados. O que o Mysql? um servidor de bancos de dados SQL (Structured Query Language - Linguagem Estruturada para Pesquisas) muito rpido, multitarefa e multi-usurio. O MySQL foi desenvolvido pela TCX em 1996. Atualmente a MySQL AB(companhia dos fundadores e principais desenvolvedores) desenvolve o programa. Eles criaram-no porque precisavam de um banco de dados relacional que pudesse tratar grandes quantidades de dados em mquinas de custo relativamente barato. O MYSQL um dos bancos de dados relacionais mais rpidos do mercado, apresenta quase todas as funcionalidades dos grandes bancos de dados . executado principalmente nos sistemas que utilizam a tecnologia UNIX, embora tambm funcione com outros S.O.s, o Windows por exemplo. Suas principais caractersticas:
Professor Victor Sotero

Banco de Dados

Multi-plataforma Utiliza padro ANSI/ISO SQL Open Source (GPL ou Comercial License) Rpido, confivel, e fcil de usar Suporte a operadores e funes Trabalha com bancos de dados enormes(mais de 60.000 tabelas e 5 milhes de registros) At 32 ndices por tabela (composto de 1 a16 colunas) Mensagens em vrios idiomas Escolha de codificao para gravar dados API's em vrias linguagens (p.e. C, C++, Eiffel, Java, Perl, PHP, Python, Ruby e Tcl) O mySql gratuito? O MySQL regido pela licena GPL, portanto open source. Muitas pessoas confundem "free" com "grtis" o que comum aqui no Brasil. Mas em se tratando de software este "free" de open source e no gratuito. Para poder utilizar o MySQL sob a licena GPL e no precisar pagar, o produto desenvolvido precisa ser GPL tambm. Introduo

Iniciando com o Mysql Um comando normalmente consiste de uma instruo SQL


Professor Victor Sotero

Banco de Dados

seguida por um ponto e vrgula(;). Um comando no necessita estar todo em uma nica linha, ento comandos extensos que necessitam de vrias linhas no so um problema. O mysql determina onde sua instruo termina atravs do ponto e vrgula terminador, e no pelo final da linha de entrada. Comandos SQL Mostrar todos os bancos de dados j criados dentro do MySQL. Show databases; Abrindo(conectando a um banco de dados Use [nome do banco de dado]; Ex.: use escola; Criando um banco de dados. Create database [nome do banco]; Ex.: create database faculdade; Apagando um banco de dados. Drop database [nome do banco]; ex: drop database farmacia; Apagando tabelas; drop table [nome da tabela]; ex: drop table produtos; Mostrando as tabelas j existentes dentro do banco selecionado. Show tables; Mostrando as colunas(atributos) de uma tabela. Show columns in [nome da tabela]; ou desc [nome da
Professor Victor Sotero

Banco de Dados

tabela]; Ex.: show columns in aluno; ou desc aluno; Criando tabelas. create table nome_da_tabela ( campo1 tipo_do_campo, campo2 tipo_do_campo ); Ex.: create table empregado( codigo int not null, nome varchar(45) not null, data_nasc date not null, cpf int not null); Observem que utilizamos um comando not null. Esse comando serve para especificar que no podemos aceitar valores nulos dentro daquele campo. Cada coluna(atributo) a ser criado, deve ser separado por um vrgula na hora de sua criao. Observem tambm os tipos de dados referentes a cada coluna especfica, podemos limitar o tamanho de uma varchar, no nosso exemplo limitamos ao tamanho de 45 caracteres. Ns tambm podemos criar tabelas com chave primria, alis essa uma ideia crucial na criao de um banco de dados correto.

Professor Victor Sotero

Banco de Dados

Observe que agora foi utilizado uma clusula AUTO_INCREMENT, isso se faz necessrio quando utilizado em um campo que seja chave primria, pois assim garante que esse campo, seja incrementado automaticamente. Criando tabelas com chave estrangeiras.

Obs.: para criar uma chave estrangeira, preciso que a mesma j tenha sido criada na sua tabela original como chave primria. Inserindo valores. Levando em considerao que foi criado uma tabela disciplina, e que a mesma contm os seguintes atributos: codigo, nome e carga_horaria.
Professor Victor Sotero

Banco de Dados

Insert into disciplina values(10,'Banco de Dados',120); outro exemplo insert into disciplina(nome,carga_horaria) values('Programacao',120); Observem que nesse segundo exemplo, eu selecionei os campos no qual eu gostaria de inserir os valores. No selecionei o campo cdigo, pois o mesmo ser incrementado automaticamente. Ns podemos tambm utilizar comandos para consultar dados dentro de uma tabela, isso feito atravs do comando select. Selecione tudo da tabela cliente. Select * from cliente; O asterisco representa dos os campos da tabela cliente. Podemos tambm selecionar campos especficos de uma tabela. Ex: Mostrar somente o nome e a carga horria da tabela disciplina. Select nome,carga_horaria from cliente; Voc tambm pode utilizar operadores: =, <, >, <=, >= e !=. Ex: Mostrar o nome das disciplinas que tenham carga horria igual a 80. select nome from disciplinas where carga_horaria=80; A clusula where significa ONDE. Outros exemplos:
Professor Victor Sotero

Banco de Dados

Mostrar o nome e codigo dos clientes que tenham codigo maior ou igual a 100. select codigo,nome from clientes where codigo>=100; Mostrar os nomes dos empregados que ganham menos de 1000. select nome from empregados where salario<1000; Alm dos operadores de comparao, ns tambm podemos utilizar os operadores lgicos, que so: and e or. Exemplo: Mostrar o cdigo e nome das disciplinas que tenham codigo maior que 20 e tambm tenha carga horria igual a 120. select codigo,nome from disciplinas where codigo>20 and carga_horaria=120; Mostrar os nomes e codigos dos clientes que tenham nome igual a Carla ou codigo menor que 30. select codigo,nome from clientes where (nome='Carla') or (codigo<30); Mostrar os codigos, nomes e durao dos filmes que tenham durao menor que 90 minutos e tambm tenham o gnero comdia. Select codigo,nome,duracao from filmes where duracao<90 and genero='Comedia'; Mostrando o resultado em ordem alfabtica.
Professor Victor Sotero

Banco de Dados

Exemplo: mostre os nomes dos alunos que no tenham cpf em ordem alfabtica. Select nome from aluno where cpf=null order by nome; Ns tambm podemos utilizar operadores aritmticos: +, -, / e *. Exemplo: Mostrar os nomes dos vendedores juntamente com seus salrios multiplicados por 2. select nome, salario=(salario*2) from vendedor; Muitas vezes se faz necessrio mostrar o maior ou menor valor dentro de uma coluna, para isso ns utilizamos o MAX(maior) e o MIN(menor). Exemplo: mostre o maior e menor salrio dos vendedores. Select max(salario),min(salario) from vendedor; Mostrar o somatrio de uma coluna(SUM). Exemplo: Selecione a quantidade total pedida para o produto 'LEITE', cujo cdigo igual a 78 na tabela pedido. Select sum(quantidade) from item_pedido Algumas vezes poderemos mostrar a mdia dentro de alguma tabela, usamos ento a funo AVG. Exemplo: Qual a mdia dos salrios dos funcionrios? Select avg(salario) from funcionarios; Exemplo2: Qual a mdia das vendas do produto
Professor Victor Sotero

Banco de Dados

'REFRIGERANTE' de cdigo 200? select avg(valor) from vendas where codigo=200; Podemos mostrar tambm a quantidade de vezes que determinada coisa acontece dentro de uma tabela. Exemplo: Mostrar a quantidade de alunos que tem matricula maior que 200. select count(*) from aluno where matricula>200; Exemplo2: Mostrar a quantidade de alunos que no tm CPF. Select count(*) from aluno where cpf=null; Ns tambm podemos fazer um select que no mostre valores repetitivos dentro de uma tabela. Exemplo: Mostrar todos os clientes sem repetio de nomes. Select distinct nome from clientes; Por enquanto at a prova, s ser necessrio utilizar esses comandos.

Professor Victor Sotero

Você também pode gostar