Manipulando tabelas no MySQL
Autor/fonte: Marcos Miras
E-mail/Url: http://www.vivaolinux.com.br/artigo/Introducao-ao-MySQL
Tags: [ mysql ]
Tweet
Bom, aprendemos a criar uma base, criar uma tabela e manipular dados dentro dessa estrutura, agora veremos algumas funções que podemos utilizar em nossa tabela.
Adicionando, renomeando e excluindo uma coluna na tabela
Pode acontecer que depois de você criar toda sua estrutura haja uma falha de raciocínio lógico e acabe esquecendo de alguma coluna, claro que é recomendável que crie uma estrutura num papel e depois execute-a para que tudo possa estar certinho, mas caso você não alertou para esse fato, pode resolver esse problema utilizando o "alter table":
Ou seja, estou dizendo para que ele modifique a tabela chamada "tabela1" adicionando o campo "sexo", com tipo de dado 1 caractere de texto, depois da coluna "email".
Podemos também atualizar um campo já existente de uma tabela:
Veja como a estrutura de nossa tabela mudou:
Para excluirmos uma coluna podemos utilizar o seguinte:
Bloqueando uma tabela
Em alguns casos é necessário que haja um bloqueio da tabela para determinada tarefa, isso ocorre em situações de transações, exportação de backup, alterações em grande volume de dados e assim adiante:
O comando acima faz com que só haja a leitura dessa tabela, entre as funções podemos mesclar o lock tables com:
Desbloqueando uma tabela:
Requer o flush para que todas as informações sobre índices sejam gravados em disco.
Adicionando, renomeando e excluindo uma coluna na tabela
Pode acontecer que depois de você criar toda sua estrutura haja uma falha de raciocínio lógico e acabe esquecendo de alguma coluna, claro que é recomendável que crie uma estrutura num papel e depois execute-a para que tudo possa estar certinho, mas caso você não alertou para esse fato, pode resolver esse problema utilizando o "alter table":
mysql> ALTER TABLE tabela1 ADD COLUMN sexo varchar(1) AFTER email;
Ou seja, estou dizendo para que ele modifique a tabela chamada "tabela1" adicionando o campo "sexo", com tipo de dado 1 caractere de texto, depois da coluna "email".
Podemos também atualizar um campo já existente de uma tabela:
mysql> ALTER TABLE tabela1 CHANGE email mail VARCHAR(40);
Veja como a estrutura de nossa tabela mudou:
mysql> DESC tabela1; +--------+----------------+-------+-----+---------+--------+ | Field | Type | Null | Key | Default | Extra | +--------+----------------+-------+-----+---------+--------+ | nome | varchar(20) | YES | | NULL | | | mail | varchar(40) | YES | | NULL | | | sexo | varchar(1) | YES | | NULL | | | data | date | YES | | NULL | | +--------+----------------+------+------+---------+--------+
Para excluirmos uma coluna podemos utilizar o seguinte:
mysql> ALTER TABLE tabela1 DROP sexo;
Bloqueando uma tabela
Em alguns casos é necessário que haja um bloqueio da tabela para determinada tarefa, isso ocorre em situações de transações, exportação de backup, alterações em grande volume de dados e assim adiante:
mysql> LOCK TABLES tabela1 READ;
O comando acima faz com que só haja a leitura dessa tabela, entre as funções podemos mesclar o lock tables com:
- READ - Como vimos, só deixa fazer consulta (ler);
- READ LOCAL - Permite que inserções não-conflitantes sejam realizadas (não funciona em tabelas InnoDB);
- WRITE - Permite que a thread que solicitou o bloqueio possa escrever e atualizar registros e as demais threads possam somente ler;
- LOW_PRIORITY WRITE - Bloqueia a tabela para inserção e alteração, permite que outros processos bloqueiem essa tabela para leitura. A thread que solicitar o bloqueio de escrita deverá esperar a thread que bloqueou a leitura acabe seu processamento.
Desbloqueando uma tabela:
mysql> UNLOCK TABLES; mysql> FLUSH TABLES;
Requer o flush para que todas as informações sobre índices sejam gravados em disco.
Enviado por xKuRt em 18/11/2008 às 16:06
Itens relacionados
Buscando intervalo de datas apenas pelo dia e mês no MySQL usando RIGHT()
Criando tabela e inserindo, atualizando e excluindo dados no MySQL
Tutorial MySQL: Juntando tabelas
Formatando saída de dados direto na query do MySQL
Otimização de aplicações MySQL - Parte 2
Exportar banco de dados SQLite para arquivo .sql e importar no MySQL
Configurando e utilizando MySQL no Arch Linux
MySQL Workbench no Slackware 14.0
Segurança e configuração no MySQL
Tutorial MySQL: Entrando no MySQL
Listar todos itens relacionados
Avaliação
Esta publicação ainda não foi avaliada!
A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.
Comentários
Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).
Envio de comentário:
Quarta, 19 de Junho de 2013
Área restrita
Leitura recomendada
Últimas publicações
Top 5 membros
- dddweb213 pts
- andersonop207 pts
- Jotah197 pts
- fbinasco165 pts
- fredbcn117 pts
Últimos membros online
- xKuRtem 19/06 às 06:02
- alexandrophpem 18/06 às 19:39
- andrieleem 18/06 às 17:14
Últimos membros cadastrados
- alexandrophpem 18/06
- andrieleem 18/06
- patoem 18/06





