Olá pessoal.
Veremos neste artigo como criar um banco de dados MySQL e também como criar tabelas e indices de tabelas.
Bom a criação do banco de dados é relativamente fácil basta adicionar o código abaixo:
CREATE DATABASE `teste`;
Onde teste é o nome de nosso banco de dados. Assim se cria uma nova base de dados no banco. Em alguns servidores você não terá a possibilidade de criar novos banco de dados pelo privilégio de administrador que você não deve ter. Portanto nestes servidores você deve ter um administrador de sua hospedagem que faz todo o trabalho.
Bom com nosso banco criado, você pode adicionar usuários a ele.
Criando um novo usuário:
Para criar um usuário digite o código abaixo:
CREATE USER username [IDENTIFIED BY [PASSWORD] '123456" target="_blank">
Onde: username = nome do usuário e '123456' é a senha deste usuário no servidor MySQL.
Adicionando um usuário a um banco de dados:
Você deve adicionar o usuário criado ao banco de dados criado para que este tenha privilégios de acesso, para indexar este usuário ao banco digite o código abaixo:
GRANT ALL PRIVILEGES ON teste.* TO 'username'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
Onde:
- teste = nome do banco de dados acima criado;
- username = nome do usuário acima criado;
- 123456 = senha do usuário que criamos;
Bom pessoal com isto feito estamos com um bom caminho andado. Até agora você criou uma base de dados, criou um usuário e anexou este usuário a base de dados.
Agora vamos criar uma nova tabela a este banco de dados.
Criando uma tabela simples:
CREATE TABLE `teste`.`tabela1` (
`tabela1_id` int(11) NULL auto_increment,
`campo1` text NULL,
PRIMARY KEY (`tabela1_id`)
) ENGINE=MyISAM;
Com este código, criamos a tabela1 dentro do banco teste que criamos acima.
- A tabela possui um campo do tipo inteiro (int) que pode ser nulo e tem a propriedade de se auto incrementar quando um novo registro é incluído.
- Possuí ainda um campo1 do tipo texto que pode ser nulo.
- A chave primaria (PRIMARY KEY) é o campo tabela1_id.
- A tabela é do tipo MyISAM.
DICA: Para padronizar suas bases e tabelas, eu indico sempre utilizar no nome dos campos e tabelas as seguintes informações:
- letras minúsculas;
- separação de palavras com underline (_);
- nome de campos e tabelas sempre no singular;
Com esta formatação você sempre manterá seus bancos em um padrão.
Criando uma tabela com índices:
CREATE TABLE `teste`.`tabela2` (
`tabela2_id` int(11) NULL auto_increment,
`nome` varchar(200) NULL DEFAULT '',
`ativo` tinyint(1) NULL DEFAULT 0,
PRIMARY KEY (`tabela2_id`),
INDEX `idx_0` (`ativo`)
) ENGINE=MyISAM;
Criamos uma tabela2 agora com um índice, chamado idx_0, explicação:
- A tabela possui um campo do tipo inteiro (int) que pode ser nulo e tem a propriedade de se auto incrementar quando um novo registro é incluído.
- Possuí ainda um nome do tipo varchar (caracteres variáveis) de tamanho máximo (200 caracteres) que pode ser nulo.
- Campo do tipo tinyint utilizado para verificar se um registro está ativo ou não. Utilizei tinyint de tamanho 1 para ficar mais rápido, este tinyint é o menor tipo de números inteiros. Tente sempre utilizar neste tipo de verificação, este campo do tipo tinyint, ajuda muito em termos de performace.
- A chave primaria (PRIMARY KEY) é o campo tabela2_id.
- Um índice chamado idx_0 que é o campo ativo. Este índice ajuda na performace, tornando as buscas mais rápidas. Este ativo estará na cláusula
WHERE de um
SELECT que fizermos, assim tornando mais rápidas as nossas buscas.
- A tabela é do tipo MyISAM.
Bom pessoal, ficamos por aqui, a próxima matéria sobre MySQL falarei sobre a criação de tabelas do tipo innoDB para criação de chaves estarngeiras.
Qualquer dúvida, sugestão de matéria comente abaixo, abraço a todos.
Existem alguns programas que fazem todo este trabalho acima,
confira aqui alguns.
Cesar
Publicado em: 25/09/2007 - 20:21
Legal muito bom para quem nao sabe. Acessem meu site precissamos de colunistas www.cliquemasters.com
Renanzim
Publicado em: 14/08/2008 - 09:06
Muito bom,pode se abstrair muita coisa..porem fica a desejar mais conteudo, focado sobre a materia do SQL..mais ficou legal