0% acharam este documento útil (0 voto)
330 visualizações35 páginas

Slide de MySQL

1) O MySQL é um sistema de gerenciamento de banco de dados relacional baseado em SQL, sendo um dos bancos de dados mais populares com mais de 4 milhões de instalações. 2) O documento explica como criar e acessar bancos de dados e tabelas no MySQL, incluindo os tipos de dados e comandos como CREATE DATABASE, CREATE TABLE, ALTER TABLE, DROP TABLE. 3) Também discute como inspecionar bancos de dados e tabelas existentes usando comandos como SHOW DATABASES, DESCRIBE, e SHOW TABLES.
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
330 visualizações35 páginas

Slide de MySQL

1) O MySQL é um sistema de gerenciamento de banco de dados relacional baseado em SQL, sendo um dos bancos de dados mais populares com mais de 4 milhões de instalações. 2) O documento explica como criar e acessar bancos de dados e tabelas no MySQL, incluindo os tipos de dados e comandos como CREATE DATABASE, CREATE TABLE, ALTER TABLE, DROP TABLE. 3) Também discute como inspecionar bancos de dados e tabelas existentes usando comandos como SHOW DATABASES, DESCRIBE, e SHOW TABLES.
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 35

O que o MySQL?

O Programa MySQL um sistema de gerenciamento de banco de dados relacionais baseado em comandos SQL (Structured Query Language - Linguagem Estruturada para Pesquisas) que vem ganhando grande popularidade sendo atualmente um dos bancos de dados mais populares, com mais de 4 milhes de instalaes.

Criando e selecionando um banco de dados


Acessando o Servidor MySQL A partir deste momento comearemos a criar banco de dados utilizando o MySQL, para tanto, precisamos logar no servidor. Com o terminal aberto digitamos o seguinte comando: > mysql -u root -p Enter password: ********

Verificando a existncia de banco de dados


Utilize a instruo SHOW para saber quais bancos de dados existem atualmente no servidor: mysql> SHOW DATABASES;

Acessando um Banco de Dados Existente


Utilize a instruo USE para acessar o banco de dados: mysql> USE nome_do_banco Database changed A instruo USE pode ser utilizada sem o delimitador ";". Veremos mais a frente que isto no possvel com outros comandos. Outra caracterstica intrnsecas da instruo USE que ela deve ser utilizada em uma nica linha.

Criando e selecionando um banco de dados


Para criarmos o banco de dados utilizamos o seguinte comando: mysql> CREATE DATABASE Locadora; Para excluirmos o banco de dados utilizamos o seguinte comando: mysql> DROP DATABASE Locadora; Este comando tambm serve para excluir tabelas, basta trocarmos DATABASE por TABLE.

No Unix, nomes de bancos de dados so caso sensitivo (ao contrrio das palavras chave SQL). Isto quer dizer que Locadora direferente de LOCADORA ou locadora. Criar um bancos de dados no o seleciona para o uso. Faa isto utilizando a instruo use. mysql> USE Locadora Database changed

Uma forma alternativa de colocar o banco de dados em uso passando o nome do banco como parmetro durante a inicializao do mysql. shell> mysql -h servidor -u usuario -p Locadora Enter password: ******** Perceba que -h indica o "host"do servidor, ou seja, sua localizao na rede. Caso o servidor esteja na mquina local este parmetro pode ser omitido. -u indica o usurio que acessar o sistema e -p a senha. Ateno, Locadora no o parmetro relativo a senha. Locadora o banco que desejamos colocar em uso. Caso deseje passar a senha na linha de comando voc deve faz-lo sem usar espaos (por exemplo, pminhasenha e no como em -p minhasenha). Entrentanto, no recomendado colocar a senha na linha de comando, visto que a senha fica exposta a outras pessoas.

Criando uma tabela


A criao de uma tabela feita com a instruo CREATE TABLE. O MySQL possui uma caracterstica um pouco diferente de outros SGBDs. Durante a criao da tabela podemos definir o tipo desta tabela.

Exemplo
CREATE TABLE cliente ( id INT NOT NULL, texto CHAR(30) NOT NULL, PRIMARY KEY (id) ); No comando acima, TYPE=MyISAM, indica que a tabela criada ser do tipo MyISAM, que o valor default caso no seja informado o TYPE. Atravs deste exemplo observamos que a sintaxe do CREATE TABLE muito simples, sendo necessrio apenas informar o nome da tabela, no caso "teste", os campos da tabela e o tipo da tabela, podendo este ltimo ser ocultado.

mysql> SHOW TABLES; Empty set (0.00 sec) Continuando com o exemplo que viamos seguindo na lio anterior, com a criao do banco de dados "Locadora", o comando SHOW TABLES nos mostrar a as tabelas existentes neste banco de dados.

Utilize a sentea CREATE TABLE para especificar o layout de sua tabela: mysql> CREATE TABLE Acervo(nome VARCHAR(20), gnero VARCHAR(20), censura INT, durao TIME); Query OK, 0 rows affected (0,00 sec)

VARCHAR uma boa escolha para os campos nome e gnero porque os valores da coluna so de tamanho varivel. Os tamanhos destas colunas no precisam necessariamente de ser os mesmos e no precisam ser 20. O campo censura bem representando com o tipo inteiro, visto que as idades so dadas em nmeros inteiros. O mesmo acontece com o campo durao, onde TIME um tipo utilizado para armazenar dados no formato HH:MM:SS

Agora que voc criou uma tabela, a instruo SHOW TABLES deve produzir alguma sada: mysql> SHOW TABLES; ++ | Tables_in_Locadora | ++ | Acervo | ++ 1 row in set (0,02 sec)

Para verificar se sua tabela foi criada da forma que voc esperava, utilize a instruo DESCRIBE: mysql> DESCRIBE Acervo; ++-++++-+ | Field | Type | Null | Key | Default | Extra | ++-++++-+ | nome | varchar(20) | YES | | NULL | | | gnero | varchar(20) | YES | | NULL | | | censura | int(11) | YES | | NULL | | | durao | time | YES | | NULL | | ++-++++-+ 4 rows in set (0,00 sec) Voc pode usar DESCRIBE a qualquer hora, por exemplo, se voc esquecer os nomes das colunas na sua tabela ou de que tipos elas tm.

Tipos de Campos Para cada campo de cada uma da tabelas, necessrio determinar o tipo de dados que contem, para poder ajustar a estrutura da base de dados, e conseguir um armazenamento com a menor utilizao de espao. Os tipos de dados que pode ter um campo, podem-se agrupar em trs grandes grupos: * Tipos numricos * Tipos de Data * Tipos de Cadeia

Tipos numricos:
Existem tipos de dados numricos, que se podem dividir em dois grandes grupos, os que esto em vrgula flutuante (com decimais) e os que no. * TinyInt: um nmero inteiro com ou sem sinal. Com sinal a margem de valores vlidos desde -128 at 127. Sem sinal, a margem de valores de 0 at 255

* Bit ou Bool: um nmero inteiro que pode ser 0 ou 1. * SmallInt: nmero inteiro com ou sem sinal. Com sinal a margem de valores vlidos desde -32768 at 32767. Sem sinal, a margem de valores de 0 at 65535. * MediumInt: nmero inteiro com ou sem sinal. Com sinal a margem de valores vlidos desde -8.388.608 at 8.388.607. Sem sinal, a margem de valores de 0 at 16777215. * Integer, Int: nmero inteiro com ou sem sinal. Com sinal a margem de valores vlidos desde 2147483648 at 2147483647. Sem sinal, a margem de valores de 0 at 429.496.295

* BigInt: nmero inteiro com ou sem sinal. Com sinal a margem de valores vlidos desde 9.223.372.036.854.775.808 at 9.223.372.036.854.775.807. Sem sinal, a margem de valores de 0 at 18.446.744.073.709.551.615. * Float: nmero pequeno em vrgula flutuante de preciso simples. Os valores vlidos vo desde -3.402823466E+38 at -1.175494351E-38,0 ou desde 175494351E-38 at 3.402823466E+38. * xReal, Double: nmero em vrgula flutuante de dupla preciso. Os valores permitidos vo desde 1.7976931348623157E+308 at -2.2250738585072014E308, 0 e desde 2.2250738585072014E- 308 at 1.7976931348623157E+308 * Decimal, Dec, Numeric: Nmero em vrgula flutuante desempacotado. O nmero armazena-se como uma cadeia.

Tipos de data:
Na hora de armazenar datas, o MySQL no verifica de uma maneira restrita se uma data vlida ou no. Simplesmente comprova que o ms est compreendido entre 0 e 12 e que o dia est compreendido entre 0 e 31.

* Date: tipo data, armazena uma data. A margem de valores vai desde o 1 de Janeiro de 1001 ao 31 de dezembro de 9999. O formato de armazenamento de ano-mes-dia. * DateTime: Combinao de data e hora. A margem de valores vai desde o 1 de Janeiro de 1001 s 0 horas, 0 minutos e 0 segundos ao 31 de Dezembro de 9999 s 23 horas, 59 minutos e 59 segundos. O formato de armazenamento de ano-mes-dia horas:minutos:segundos. * TimeStamp: Combinao de data e hora. A margem vai desde o 1 de Janeiro de 1970 ao ano 2037. * Time: armazena uma hora. A margem de horas vai desde 838 horas, 59 minutos e 59 segundos. O formato de armazenamento HH:MM:SS. * Year: armazena um ano. A margem de valores permitidos vai desde o ano 1901 ao ano 2155. O campo pode ter tamanho dois ou tamanho 4 dependendo de se queremos armazenar o ano com dois ou quatro algarismos.

Tipos de Cadeia:
* Char(n): armazena uma cadeia de longitude fixa. A cadeia poder conter desde 0 at 255 caracteres. * VarChar(n): armazena uma cadeia de longitude varivel. A cadeia poder conter desde 0 at 255 caracteres. Dentro dos tipos de cadeia pode-se distinguir dois subtipos, os tipo Test e os tipo Blob (Binary Large Object) A diferena entre um tipo e outro o tratamento que recebem na hora de orden-los e compar-los. No tipo test ordena-se sem ter importncia as maisculas e as minsculas e no tipo blob ordena-se tendo em conta as maisculas e minsculas. Os tipos blob utilizam-se para armazenar dados binrios como podem ser ficheiros. * TinyText e TinyBlob: Coluna com uma longitude mxima de 255 caracteres. * Blob e Text: um texto com um mximo de 65535 caracteres.

* MediumBlob e MediumText: um texto com um mximo de 16.777.215 caracteres. * LongBlob e LongText: um texto com um mximo de caracteres 4.294.967.295. H que ter em conta que devido aos protocolos de comunicao os pacotes podem ter um mximo de 16 Mb. * Enum: campo que pode ter um nico valor de uma lista que se especifica. O tipo Enum aceita at 65535 valores diferentes. * Set: um campo que pode conter nenhum, um ou vrios valores de uma lista. A lista pode ter um mximo de 64 valores.

Alterando campos da tabela


Suponha que durante a criao da nossa tabela Acervo no fizssemos uma boa escolha com o tamanho do campo nome(varchar(20)). Poderamos remover a tabela e criar outra semelhante com os comandos abaixo: DROP TABLE Acervo; mysql> CREATE TABLE Acervo(nome VARCHAR(40), gnero VARCHAR(20), censura INT, durao TIME);

Esta uma das alternativas, porm, no a melhor. Imaginem se dados j tivessem sido inseridos na tabela. Teramos que refazer todo o processo de insero de dados, o que muitas vezes invivel. O Comando ALTER TABLE nos permite realizar uma infinidade de operaes com a tabela com por exemplo: * Modificar o nome da tabela; * Adicionar uma coluna; * Remover uma coluna ; * Alterar a estrutura da coluna;

Para alterarmos o campo "nome"da tabela Acervo, utilizamos a seguinte instruo:


* ALTER TABLE varchar(40); Acervo MODIFY nome

Agora vamos inserir uma nova coluna, por exemplo "data_lanamento". * ALTER TABLE Acervo ADD data_lanamento date;

Para remover basta inserirmos DROP no lugar de ADD e retirarmos campo. * ALTER TABLE Acervo DROP data_lanamento;

Primary Key e Foreign Key


Por que utilizar chaves? Imagine se todas as vezes que voc for cadastrar um filme seja necessrio digitar o nome do gnero. Poderiam haver erros durante a digitao do nome, como acentuao e abreviao do mesmo. Por isso mais importante ter uma tabela "GENERO"com os dados previamente cadastrados, sendo necessrio apenas informar o cdigo deste filme. Quando estamos trabalho com integridade referencial, o que estamos fazendo adicionar restries s chaves estrangeiras para que as tabelas sejam relacionadas de tal forma que no seja possvel realizar determinadas operaes caso isto seja prejudicial a estrutura do banco de dados. Tabelas do tipo innoDB suportam integridade referencial.

O InnoDB implementa as restries de integridade CASCADE, RESTRICT, SET NULL e SET DEFAULT. No primeiro caso, ao se remover um registro da tabela referenciada pela chave estrangeira os registros relacionados quele removido sero eliminados em todas as tabelas relacionadas. O RESTRICT no permite a remoo de registros que possuam relacionamentos em outras tabelas. Os dois ltimos atribuem os valores DEFAULT ou NULL para as chaves estrangeiras cujos registros relacionados foram excludos.

O exemplo abaixo ilustra algumas tabelas que utilizam regras de integridade:


CREATE TABLE genero(CodGenero INT auto increment, nomeGenero VARCHAR(20), PRIMARY KEY(CodGenero)) type=innoDB;
CREATE TABLE Acervo(CodFilme INT, nome VARCHAR(20), censura INT, duracao TIME, CodGenero INT, PRIMARY KEY(CodFilme), FOREIGN KEY(CodGenero) REFERENCES genero(CodGenero) ON DELETE RESTRICT) type=innoDB;

Carregando dados em uma tabela Depois de criar sua tabela, voc precisar povo-la. A instruo INSERT til para isto.

Para adicionar registros um a um, basta utilizar a instruo INSERT. Caso voc queira adicionar mais um filme tabela "Acervo"basta utiilzar a instruo a seguir:

mysql> INSERT INTO Acervo ("nomedofilme","genero",18,NULL);

VALUES

Observe a utilizao de aspas duplas nos campos do tipo varchar() . Com o INSERT voc tambm pode inserir NULL diretamente para representar um valor em falta.

Tambm possvel inserir dados em colunas especficas da tabela, bastando para isso identific-la.

mysql> INSERT INTO Acervo(nome) VALUES (Pnico);

No MySQL quando estamos criando uma tabela podemos utilizar a palavra chave AUTO_INCREMENT para atribuir valores automaticamente s colunas. por exemplo:

CREATE TABLE Acervo2(cod_filme int AUTO_INCREMENT, nome VARCHAR(20), gnero VARCHAR(20), censura INT, durao TIME, PRIMARY KEY(cod_filme));

Na tabela anterior, criamos uma nova tabela, Acervo2, com o campo cod_filme. Perceba que no possvel utilizar a palavra chave AUTO_INCREMENT sem informar que a coluna PRIMARY KEY. Este campo recebera valores automaticamente, sendo necessrio informar apenas a palavra default quando utilizada a instruo insert:

INSERT INTO Acervo2 VALUES(default,"cdigo da vinci","drama",NULL,NULL);


Desta forma, toda vez que for inserido um novo registro, o campo cod_filme, o campo cod_filme ser incrementado automaticamente.

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy