Manipulando tabelas no MySQL


Autor/fonte: Marcos Miras
E-mail/Url: http://www.vivaolinux.com.br/artigo/Introducao-ao-MySQL
Tags: [ mysql ]



Digg del.icio.us

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":

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

Tutorial MySQL: Limitando o número de linhas da pesquisa
Sun lança o MySQL 5.4
Instalação do MySQL no Fedora
Conceitos rápidos sobre MySQL - Administração e utilização
Identificadores LowerCase em MySQL e Windows
Nova certificação MySQL
MARIA, o novo Storage Engine do MySQL
Tutorial MySQL: Excluindo tabelas
Importar e exportar todos os bancos de dados no MySQL usando "mysqldump" e "source"
Tutorial MySQL: Especificando um banco de dados para trabalhar

Listar todos itens relacionados

Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


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:




  

Domingo, 20 de Abril de 2014




Leitura recomendada

Linux - Controles de Redes

Top 5 membros

Últimos membros online

Últimos membros cadastrados



Capa do livro
Certificação Linux: Guia Para os Exames LPIC-1, CompTIA Linux+ e Novell Linux Administrator


Capa do livro
Use a Cabeça! JavaScript


Capa do livro
Invasão de Redes - Ataques e Defesas





Hostnet

IMD