Você está na página 1de 6

1

A SQL(Structured Query Language)


A linguagem SQL utilizada para oferecer uma comunicao programvel com as fontes de dados padro
ODBC e OLEDB. Esta seo mostra exemplos sobre a utilizao de alguns comandos SQL. Estes
comandos podem ser atribudos a variveis e utilizados em conjunto com os objetos do componente
ADO(ActiveX Data Object).
A tabela abaixo mostra uma descrio de algumas instrues em SQL organizadas por clusulas e
comandos. Para maiores informaes consulte Exemplos de instrues SQL posteriormente.
INSTRUO
SET

TIPO
clusula

DESCRIO
Especifica a coluna(campo) e os valores que sero mudados na tabela do

ORDER BY

clusula

banco de dados
Classifica uma ou mais colunas(campos0 em ordem crescente(ASC) ou

WHERE

clusula

decrescente(DESC)
Determina(m) qual(is) linha(s), isto , registro(s) que ser(o) atualizado(s) no
banco de dados. A clusula where pode utilizar operadores de comparao,
Intervalos, Listas e Lgicos. Estes operadores podem ser utilizados de forma

UPDATE
SELECT
FROM
INSERT

comando
comando
comando

isolada ou em conjunto.
Muda uma nica linha ou um grupo de registros em uma tabela
Especificar quais colunas(campos) do banco de dados voc deseja utilizar
Especificar as tabelas onde as colunas(campos) esto armazenados
Inserir linhas de informao, isto , registros no banco de dados com a
palavra chave VALUES. A palavra-chave INTO possibilita especificar quais

LIKE

clusula

colunas sero utilizadas


Seleciona registros que atendam uma parte do valor especficado na srting.
Exemplo: para selecionar todos os produtos que comecem pela letra A voc

DELETE

Comando

pode utilizar LIKE 'A%'


Deletar

Operadores de Comparao
Voc pode utilizar os operadores de comparao juntamente com a clusula WHERE. Atravs dos
operadores voc pode criar poderosas expresses para filtrar os dados de acordo com a necessidade da
sua aplicao.
=
>
<
!>
%

Igual a
Maior do que
Menor do que
No maior do que
Todos caracteres

>=
<=
<>
!<
_

Maior ou Igual a
Menor ou igual a
Diferente
No menor do que
Um caracter

Operadores Lgicos
Voc pode utilizar os operadores lgicos AND e OR em conjunto com a clusula WHERE.

Exemplos de instrues SQL


As tabelas abaixo mostram rotinas em SQL utilizadas em consultas, atualizao, Excluso e insero de
informaes nos campos dos bancos de dados.
Importante: Voc pode utilizar o programa Microsoft Query para testar os exemplos abaixo. Para iniciar o
programa Microsoft Query localize e abra o arquivo Msqry32.exe.
Utilizando a clusula SELECT para todos os campos.

CONSULTAR

select * from tblprodutos


Utilizando a clusula SELECT para alguns campos
select nmprodutodb,pvprodutodb from tblprodutos
Utilizando a clusula SELECT com ORDER BY
select * from tblclientes order by nmclientedb asc
Utilizando a clusula SELECT com WHERE e operadores de comparao
select * from tblclientes where ufclientedb = PR
Utilizando a clusula SELECT com WHERE e operadores de comparao e Lgicos
select * from tblprodutos where pvprodutodb >0 and pvprodutodb <=50
Importante: O smbolo (*) indica que a instruo select vai buscar as informaes de todos os campos do
banco de dados. Voc pode substituir o smbolo do * pelo(s) nome(s) do(s) campo(s) do banco de dados
que voc deseja consultar.
Utilizando a clusula UPDATE e SET

ATUALIZAR

update tblclientes set cepclientedb = 81020500


Utilizando a clusula UPDATE e SET com WHERE e operadores de comparao
update tblclientes set ufclientedb = PR where ufclientedb = SC
Utilizando a clusula UPDATE e SET com WHERE, operadores de comparao e operadores
lgicos
update tblclientes set ufclientedb = PR where ufclientedb = SC and
sxclientedb = masculino
Utilizando a clusula UPDATE e SET com operadores aritimticos
update tblprodutos set pvprodutodb = pvproduto + (pvprodutodb * 0.60)

Os exemplos abaixo mostram como excluir informaes de uma ou mais tabelas do banco de dados.

APAGAR

Utilizando a clusula DELETE


delete cepclientedb from tblcliente
Utilizando a clusula DELETE com WHERE
delete * from tblclientes where ufclientedb = SC
Utilizando a clusula DELETE e WHERE com operadores de comparao e operadores lgicos
delete * from tblclientes where ufclientedb = SC and sxclientedb =
masculino
Os exemplos abaixo mostram como inserir informaes em uma tabela do banco de dados atravs da
clusula INSERT INTO

3
Utilizando a clusula INSERT
insert

tblclientes

values

(Ana

Cludia,Rua

das

Flores,

900,81020030,ana@linda.com.br)

INSERIR

Utilizando a clusula INSERT INTO


insert

into

tblclientes

(nmclientedb,enclientedb,cepclientedb,emclientedb)

values (Ana Cludia,Rua das Flores, 900,81020030,ana@linda.com.br)

Utilizando a clusula INSERT INTO e SELECT

Importante: Para adicionar textos que contenham apstrofos, utilize o smbolo () apstrofo 2 vezes.
Exemplo: Marca Dgua deve ser inserido como Marca Dgua

Utilizando o My-Sql 3.2.3


O MySql um sistema de banco de dados servidor, isto , alm de controlar diversos arquivos
de bancos de dados e seus componentes, o My sql controla os usurios e suas permisses de
acesso aos componentes dos bancos de dados. Para criar um banco de dados no MySql voc
deve se conectar ao banco de dados e, em seguida, utilizar comandos da linguagem SQL a
partir do console do programa para criar e ativar o banco de dados e, em seguida, criar as
tabelas contendo os campos.

Conectando/Desconectando o MySql
1. Acesse o prompt do ms-dos e, em seguida, digite c:\mysql\bin\mysql. Por fim pressione
ENTER
D:\>mysql\bin\mysql -u root -p
Enter password:******
Welcome to the MySQL monitor.

Commands end with ; or \g.

Your MySQL connection id is 4 to server version: 3.23.44-maxdebug


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Importante: Algumas instalaes do MySql permitem aos usurios se conectares como
usurios annimos quando esto utilizando o servidor no computador local. Se este o seu
caso ento para se conectar ao MySql basta digitar: \mysql\bin\mysql e, em seguida, pressionar
ENTER.
2. Para finalizar o MySql, na linha de comando mysql>, digite quit e, em seguida, pressione
ENTER.
mysql> quit
Bye

Criando e abrindo um banco de dados


Para criar um banco de dados no MySql voc deve:
1. no prompt do MySql, digite CREATE DATABASE nome_do_banco_de_dados e, em
seguida, pressione ENTER
mysql> CREATE DATABASE empresaxyz;
Query OK, 1 row affected (0.11 sec)
Importante: O MySql gera 03 arquivos para gerenciamento do banco de dados. A tabela
abaixo descreve cada um desses arquivos:

5
Arquivo
produtoxyz.frm
produtoxyz.MYI
produtoxyz.MYD

Descrio
Layout das tabelas
Dados das tabelas
Arquivo de Indice

Para abrir um banco de dados voc deve:


1. na linha de prompt do MySql, digite USE nome_do_banco_de_dados
mysql> USE empresaxyz;
Database changed

Criando tabelas e campos


Antes de criar as tabelas e os campos do banco de dados voc precisa conhecer os comandos
SQL que definem o tipo de dados e as propriedades dos campos.

Para definir um campo com o tipo texto voc utiliza o comando CHAR(qte) aonde qte
o tamanho do campo fixo. Voc ainda pode utilizar o comando VARCHAR(qte) aonde
qte o tamanho do campo no fixo.

Para definir um campo com o tipo de dados numrico e inteiro utilize o comando
INT(qte) aonde qte corresponde ao tamanho do campo

Para definir um campo numrico com casas decimais utilize

o comando

DOUBLE(qte,decimais) aonde qte corresponde ao tamanho do campo e decimais


corresponde a quantidade de casas decimais

Para criar campos do tipo data ou hora utilize o comando DATE

Para definir um campo como chave primria da tabela utilize o comando PRIMARY
KEY(campo1, campo2) aonde campo1 e campo2 correspondem aos nome dos campos

Para evitar que um campo tenha preenchimento zero utilize o comando UNSIGNED
ZERFILL

Para

definir

um

campo

com

numerao

automtica

utilize

comando

AUTO_INCREMENT

Para definir um valor padro para o campo utilize o comando DEFAULT valor aonde
valor corresponde ao valor gravado por padro no banco de dados.

Para criar uma tabela dentro do banco de dados voc deve:


1. No prompt do MySql, digite CREATE TABLE nome_da_tabela (campo tipo, campo tipo..)
mysql>

CREATE TABLE produtoxyz (idprodb SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,

-> coprodb CHAR(20) UNSIGNED ZEROFILL DEFAULT 000 NOT NULL,


-> nmprodb VARCHAR(100) NOT NULL,
-> ctprodb VARCHAR(20) NOT NULL,
-> qtprodb DOUBLE(10,2) NOT NULL,
-> pcprodb DOUBLE(10,2) NOT NULL,
-> pvprodb DOUBLE(10,2) NOT NULL,

6
-> mgprodb DOUBLE(10,2) NOT NULL,
-> obprodb VARCHAR(200) NOT NULL,
-> PRIMARY KEY(idprodb));
Query OK, 0 rows affected (0.44 sec)
Importante: Para visualizar as tabelas do banco de dados utilize o comando SHOW
nome_da_tabela

Para exibir a estrutura da tabela


1. No prompt do MySql digite DESCRIBE nome_da_tabela
mysql> DESCRIBE produtoxyz;
Field
Type
idprodb
smallint(5) unsigned
coprodb
varchar(20)
nmprodb
varchar(100)
ctprodb
varchar(20)
qtprodb
double(10,2)
pcprodb
double(10,2)
pvprodb
double(10,2)
mgprodb
double(10,2)
obprodb
varchar(200)
9 rows in set (0.22 sec)

Null

Key
PRI

Default
NULL

0.00
0.00
0.00
0.00

Extra
auto_increment