Databases Os objetos que fazem parte de um sistema de banco de dados são criados dentro de um database, uma estrutura lógica responsável por manter a estrutura de tabelas com seus dados. Para criarmos um banco de dados no MySql, utilizamos à instrução: CREATE DATABASE Por exemplo, para criarmos uma base de dados com o nome de DB_ESTUDO, utilizamos a seguinte instrução: CREATE DATABASE DB_ESTUDO. Quando um banco de dados é criado o mesmo encontra-se vazio, até que uma tabela seja inserida, no entanto para criarmos uma tabela no banco de dados precisamos ter acesso a ele, para utilizarmos um banco de dados utilizamos a clausula use, então executaremos a seguinte instrução: USE <NOME DO BANCO DE DADOS>; Seguindo o nosso exemplo a instrução ficaria assim: USE DB_ESTUDO;. Dessa forma, quando for necessário executar alguma instrução em uma determinada base de dados podemos alternar entre as bases utilizando o comando use. Caso seja necessário eliminar uma base de dados, devemos utilizar a instrução drop database. DROP DATABASE <NOME DA BASE DE DADOS>; Conforme o exemplo: DROP DATABASE DB_ESTUDO; Prof. Rudson Kiyoshi S. Carvalho Página 1
Tabelas Uma tabela é um objeto de banco de dados formada por um conjunto de linhas e colunas, cada uma dessas colunas refere-se a um atributo associado a tabela que também chamamos de entidade, os datatypes ou domínio do atributo, ou seja o formato do dado gravado devera ser especificado para cada coluna Para criarmos uma tabela utilizamos a instrução: CREATE TABLE A primeira Tabela Neste exemplo temos uma tabela chamada Tb_Cliente. incod_cli vcnome_cli 1 Marina Farina 2 Edson Mendes 3 Aline Moda 4 Tatiana Souza 5 Cássio Adriano Iremos criá-la em nossa base de dados DB_Estudo para isso caso você tenha excluído a base de dados será necessário recriá-la e utilizar a instrução use para acessarmos a base de dados onde iremos criar nossa primeira tabela. Prof. Rudson Kiyoshi S. Carvalho Página 2
Na base de dados db_estudo executaremos a seguinte instrução: CREATE TABLE Tb_Cliente ( incod_cli int,vcnome_cli varchar(30) ) O comando Insert Para acrescentarmos linhas em uma tabela, é necessário utilizarmos o comando INSERT. insert into tb_cliente values (1,'Marina Farina'); insert into tb_cliente values (2,'Edson Mendes'); insert into tb_cliente values (3,'Aline Moda'); insert into tb_cliente values (4,'Tatiane Souza'); insert into tb_cliente values (5,'Cássio Adriano'); É importante lembrar que os apóstrofos ( ) devem ser utilizados em strings e caracteres, com exceção de dados numéricos; Os valores de cada coluna por sua vez, devem ser separados por vírgulas. A instrução Select Os dados em uma tabela podem ser lidos através da instrução SELECT. Por exemplo, para lermos os dados da tabela Tb_Cliente que criamos utilizamos a instrução: SELECT * FROM Tb_Cliente; O asterisco (*) significa que queremos trazer todas as colunas da tabela Cliente. Caso seja necessário removermos uma tabela do banco de dados, devemos executar a seguinte instrução: DROP TABLE Tb_Cliente; Prof. Rudson Kiyoshi S. Carvalho Página 3
A segunda Tabela Agora, devemos criar a tabela cliente com diferentes dados, com e-mail e endereço, de modo que ela seja exibida da seguinte maneira: incod_cli vcnome_cli vcend_cli chfone_cli vcemail_cli 1 Marina Farina R Campos, 299 3211-1563 mari@blue.com 2 Edson Mendes Av. Paulista, 277 5125-2000 emendes@tree.com 3 Aline Moda Al. Santos, 512 4116-1518 amoda@estilo.com 4 Tatiana Souza Av. Rebouças, 15 9985-0965 tsouza@comp.com 5 Cássio Adriano Av. 9 de julho, 60 5465-1358 cadriano@tetra.com Criaremos está tabela no banco de dados DB_Estudo use DB_Estudo; create table tb_cliente ( incod_cli,vcnome_cli,vcend_cli,chfone_cli,vcemail_cli ) int varchar(30) varchar(30) char(11) varchar(30) Assim que a tabela cliente é criada devemos inserir os dados apresentados anteriormente, para isso será necessário executar as seguintes instruções: insert tb_cliente values(1,'marina Farina','R Campos, 299','3211-1563','mari@blue.com'); insert tb_cliente values(2,'edson Mendes','Av. Paulista, 277','5125-2000','emendes@tree.com'); insert tb_cliente values(3,'aline Moda','Al. Santos, 512','4116-1518','amoda@estilo.com'), (4,'Tatiana Souza','Av. Rebouças, 15','9985-0965','tsouza@comp.com'), (5,'Cássio Adriano','Av. 9 de julho, 60','5465-1358','cadriano@tetra.com'); Feito isso será necessário executar o comando SELECT para visualizarmos os dados inseridos na tabela. Select * from tb_cliente; Finalmente podemos finalizar este script e partir para o próximo, mas antes eliminaremos está tabela através da instrução: DROP TABLE tb_cliente; Prof. Rudson Kiyoshi S. Carvalho Página 4
A terceira Tabela Neste próximo exemplo iremos inserir dados referentes ao salário e a data que o funcionário foi registrado, para isso, utilize o datatype decimal e o datatype datetime. O tipo decimal necessita de dois parâmetros separados por vírgula para identificar a parte inteira e qual será a parte decimal como (10,2), Durante a inclusão dos dados decimais, o ponto (.) deverá ser utilizado como separador de casas decimais. O tipo datetime é baseado no padrão norte-americano, ou seja, os valores devem atender ao modelo aaaa/mm/dd. O sinal de apostrofo ( ) também deve ser utilizado para indicar o começo e o final de cada data. A barra obliqua é necessária para a separação dos valores referentes ao mês, dia e ano. incod_cli vcnome_cli vcend_cli chfone_cli vcemail_cli dcsal_cli dtdata_cli 1 Marina R Campos, Farina 299 3211-1563 mari@blue.com 1800.00 04/15/2008 2 Edson Av. Paulista, Mendes 277 5125-2000 emendes@tree.com 1210.10 03/20/2007 3 Aline Moda Al. Santos, 512 4116-1518 amoda@estilo.com 2000.00 08/28/2006 4 Av. Tatiana Rebouças, Souza 15 9985-0965 tsouza@comp.com 1500.30 05/01/2004 5 Cássio Adriano Av. 9 de julho 5465-1358 cadriano@tetra.com 1945.88 24/06/2005 use db_estudo; create table tb_cliente ( incod_cli int, vcnome_cli varchar(30), vcend_cli varchar(30), chfone_cli char(11), vcemail_cli varchar(30), dcsal_cli decimal(10,2), dtdata_cli datetime ); Depois de criada a tabela adicione os dados: insert tb_cliente values(1,'marina Farina','R Campos, 299','3211-1563','mari@blue.com',1800.00, 2008/06/05 ); insert tb_cliente values(2,'edson Mendes','Av. Paulista, 277','5125-2000','emendes@tree.com',1210.10, 2007/03/02'); insert tb_cliente values(3,'aline Moda','Al. Santos, 512','4116-1518','amoda@estilo.com',2000.00, 2011/05/04 ); insert tb_cliente values(4,'tatiana Souza','Av. Rebouças, 15','9985-0965','tsouza@comp.com',1500.30, 2011/04/08 ); Prof. Rudson Kiyoshi S. Carvalho Página 5
DML Simples Os comandos DML (Data Manipulation Language - Linguagem de Manipulação de Dados) é um subconjunto da linguagem usada para selecionar, inserir, atualizar e apagar dados, por meio destes comandos, essas tarefas podem ser executadas em vários registros ao mesmo tempo. INSERT é usada para somar uma fila (formalmente uma tupla) a uma tabela existente. SELECT é o comumente mais usado do DML, comanda e permite ao usuário especificar uma query como uma descrição do resultado desejado. A questão não especifica como os resultados deveriam ser localizados. UPDATE para mudar os valores de dados em uma fila de tabela existente. DELETE permite remover filas existentes de uma tabela. INSERT A instrução INSERT é utilizada para adicionar registros em uma tabela de um banco de dados. INSERT [INTO] <NomeTabela> VALUES(<valores>); INSERT [INTO] <NomeTabela> (coluna1, coluna2,..colunan) VALUES (valor1, valor2, valorn); Os valores descritos junto ao comando INSERT são transformados em uma ou mais linhas da tabela. Os nomes das colunas nas quais os dados serão inseridos devem ser separados por vírgulas. As colunas que não foram declaradas no comando INSERT podem apresentar um valor padrão caso essa definição seja configurada na tabela, ou simplesmente o valor NULL. Prof. Rudson Kiyoshi S. Carvalho Página 6
Para compreendermos o uso do INSERT, consideremos o exemplo a seguir. INSERT posicional A instrução INSERT posicional deve ser utilizada quando queremos inserir dados de acordo com a ordem física das colunas da tabela. Exemplo: VALUES (1,'Marcos Evangel','Rua 1','3515-2119','mEva@free.com','4500.26','10/15/02'); VALUES (2,'Adalberto Bacili','Rua 2','3288-1563','aBaci@free.com','5600.38','10/20/03'); VALUES (3,'Sérgio Manoel','Rua São Bento','4545-1212','sMano@free.com','4982.74','01/25/04'); VALUES (4,'Thiago Hawano','Rua Direta','7875-1520','tHawa@free.com','6423.12','02/14/06'); VALUES (5,'Carina Tugues','Rua Torta ','3132-3113','cTugue@free.com','6800.98','01/13/98'); VALUES (6,'Fabio Monte','Av. Santos','2526-1515','fMonte@free.com','4678.15','06/25/92') Prof. Rudson Kiyoshi S. Carvalho Página 7
INSERT declarativo O INSERT declarativo deve ser utilizado quando queremos incluir dados na tabela de modo que possamos definir uma ordem em que tais valores serão adicionados. Exemplo: INSERT INTO Tb_Cliente (incod_cli, vcnome_cli, vcend_cli, vcfone_cli, vcemail_cli, dcsal_cli, dtdata_cli) VALUES (1,'Marcos Evangel','Rua 1','3515-2119','mEva@free.com','4500.26','10/15/02'); INSERT INTO Tb_Cliente ( incod_cli, vcnome_cli, vcend_cli, vcfone_cli, vcemail_cli, dcsal_cli, dtdata_cli ) VALUES (2,'Adalberto Bacili','Rua 2','3288-1563','aBaci@free.com','5600.38','10/20/03'); INSERT INTO Tb_Cliente ( incod_cli, vcnome_cli, vcend_cli, vcfone_cli, vcemail_cli, dcsal_cli, dtdata_cli) VALUES ( 3, 'Sérgio Manoel', 'Rua São Bento', '4545-1212', 'smano@free.com', '4982.74', '01/25/04' ); Prof. Rudson Kiyoshi S. Carvalho Página 8