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.
- 15 perguntas básicas da entrevista sobre MySQL
- 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 |
+---------------------+---------+---------+---------+---------+-------+
- = : significa igual a
- != : Diferente de
- ! : 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
- Mysql é FOSS.
- MySQL é portátil.
- MYSQL suporta GUI e prompt de comando.
- 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.