Pesquisa de site

11 "Perguntas e respostas da entrevista" do banco de dados MySQL avançado para usuários Linux


Já publicamos dois artigos sobre MySQL, muito apreciados pela Comunidade Tecmint. Este é o terceiro artigo da série MySQL Interview e dezesseis na coluna Interview Genre.

  1. 15 perguntas básicas da entrevista sobre MySQL
  2. 10 perguntas da entrevista sobre banco de dados MySQL para intermediários

Chegamos até aqui por causa do seu apoio e buscamos o mesmo no futuro do seu fim. Aqui neste artigo iremos nos concentrar no aspecto prático do MySQL, a questão relevante para o aspecto da Entrevista.

1. Usando a instrução SELECT, encontre a versão do servidor que você está executando e imprima o nome do banco de dados atual?

Resposta: O comando MySQL abaixo mostrará a versão do servidor e o banco de dados atualmente selecionado.

mysql> SELECT VERSION(), DATABASE();

+-------------------------+------------+
| VERSION()               | DATABASE() |
+-------------------------+------------+
| 5.5.34-0ubuntu0.13.10.1 | NULL       |
+-------------------------+------------+
1 row in set (0.06 sec)

Na coluna do banco de dados está mostrando o valor NULL porque não selecionamos nenhum banco de dados. Portanto, selecione o banco de dados conforme mostrado no comando a seguir.

mysql> use Tecmint;

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select VERSION(), DATABASE();

+-------------------------+------------+
| VERSION()               | DATABASE() |
+-------------------------+------------+
| 5.5.34-0ubuntu0.13.10.1 | tecmint    |
+-------------------------+------------+
1 row in set (0.00 sec)
2. USE NOT Operador (!) para selecionar todos os usuários, exceto ‘SAM’ de uma tabela, diga ‘Tecmint’

Resposta: A instrução abaixo mostrará todas as colunas de todos os usuários da tabela 'Tecmint' exceto o usuário 'SAM'.

mysql> SELECT * FROM Tecmint WHERE user !=SAM;

+---------------------+---------+---------+---------+---------+-------+ 
| date                | user    | host 	 | root     | local   | size  | 
+---------------------+---------+---------+---------+---------+-------+ 
| 2001-05-14 14:42:21 | Anthony | venus  | barb     | venus   | 98151 | 
| 2001-05-15 08:50:57 | TIM     | venus  | phil     | venus   | 978   | 
+---------------------+---------+---------+---------+---------+-------+
3. É possível implementar ‘AND’ com o operador NOT (!).

Resposta: O operador AND é usado quando usamos (=) e o operador OR é usado quando usamos (!=). Um exemplo de (=) com operador AND.

mysql> SELECT * FROM mail WHERE user = SAM AND root = phil

Um exemplo de (!=) com operador OR.

mysql> SELECT * FROM mail WHERE user != SAM OR root != phil

+---------------------+---------+---------+---------+---------+-------+ 
| date                | user    | host    | root    | local   | size  | 
+---------------------+---------+---------+---------+---------+-------+ 
| 2001-05-14 14:42:21 | Anthony | venus   | barb    | venus   | 98151 | 
+---------------------+---------+---------+---------+---------+-------+
  1. = : significa igual a
  2. != : Diferente de
  3. ! : representa NÃO Operador

Os AND & OR são tratados como operadores de união no MySQL.

4. Para que a instrução IFNULL() é usada no MySQL?

Resposta: A consulta no MySQL pode ser escrita precisamente usando a instrução IFNULL(). A instrução IFNULL() testa seu primeiro argumento e retorna se não for NULL, ou retorna seu segundo argumento, caso contrário.

mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer;

+---------+---------+ 
| name 	  | id      | 
+---------+---------+ 
| bernina | 198-48  | 
| bertha  | Unknown | 
| ben     | Unknown | 
| bill    | 475-83  | 
+---------+---------+
5. Você deseja ver apenas determinadas linhas de um conjunto de resultados do início ou do final de um conjunto de resultados. Como você vai fazer isso?

Resposta: Precisamos usar a cláusula LIMIT junto com ORDER BY para atingir o cenário descrito acima.

Mostrar 1 registro
mysql> SELECT * FROM name LIMIT 1;

+----+------+------------+-------+----------------------+------+ 
| id | name | birth      | color | foods                | cats | 
+----+------+------------+-------+----------------------+------+ 
| 1  | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0    | 
+----+------+------------+-------+----------------------+------+
Mostrar 5 registros
mysql> SELECT * FROM profile LIMIT 5;

+----+------+------------+-------+-----------------------+------+ 
| id | name | birth      | color | foods                 | cats | 
+----+------+------------+-------+-----------------------+------+ 
| 1  | Fred | 1970-04-13 | black | lutefisk,fadge,pizza  | 0    | 
| 2  | Mort | 1969-09-30 | white | burrito,curry,eggroll | 3    | 
| 3  | Brit | 1957-12-01 | red   | burrito,curry,pizza   | 1    |   
| 4  | Carl | 1973-11-02 | red   | eggroll,pizza         | 4    | 
| 5  | Sean | 1963-07-04 | blue  | burrito,curry         | 5    | 
+----+------+------------+-------+-----------------------+------+
mysql> SELECT * FROM profile ORDER BY birth LIMIT 1;

+----+------+------------+-------+----------------+------+ 
| id | name | birth      | color | foods          | cats | 
+----+------+------------+-------+----------------+------+ 
| 9  | Dick | 1952-08-20 | green | lutefisk,fadge | 0    | 
+----+------+------------+-------+----------------+------+
6. Oracle versus MySQL. Qual e por quê?

Resposta: Bem, ambos têm suas vantagens e desvantagens. Por uma questão de tempo eu prefiro o MySQL.

Motivo da seleção MySQL em vez de oracle
  1. Mysql é FOSS.
  2. MySQL é portátil.
  3. MYSQL suporta GUI e prompt de comando.
  4. A administração do MySQL é suportada pelo Query Browser.
7. Como você obterá a data atual no MySQL?

Resposta: Obter a data atual no MySQL é tão simples quanto executar a instrução SELECT abaixo.

mysql> SELECT CURRENT_DATE();

+----------------+
| CURRENT_DATE() |
+----------------+
| 2014-06-17     |
+----------------+
8. Como você exportará tabelas como um arquivo XML no MySQL?

Resposta: Usamos a opção ‘-e’ (exportar) para exportar a tabela MySQL ou todo o banco de dados para um arquivo XML. Com tabelas grandes, podemos precisar implementá-lo manualmente, mas para tabelas pequenas, aplicativos como o phpMyAdmin podem fazer o trabalho.

Um comando nativo do MySQL pode fazer isso.

mysql -u USER_NAME –xml -e 'SELECT * FROM table_name' > table_name.xml

Onde USER_NAME é o nome de usuário do banco de dados, table_name é a tabela que estamos exportando para XML e table_name.xml é o arquivo xml onde os dados são armazenados.

9. O que é MySQL_pconnect? E como isso difere do MySQL_connect?

Resposta: MySQL_pconnect() abre uma conexão persistente com o banco de dados MySQL, o que significa simplesmente que o banco de dados não é aberto toda vez que a página é carregada e, portanto, não podemos use MySQL_close() para fechar uma conexão persistente.

Uma breve diferença entre MySQL_pconnect e MySQL_connect é.

Ao contrário do MySQL_pconnect, MySQL_connect – Abre o banco de dados toda vez que a página é carregada, que pode ser fechada a qualquer momento usando a instrução MySQL_close().

10. Você precisa mostrar todos os índices definidos em uma tabela, digamos ‘usuário’ do banco de dados, digamos ‘mysql’. Como você conseguirá isso?

Resposta: O comando a seguir mostrará todos os índices de uma tabela ‘usuário’.

mysql> show index from user;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | 
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
| user  |          0 | PRIMARY  |            1 | Host        | A         |        NULL |     NULL | NULL   |      | BTREE      |         |               | 
| user  |          0 | PRIMARY  |            2 | User        | A         |           4 |     NULL | NULL   |      | BTREE      |         |               | 
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
2 rows in set (0.00 sec)
11. O que são tabelas CSV?

Resposta: CSV significa Valores Separados por Vírgula, também conhecidos como Valores Separados por Caracteres. A tabela CSV armazena dados em texto simples e formato tabular. Normalmente contém um registro por linha.

Cada registro é separado por delimitadores específicos (vírgula, ponto e vírgula,…) onde cada registro possui a mesma sequência de campo. As tabelas CSV são mais amplamente usadas para armazenar contatos telefônicos para importação e exportação e podem ser usadas para armazenar qualquer tipo de dados de texto simples.

É tudo por agora. Estarei aqui novamente com outro artigo interessante, vocês vão adorar ler. Até então, fique atento e conectado à Tecmint e não se esqueça de nos fornecer seus valiosos comentários na seção de comentários abaixo.