Prof. Carlos Majer Aplicações Corporativas UNICID



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

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

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

1. Domínio dos Atributos

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

APOSTILA BÁSICA DE MYSQL

Trabalhando com MySQL: Uma Introdução

PHP INTEGRAÇÃO COM MYSQL PARTE 1

SQL. Autor: Renata Viegas

A linguagem SQL

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

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

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Profº Aldo Rocha. Banco de Dados

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

MySQL - Operações com SQL básico

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

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

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

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

Programação SQL. Introdução

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Treinamento sobre SQL

Structured Query Language (SQL)

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

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

Introdução à linguagem SQL

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

Modelagem de banco de dados com MySQL Workbench

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...

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

Operação de União JOIN

EXERCÍCIOS PRÁTICOS. Banco de Dados

Linguagem de Consulta - SQL

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

Curso PHP Aula 08. Bruno Falcão

SQL (Structured Query Language)

SQL (Structured Query Language)

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

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

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

SQL Server Ferramenta de administração. SQL Server Management Studio. 1º passo conectar ao banco de dados 2ª Query (consulta) usando SQL

SQL (Structured Query Language)

Treinamento em PHP. Aula 7. Ari Stopassola Junior

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

Projeto de Banco de Dados: Empresa X

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) )

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Comandos DDL. id_modulo = id_m odulo

Criando, inserindo e exibindo PHP+MySql

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Linguagem SQL. Comandos Básicos

SQL: Definição de tabelas, Modificações à Base de Dados

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

MYSQL BÁSICO. 12 Horas Instrutor: Antonio Itamar Júnior

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

Linguagem SQL (Parte I)

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Minicurso3 Introdução ao Banco de Dados MySQL

EXEMPLOS DE COMANDOS NO SQL SERVER

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

Modo Estrutura é o ambiente de definição e estruturação dos campos, tipos de dados, descrição e propriedades do campo.

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)

(1,n) venda. (1,1) realizacao. cliente. (0,n) (1,1) contem. produto. Laboratório de Banco de Dados Exercicios

Tarefa Orientada 15 Manipulação de dados

ADMINISTRAÇÃO DE BANCO DE DADOS

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

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

Notas sobre o MySQL: Resumo dos comandos no MySQL linha de comandos:

Principais Comandos SQL Usados no MySql

Linguagem SQL Parte I

Bases de Dados. Lab 1: Introdução ao ambiente

Redes de Computadores

Introdução ao SQL. O que é SQL?

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

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

Desenvolvimento de Sistemas Web Prof. Leandro Roberto. Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete)

Linguagem SQL Sub-linguagem DDL

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

O que são Bancos de Dados?

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

Escrito por Sex, 14 de Outubro de :12 - Última atualização Seg, 26 de Março de :33

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

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

CRIANDO UM BANCO DE DADOS

Bases de Dados 1º semestre

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

Linguagem SQL (Parte II)

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS

Persistência de Classe e Auto- Relacionamento em Tabelas de Banco de Dados


Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

Banco de Dados. Conversão para o Banco de Dados SisMoura

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

SQL (STRUCTUREDQUERY LANGUAGE)

Transcrição:

Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença Creative Commons Atribuição-Vedada a Criação de Obras Derivadas 2.5 Brasil. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/bynd/2.5/br/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Este material não pode ser alterado. Para maiores informações envie um e-mail para cmajer@uol.com.br ou cmajer@ig.com.br. Introdução Pasta para acesso C:\mysql\bin MYSQL Entrada via prompt de comando do DOS, usando o usuário root:- C:\mysql\bin> mysql u usuário senha Em seguida, o MYSQL exibe seu prompt, pronto para aceitar comandos. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 5.0.27-community-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>_ Numa instalação padrão do MySQL, o usuário criado inicialmente é o root e sua senha é vazia. Digite o comando desejado, podendo inclusive teclar <ENTER> quantas vezes quiser. Para que o comando seja executado, coloque um ponto e vírgula (;) no final antes de teclar <ENTER>. Alguns comandos não precisam do ponto e vírgula para serem executados. Caixa Alta ou Baixa O MySQL ignora a caixa dos comandos. Entretanto, tome cuidado pois se você criar tabelas e campos em letras maiúsculas, no MySQL, você terá que utilizar a caixa (tamanho de letra) correta, quando estiver trabalhando com o PHP, uma vez que o PHP não os ignora. Apostila de MySQL Página 1

Manipulando Bancos de Dados Algumas tabelas existentes O Mysql, por conta de sua instalação, já vem com algumas tabelas criadas:- Mysql: Privilégio de acesso de usuários. Não elimine esta tabela. Test: Criada como espaço de testes Exibindo os bancos de dados existentes SHOW DATABASES; +--------------------+ Database +--------------------+ information_schema mysql sistema test +--------------------+ 4 rows in set (0.08 sec) Abrindo (conectando) a um banco de dados USE [nome do banco de dados]; USE sistema; database changed Criando um banco de dados Cria-se uma vez e seleciona-se sempre que precisar trabalhar com o mesmo. CREATE DATABASE [Nome do Banco de Dados]; CREATE DATABASE sistema; Query OK, 1 row affected (0.00 sec) Para começar a trabalhar com este banco de dados, você deve selecioná-lo:- USE sistema; Apostila de MySQL Página 2

Database changed; Eliminando Banco de Dados Para se eliminar um banco de dados, deve-se utilizar o seguinte comando:- DROP [Nome do Banco de Dados] DROP sistema; Query OK, 0 rows affected (0.00 sec) Manipulando Tabelas Exibindo tabelas do banco de dados aberto (conectado):- SHOW TABLES; +-------------------+ Tables_in_sistema +-------------------+ clientes produtos +-------------------+ 2 rows in set (0.00 sec) Exibindo os campos de uma tabela SHOW COLUMNS IN [Nome da Tabela]; OU DESCRIBE [Nome da Tabela]; SHOW COLUMNS IN produtos; OU DESCRIBE produtos; +-----------+-------------+------+-----+---------+-------+ Field Type Null Key Default Extra +-----------+-------------+------+-----+---------+-------+ codigo varchar(10) YES NULL descricao varchar(20) YES NULL ativo char(1) YES NULL cadastro date YES NULL +-----------+-------------+------+-----+---------+-------+ 4 rows in set (0.02 sec) Criando tabelas CREATE TABLE [Nome da Tabela] ([Nome do Campo 1] [Tipo do Campo1], [Nome do Campo n] [Tipo do Campo n]); Apostila de MySQL Página 3

CREATE TABLE Estados (uf char(2), regiao VARCHAR(5) ); Query OK, 0 rows affected (0.11 sec) Prof. Carlos Majer Aplicações Corporativas UNICID Criando tabelas com Chaves Primárias CREATE TABLE [Nome da Tabela] ([Nome do Campo] [Tipo do Campo] [auto_increment], [Nome do Campo 2] [ Tipo do Campo 2], PRIMARY KEY ([Nome do Campo n]) ) CREATE TABLE clientes (idcliente INT(10) AUTO_INCREMENT, nome VARCHAR(50), cadastro DATE, nascimento DATE, PRIMARY KEY (idcliente) ); Tipos de Dados Na criação das colunas das tabelas, o desenvolvedor deve escolher o tipo de coluna que mais se adeque ao tipo de informação que ele está buscando armazenar. Dentre os tipos que o MySQL têm, podemos citar:- Inteiro (Integer) Este é o tipo de dado utilizado para armazenamento de números. Os números a serem armazenados podem ser positivos ou negativos. -1259, 12, 0, 4, 295, 15344 Caracteres (Char, Varchar) Este tipo é utilizado para armazenamento de informações do tipo texto. Quando utilizado o tipo char, define-se um tamanho que pode ser de 1 até 255 bytes. Independente do tamanho escolhido, qualquer informação que for armazenada fará com que os demais caracteres sejam preenchidos com espaços. Ao gravar o texto Ola, o tamanho ocupado numa coluna criada originalmente como char(50) será de cinqüenta caracteres, sendo Ola os seus três primeiros e o restante com espaços. O tipo varchar, por outro lado, permite a gravação de cadeias de caracteres sem gravar o espaço restante. Neste mesmo exemplo, se a coluna tivesse sido criada como varchar(50), o conteúdo a ser gravado seria apenas as três letras (Ola). Ponto Flutuante (Float) Permite a gravação de valores com casas decimais. 57.25, 0.577, 23.556 Apostila de MySQL Página 4

Data e Hora DATE Armazena data no formato YYYY-MM-DD DATETIME Armazena data e hora no formato YYYY-MM-DD HH:MM:SS YEAR(2) Armazena ano no formato de 2 dígitos. YEAR(4) Armazena ano no formato de 4 dígitos. Blob Tipo de dado binário, o blob pode guardar desde textos até informações advindas de arquivos que foram carregados (processo de upload). CREATE TABLE Produtos (codigo int(10), titulo VARCHAR(20), ativo CHAR(1), cadastro DATE, especificacao BLOB); Query OK, 0 rows affected (0.11 sec) Query OK, 0 rows affected (0.06 sec) Criando tabelas com colunas de valores únicos CREATE TABLE [Nome da Tabela] ([Nome do Campo] [Tipo do Campo] UNIQUE, [Nome do Campo 2] [ Tipo do Campo 2]); CREATE TABLE Categorias (codigo VARCHAR(10) unique); Eliminando Tabelas DROP TABLE [Nome da Tabela]; DROP TABLE clientes; Alterando Tabelas Adicionar uma nova coluna (campo) ALTER TABLE [Nome da Tabela] ADD COLUMN [Nome do Campo] [Tipo do Campo]; ALTER TABLE Clientes ADD COLUMN Nascimento date; Query OK, 0 rows affected (0.06 sec) Registros: 0 - Duplicados: 0 - Avisos: 0 Apostila de MySQL Página 5

Alterando o nome de uma coluna ALTER TABLE [Nome da Tabela] CHANGE [Nome Atual do Campo] [Novo Nome do Campo] [Tipo do Campo Novo]; ALTER TABLE Clientes CHANGE cadastro criacao date; Query OK, 0 rows affected (0.06 sec) Registros: 0 - Duplicados: 0 - Avisos: 0 Alterando uma coluna para que tenha valores únicos ALTER TABLE [Nome da Tabela] ADD UNIQUE [Nome da Coluna]; ALTER TABLE Estados ADD UNIQUE (UF); Alterando o tamanho de uma coluna ALTER TABLE [Nome da Tabela] MODIFY [Nome da Coluna] [Novo Tamanho da Coluna]; ALTER TABLE Estados MODIFY Regiao varchar(15); Eliminando uma coluna (campo) ALTER TABLE [Nome da Tabela] DROP [Nome do Campo]; ALTER TABLE Clientes DROP Nascimento; Query OK, 0 rows affected (0.06 sec) Registros: 0 - Duplicados: 0 - Avisos: 0 Delete unique from table.alter table [table name] drop index [colmn name]; Manipulando os registros de tabelas Inserindo registros numa tabela INSERT INTO [tabela] VALUES ([Valor Campo 1], [ Valor Campo 2], [Valor Campo 3]); Exemplos:- INSERT INTO produtos VALUES ('BC001', 'Caixa de Cereais', '1','2007-08-19'); Apostila de MySQL Página 6

Query OK, 1 row affected (0.06 sec) Prof. Carlos Majer Aplicações Corporativas UNICID INSERT INTO produtos VALUES ('BC002', 'Barra de Cereal', '1', NULL); Query OK, 1 row affected (0.00 sec) Você deve inserir os valores dos campos, conforme sua seqüência de criação, ou seja, os valores dos campos dentro dos parênteses, após VALUES, serão gravados (caso haja sucesso) conforme a ordem de criação dos campos na tabela. Você pode utilizar o valor NULL para deixar um campo sem informação alguma A tentativa de gravação de um registro contendo valores para um número diferente de colunas da tabela irá fazer com que um erro seja gerado:- INSERT INTO produtos VALUES ('BC003'); ERROR 1136 (21S01): Contagem de colunas não confere com a contagem de valores na linha 1 Exibindo registros de uma tabela SELECT [* Campo 1, Campo n] FROM [Nome da Tabela] SELECT * FROM produtos; +--------+------------------+-------+------------+ codigo descricao ativo cadastro +--------+------------------+-------+------------+ BC001 Caixa de Cereais 1 2007-08-19 BC002 Barra de Cereal 1 NULL +--------+------------------+-------+------------+ 2 rows in set (0.00 sec) O desenvolvedor também restringir o resultado da exibição conforme um filtro lógico. SELECT * FROM produtos WHERE codigo= BC002 ; +--------+-----------------+-------+----------+ codigo descricao ativo cadastro +--------+-----------------+-------+----------+ BC002 Barra de Cereal 1 NULL +--------+-----------------+-------+----------+ 1 row in set (0.00 sec) Contando o número de registros de uma tabela SELECT COUNT(*) FROM [Nome da Tabela]; Apostila de MySQL Página 7

SELECT COUNT(*) FROM produtos; +----------+ count(*) +----------+ 2 +----------+ 1 row in set (0.00 sec) Prof. Carlos Majer Aplicações Corporativas UNICID Alterando registros de uma tabela UPDATE [Nome da Tabela] SET [Campo 1] = [Valor], [Campo 2] = [Valor] UPDATE produtos SET ativo= 1 ; Query OK, 2 rows affected (0.00 sec) Linhas que combinaram: 2 - Alteradas: 2 - Avisos: 0 No exemplo acima, todos os registros da tabela são alterados. Caso o usuário deseje alterar um conjunto de registros, ele deve utilizar uma expressão lógica. UPDATE [Nome da Tabela] SET [Campo 1] = [Valor], [Campo 2] = [Valor] WHERE [Condição Lógica] UPDATE produtos SET ativo= 0 WHERE CODIGO= BC002 ; Query OK, 1 row affected (0.00 sec) Linhas que combinaram: 1 - Alteradas: 1 - Avisos: 0 Esta condição lógica pode ser uma expressão complexa:- UPDATE produtos SET ativo= 0 WHERE ativo= 1 and cadastro>= 2007-01-01 ; Query OK, 1 row affected (0.00 sec) Linhas que combinaram: 1 - Alteradas: 1 - Avisos: 0 Eliminando registros de uma tabela O desenvolvedor pode eliminar todos os registros de uma tabela através do seguinte comando:- DELETE FROM [Nome da Tabela] WHERE [Condição]; Apostila de MySQL Página 8

DELETE FROM produtos; Query OK, 2 rows affected (0.01 sec) Prof. Carlos Majer Aplicações Corporativas UNICID Caso deseje eliminar um conjunto de registros, o desenvolvedor deve utilizar-se de uma condição lógica:- DELETE FROM [Nome da Tabela] WHERE [Condição Lógica] DELETE FROM produtos WHERE codigo= BC002 ; Query OK, 1 row affected (0.02 sec) Backup e Restauração de Banco de Dados Você pode utilizar a ferramenta (programa) MySQLDump para efetuar o backup (cópia de segurança) e a restauração de um banco de dados MySQL. Backup de um banco de dados A sintaxe para se fazer um backup é:- MYSQLDUMP U [Nome do Usuário] P[Senha] [Nome do Banco de Dados] > [Nome do Arquivo de Backup] MYSQLDUMP -u root sistema > sistema.sql O arquivo sistema.sql será criado com todas as instruções em SQL para criação e alimentação do banco de dados de nome sistema, com todos os seus campos e registros. Nada será exibido na tela, devendo ser exibido apenas o prompt do MS-DOS, uma vez que todo o conteúdo está sendo redirecionado para o arquivo sistema.sql. Caso deseje verificar o resultado na tela, simplesmente tire o texto > sistema.sql do comando acima. Restaurando um banco de dados MYSQL u [Nome do Usuário] -p [Senha] [Nome do Banco de Dados] < [Arquivo de Backup] MYSQL u root sistema < sistema.sql O banco de dados deverá já existir no MySQL Apostila de MySQL Página 9