MySQL – Principais Comandos MyQL

Tutorial Anterior > MySQL – Realização De Backups

MySQL logoNas edições anteriores mostramos como criar uma tabela, efetuar inclusões, alterações, exclusões e até mesmo backups.

Hoje vamos falar sobre um assunto prático, porém, que pode facilitar a todos os programadores que lêem estas matérias!

Não sei se você já passou por isso, mas… eu já passei por situações que apesar de saber programar, não sabia qual comando usar e quando encontrava em algum tutorial, não sabia porque usava (apenas copiava e colava).

Hoje vamos dar alguns exemplos de comandos MySQL, criando exemplos práticos de suas definições!

Para facilitar sua busca, vamos disponibilizar em ordem alfabética, ok?

- mysql_affect_rows:
Este comando tem o objetivo de retornar o número de linhas afetadas por uma consulta.

Exemplo:


$resultado = mysql_query($query);
if ($resultado && mysql_affect_rows() > 0){

OBS.: O mysql_affect_rows só será válido quando usado em “querys” que alterem o conteúdo da tabela (exemplo: insert ou update).

Para se efetuar consulta simples, indicamos os comandos select ou show, utilizando junto a estes o comando mysql_num_rows.

- mysql_close:
Este comando tem o objetivo de fechar a conexão com o banco de dados MySQL.

Exemplo:


$conexao = mysql_connect('servidor', 'usuariohost', 'senhahost');
if (!$conexao){ die 'Não pude conectar' . mysql_error()); }else { echo 'conexão ok'; }
mysql_close($conexao);<code>

OBS.: O comando mysql_close não irá fechar conexões persistentes criadas por mysql_pconnect().

- mysql_connect:
Este comando tem o objetivo de abrir a conexão com um banco de dados MySQL.

Exemplo: Está disponível no exemplo acima ( mysql_close ).

- mysql_create_db:
Este comando tem por objetivo criar um banco de dados MySQL.

Exemplo:


$conexao = mysql_connect('servidor', 'usuariohost', 'senhahost');
if (!$conexao){ die 'Não pude conectar' . mysql_error()); }
else {
if(mysql_create_db('basededados')){  echo “base de dados criada com sucesso”; }
else{ echo 'Error creating database: ' . mysql_error() . “n”;
} // fecha else {

OBS.: Indicamos ao invés de utilizar o mysql_create_db, usar o mysql_query, para fazer o comando CREATE DATABASE. Para compatibilidade com versões anteriores, o mysql_create_db também poderá ser utilizado, em todo caso, ela está obsoleta.

- mysql_data_seek:
Este comando tem por objetivo mover o ponteiro interno de uma consulta.

Exemplo:


$resultado = mysql_query($query);

for ($i = mysql_num_rows($resultado) – 1; $i >= 0; $i --){
if (!mysql_data_seek($resultado, $i)){
echo “Não pude mover para a linha $i” . mysql_error() . “n”;
continue;
} // fecha if (!mysql_data_seek($resultado, $i)){

xxx outros comandos xxx

}// fecha for ($i = mysql_num_rows($resultado) – 1; $i >= 0; $i --){

OBS.: A função mysql_data_seek() pode ser usada somente em conjunto com o mysql_query e não com o mysql_unbuffered_query().

- mysql_db_query:
Este comando tem por objetivo enviar uma consulta MySQL para a base de dados.

Exemplo:


$resultado = mysql_db_query(“$database”, $query);

OBS.: Esta função está obsoleta desde o PHP 4.0.6. Ao invés dela, aconselhamos utilizar os comandos mysql_select_db() e mysql_query().

- mysql_drop_db:
Utilizando este comando, você poderá excluir um banco de dados MySQL.

Exemplo:


$conexao = mysql_connect('servidor', 'usuariohost', 'senhahost');
if (!$conexao){ die 'Não pude conectar' . mysql_error()); }
else { if(mysql_drop_db(“basededados”)){ echo “base de dados excluída com sucesso”;
}// fecha if(mysql_drop_db(“basededados”)){
}// fecha if (!$conexao){

OBS.: Esta função também está obsoleta. Ao invés dela, é aconselhável utilizar o comando mysql_query.

- mysql_errno:
Este comando tem por finalidade retornar o número do erro da última chamada MySQL.

Exemplo:


$conexao = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!mysql_select_db("base de dados não existente", $conexao)) {
echo mysql_errno($conexao) . ": " . mysql_error($conexao). "n";
}

O exemplo acima vai imprimir algo assim: 1049: Unknown database 'base de dados não existente'

- mysql_error:
Este comando tem por finalidade retornar a mensagem de erro da última chamada MySQL.

Exemplo:


$conexao = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!mysql_select_db("base de dados não existente", $conexao)) {
echo mysql_errno($conexao) . ": " . mysql_error($conexao). "n";
}

O exemplo acima vai imprimir algo assim: 1049: Unknown database 'base de dados não existente'

- mysql_fetch_array:
Este comando tem por finalidade retornar o resultado de uma consulta como array.

Exemplo:


$resultado = mysql_query ($query);

$campo = mysql_fetch_array($resultado);
$variavel = $campo['campo'];

- mysql_fetch_field:
Este comando tem por finalidade retornar informações sobre um campo da consulta (objeto).

Exemplo:


mysql_connect('localhost:3306', $user, $password) or die ("Não pude conectar: " . mysql_error());
mysql_select_db("database");
$result = mysql_query("select * from table") or die("A query falhou: " . mysql_error());

$i = 0;
while ($i < mysql_num_fields($result)) { echo "Informação para a coluna $i:
n";
$meta = mysql_fetch_field($result,$i);
if (!$meta) { echo "Informação não disponivel
n"; }
echo "

blob:                $meta-&gt;blob
max_length:    $meta-&gt;max_length
multiple_key:  $meta-&gt;multiple_key
name:              $meta-&gt;name
not_null:         $meta-&gt;not_null
numeric:         $meta-&gt;numeric
primary_key:  $meta-&gt;primary_key
table:              $meta-&gt;table
type:               $meta-&gt;type
unique_key:   $meta-&gt;unique_key
unsigned:       $meta-&gt;unsigned
zerofill:          $meta-&gt;zerofill

";
$i++;
}
mysql_free_result($result);

- mysql_fetch_lengths:
Este comando tem por finalidade retornar o tamanho máximo de cada campo em uma consulta.

Exemplo:


$campo     = mysql_fetch_assoc($resultado);
$lengths = mysql_fetch_lengths($resultado);

print_r($campo);
print_r($lengths);

- mysql_fetch_object:
Este comando tem por finalidade retornar uma linha da consulta como um objeto.

Exemplo:


while($campo = mysql_fetch_object($resultado)){
echo $campo-&gt;Database . “n”;
}

- mysql_fetch_row:
Este comando tem por finalidade retornar uma linha da consulta como um array.

Exemplo:


$resultado = mysql_query ($query);

while($campo = mysql_fetch_row($resultado)){
$variavel = $campo ['campodatabela'];
}

- mysql_field_name:
Este comando tem por finalidade retornar o nome de um campo no consulta.

Exemplo:


$query = "select * from usuarios";
$resultado = mysql_query($query);

echo mysql_field_name($resultado, 0) . "n";
echo mysql_field_name($resultado, 2);

O exemplo acima retornará algo assim:

id_usuario
password

- mysql_field_seek:
Este comando posiciona o ponteiro para um campo específico da consulta.

Exemplo:


$query = "SELECT * FROM TABELA";
$resultado = mysql_query($query);

mysql_field_seek($resultado,3);
print_r(mysql_fetch_field($resultado));

mysql_close($conexao);

- mysql_field_table:
Este comando tem por finalidade retornar o nome da tabela à qual o campo pertence.

Exemplo:


$query = "SELECT * FROM TABELA";
$resultado = mysql_query($query);

$tabela = mysql_field_table($resultado, 0);
echo $tabela;

- mysql_field_type:
Este comando é similar ao mysql_field_name(). Quando executado, ele te possibilitar retornar o tipo de dado do campo.

Exemplo:


$query = "SELECT * FROM TABELA";
$resultado = ($query);

$fields = mysql_num_fields($resultado);

$table = mysql_field_table($resultado, 0);
echo "Sua '" . $table . "' tabela tem " . $fields . " campo(s)n";
for ($i=0; $i < $fields; $i++) {
$type = mysql_field_type($resultado, $i);
echo $type;
}

- mysql_field_flags:
Através deste comando você poderá retornar os flags associados a um campo da consulta.

Exemplo:


$query = "SELECT * FROM TABELA";
$resultado = ($query);

$fields = mysql_num_fields($resultado);

$table = mysql_field_table($resultado, 0);
echo "Sua '" . $table . "' tabela tem " . $fields . " campo(s)n";
for ($i=0; $i < $fields; $i++) {
$flags = mysql_field_flags($resultado, $i);
echo $flags . "n";
}

- mysql_field_len:
Utilizando este comando será possível retornar o tamanho de um campo da consulta.

Exemplo:


$query = "SELECT * FROM TABELA";
$resultado = ($query);

$fields = mysql_num_fields($resultado);

$table = mysql_field_table($resultado, 0);
echo "Sua '" . $table . "' tabela tem " . $fields . " campo(s)n";
for ($i=0; $i < $fields; $i++) {
$len = mysql_field_len($resultado, $i);
echo $len;
}

- mysql_free_result:
Utilizando este comando, você poderá liberar os recursos alocados a uma consulta.

deve ser chamado somente se você está preocupado em quanto da memória esta sendo usada na query num grande conjunto de resultados.

Exemplo:


$query = "SELECT * FROM TABELA";
$resultado = mysql_query($query);

while($campo = mysql_fetch_array($resultado)) {
$id_campo = $campo["id_campo"];
$nome = $campo["nome"];
$senha = $campo["senha"];
}
mysql_free_result($resultado);

- mysql_insert_id:
Utilizando este comando você poderá retornar o ID da última cláusula INSERT executada.

Exemplo:


$query = "INSERT INTO TABELA (produto) VALUES ('valor');
$resultado = mysql_query($query);

printf("A última inserção foi o id %dn", mysql_insert_id());

OBS.:
O comando mysql_insert_id() converte o tipo de retorno nativo da API em C do MySQL mysql_insert_id() para um tipo long (chamado int no PHP).

Se a sua coluna AUTO_INCREMENT for uma coluna do tipo BIGINT, o valor retornado por mysql_insert_id() será incorreto. Recomendo ao invés deste comando utilizar a função SQL interna do MySQL LAST_INSERT_ID() em uma consulta SQL.

- mysql_list_fields:
Através deste comando será possível retornar a relação de campos de uma consulta.

Exemplo:


$conexao = mysql_connect('localhost', 'usuariodomysql', 'senhadomysql');

$fields = mysql_list_fields("database", "tabela", $conexao);
$columns = mysql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
echo mysql_field_name($fields, $i) . "n";
}

- mysql_list_dbs:
Através deste comando será possível listar os bancos de dados disponíveis no Servidor.

Exemplo:


$conexao = mysql_connect ('servidor', 'usuariodoservidor', 'senhadoservidor');
$resultado = mysql_list_dbs($conexao);

while($campo = mysql_fetch_object($resultado)){
echo $campo->Database . “n”;
}

- mysql_list_tables:
Através deste comando será possível listar as tabelas existentes em um banco de dados MySQL.

Exemplo:


$nomedobd = 'nomedabasededados';

if (!mysql_connect('servidor', 'usuariodoservidor', 'senhadoservidor')){
echo 'Não foi possível conectar com o MySQL';
exit;
}
$resultado = mysql_list_tables($nomedobd);

- mysql_num_fields:
Através deste comando será possível retornar o número de campos de uma consulta.

Exemplo:


$query = "SELECT * FROM TABELA";
$resultado = ($query);

$campos = mysql_num_fields($resultado);
echo $campos;

- mysql_num_rows:
Através deste comando será possível retornar o número de linhas de uma consulta.

Exemplo:


$query = "SELECT * FROM TABELA";
$resultado = ($query);

$linhas = mysql_num_rows($resultado);
echo $linhas;

- mysql_pconnect:
Utilizando este comando você poderá estabelecer uma conexão persistente com o banco de dados.

Exemplo:


$conexao = mysql_pconnect('servidor', 'usuariohost', 'senhahost');

- mysql_query:
Um dos comandos mais utilizados do MySQL. Através deste comando você poderá enviar uma consulta SQL ao banco de dados MySQL.

Exemplo:


$query = “SELECT * FROM DATABASE”;
$resultado = mysql_query ($query);

- mysql_result:
Através deste comando você poderá retornar os dados de uma consulta.

Exemplo:

MySQL logo


$query = "SELECT * FROM TABELA";
$resultado = mysql_query($query);

$dominio = mysql_result($resultado, 0, "nome");

- mysql_select_db:
Utilizando este comando, você poderá selecionar um banco de dados MySQL.

Exemplo:

MySQL logo


$conexao = mysql_connect('localhost', 'usuariomysql', 'senhamysql');
if (!$conexao) { die('Não conectado : ' . mysql_error()); }

$db_selected = mysql_select_db('tabela', $conexao);
if (!$db_selected) { die ('Não pode usar a tabela : ' . mysql_error()); }

- mysql_tablename:
Este comando tem por finalidade retornar o nome da Tabela de um campo.

Exemplo:


mysql_connect (“servidor”, “usuariodoservidor”, “senhadoservidor”);
$resultado = mysql_list_tables(“basededados”);

for ($i = 0; $i < mysql_num_rows($resultado); $i++)
printf (“Tabela: %sn”, mysql_tablename($resultado, $i));

mysql_free_result($resultado);

Espero ter lhe ajudado em algo com esta matéria.

No início como Programador apanhei bastante, por não saber como estes comandos eram utilizados e o que eles faziam exatamente.

Creio que alguns dos exemplos acima certamente lhe serão úteis no dia a dia!

Envie-nos suas dúvidas e dê sugestões para as próximas matérias! Nosso compromisso é lhe ajudar!

Tutorial Seguinte > MySQL - Select Em 2 Ou Mais Tabelas

Be Sociable, Share!

3 Comentários

  1. doni

    preciso da resposta dece exercicio

    5. Exiba o nome do cliente e carro cuja inicial da placa seja igual a inicial do nome

    como fasso isso

    • Daniel Salles

      Se me permites, é só designar o nome do cliente, e com as iniciais desse nome, definir a placa, parece simples, não?

  2. Daniel Salles

    Vou baixar essa página aqui pessola, preciso aprender a dominar esses comandos, bom trabalho e obrigado!

Participa! Comenta...