Introdução
O banco de dados mysql e uma alternativa mais barata e rápida por conta de uma necessidade gerada por desenvolvedores, onde era necessário armazenar uma grande quantidade de dados, com uma alternativa que não gerasse custos adicionais para os programadores. O mysql possui todas as funcionalidades de um banco de dados convencional de uma grande empresa, porém gratuito e de código aberto, com um limite estabelecido que pode ser ampliado por uma assinatura.
O servidor do mysql e preparado para um grande fluxo de dados, assim como um grande banco de dados para o usuário, e apesar de estar em constante desenvolvimento, o mysql possui um grande leque de funções que podem ser aplicadas em possíveis projetos que necessitam de muito fluxo de dados.
O programa de banco de dados do mysql e um sistema de cliente/servidor, que consiste de um servidor SQL multitarefa, a qual suporta diversos acessos diferentes, diversos programas, clientes, e bibliotecas, ferramentas administrativas, assim como diversas interfaces de programação (API’s). Também é considerado que o servidor MySQL funciona como uma biblioteca multitarefa, a qual e possível acoplar uma aplicação, para chegar a um produto menor, mais rápido e facilmente gerenciável.
Características
Multiplatafroma, suportando win32, Linux, FreeBSD, unix e entre outros
Suporte a múltiplos processadores
Sofisticado sistema de senhas criptografadas
Suporta ate 16 indices por tabela
Código fonte escrito em C e C++ e testado com uma variedade de diferentes compiladores
As tabelas criadas podem ter tamanho até de 4GB
Banco de dados de código aberto e gratuito
Suporte a API’s das seguintes linguagens: PHP, Perl, C, C++, Java, Pynthon, etc...
Suporte a ODBC, e possível facilmente conectar o acess a um banco de dados do MySQL
O cliente conecta no MySQL através de conexões TCP/IP
Nenhum problema com Y2K, visto que o MySQL usa relógio do Unix, que não apresentara problemas ate 2069
Capacidade para manipular banco de dados com ate 50 milhões de registros
Reduz a administração, engenharia e a sustentação custa por ate 50%
Benefícios
Possui suporte para aplicações web
Tem suporte a código fonte aberto
Requisitos de sistema baixos
Tabelas com tamanho grande
Estabilidade
Tipos de Texto
Tipos Numéricos
Existem tipos de dados numéricos, que se podem dividir em dois grandes grupos, os que estão em vírgula flutuante (com decimais) e os que não.
TinyInt: é um número inteiro com ou sem sinal. Com sinal a margem de valores válidos é desde -128 até 127. Sem sinal, a margem de valores é de 0 até 255
SmallInt: número inteiro com ou sem sinal. Com sinal a margem de valores válidos é desde -32768 até 32767. Sem sinal, a margem de valores é de 0 até 65535.
MediumInt: número inteiro com ou sem sinal. Com sinal a margem de valores válidos é desde -8.388.608 até 8.388.607. Sem sinal, a margem de valores é de 0 até 16777215.
Int: número inteiro com ou sem sinal. Com sinal a margem de valores válidos é desde -2147483648 até 2147483647. Sem sinal, a margem de valores é de 0 até 429.496.295
BigInt: número inteiro com ou sem sinal. Com sinal a margem de valores válidos é 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: número pequeno em vírgula flutuante de precisão simples. Os valores válidos vão desde - 3.402823466E+38 até -1.175494351E-38,0 eté desde 175494351E-38 até 3.402823466E+38.
Double: número em vírgula flutuante de dupla precisão. Os valores permitidos vão desde - 1.7976931348623157E+308 até -2.2250738585072014E-308, 0 e desde 2.2250738585072014E-308 até 1.7976931348623157E+308
Decimal: Número em vírgula flutuante desempacotado.
Tipos de data
Na hora de armazenar datas, há que ter em conta que MySQL não verifica de uma maneira estricta se uma data é válida ou não. Simplesmente comprova que o mês 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: Combinação de data e hora. A margem de valores vai desde o 1 ed 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: Combinação de data e hora. A margem vai desde o 1 de Janeiro de 1970 ao ano 2037. O formato de armazenamento depende do tamanho do campo:
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 variável. 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 diferença entre um tipo e outro é o tratamento que recebem na hora de ordená-los e compará-los. No tipo test ordena-se sem ter importância as maiúsculas e as minúsculas e no tipo blob ordena-se tendo em conta as maiúsculas e minúsculas.
TinyText e TinyBlob: Coluna com uma longitude máxima de 255 caracteres.
Blob e Text: um texto com um máximo de 65535 caracteres.
MediumBlob e MediumText: um texto com um máximo de 16.777.215 caracteres.
LongBlob e LongText: um texto com um máximo de caracteres 4.294.967.295. Há que ter em conta que devido aos protocolos de comunicação os pacotes podem ter um máximo 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.
Comandos Básicos
Um comando normalmente consiste de uma instrução SQL, seguida por um ponto e vírgula(;).
Um comando não necessita estar todo em uma única linha, então comandos extensos que necessitam de várias linhas não são um problema.
O mysql determina onde sua instrução termina através do ponto e vírgula terminador, e não pelo final da linha de entrada.
COMANDOS:
Este comando permite a criação do banco de dados.
Creat database [nome do banco de dados];
Exemplo: Create database focus;
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;
Criando tabelas.
CREATE TABLE < nome_tabela > (
nome_atributo1 < tipo > [ NOT NULL ],
nome_atributo2 < tipo > [ NOT NULL ],
......
nome_atributoN < tipo > [ NOT NULL ]
);
onde:
nome_table - indica o nome da tabela a ser criada.
nome_atributo - indica o nome do campo a ser criado na tabela.
tipo - indica a definição do tipo de atributo ( integer(n), char(n), ... ).
Exemplo:
Create table alunos (
Id_aluno UNSIGNED INT(3) NOT FULL,
nome CHAR(40) NOT NULL,
endereco CHAR (50) NOT FULL
turma CHAR(20) NOT NULL,
PRIMARY KEY (matricula)
);
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];